Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Release/2025 q1 into master #28

Merged
merged 120 commits into from
Jan 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
5beea2a
Merge pull request #7 from usdot-jpo-ode/master
dan-du-car Oct 7, 2024
f32e6f9
checking in current branch
Michael7371 Oct 21, 2024
d2dd672
updates from testing kafka connectors
Michael7371 Oct 29, 2024
d8d82d1
Removing Conflict Monitor Unique Components from index script
John-Wiens Oct 29, 2024
addb94c
updates to kafka connect variables
Michael7371 Oct 29, 2024
947f824
Merge branch 'kafka-connect-jikkou-testing' of github.com:usdot-jpo-o…
John-Wiens Oct 29, 2024
a145542
fixed mongo health check
Michael7371 Oct 29, 2024
cf44551
updates to create kafka connectors
Michael7371 Oct 29, 2024
c00a814
remove jikkou debug logs
Michael7371 Oct 29, 2024
00ceba7
Added supporting files for mongo config
John-Wiens Oct 30, 2024
69c5d6f
Merge branch 'kafka-connect-jikkou-testing' of github.com:usdot-jpo-o…
John-Wiens Oct 30, 2024
bb791b8
Fixed issues with mongo cron task
John-Wiens Oct 30, 2024
8b396c8
Merge pull request #8 from usdot-jpo-ode/kafka-connect-jikkou-testing
Michael7371 Oct 31, 2024
250007b
updates to allow for connect url configuration and change jikkou to s…
Michael7371 Oct 31, 2024
c5cffda
Merge pull request #9 from usdot-jpo-ode/kafka-connect-jikkou-testing
Michael7371 Oct 31, 2024
1e664f9
adding topic.FilteredOdeTimJson
Michael7371 Oct 31, 2024
044ac96
Merge pull request #10 from usdot-jpo-ode/new-topic
Michael7371 Oct 31, 2024
ef7bb41
updates to mongo and kafka connect
Michael7371 Oct 31, 2024
02203d1
Merge pull request #11 from usdot-jpo-ode/env-var-fixes
Michael7371 Oct 31, 2024
da3a82b
update keyfile generation to use env vars
Michael7371 Oct 31, 2024
37cb9f0
delete old keyfile implementation
Michael7371 Oct 31, 2024
8d61357
updates
Michael7371 Oct 31, 2024
20187c3
updates to keyfile gen
Michael7371 Nov 4, 2024
da59bea
Merge pull request #12 from usdot-jpo-ode/env-var-fixes
Michael7371 Nov 4, 2024
615efe4
Added Spat and ASN Tim Deduplication
John-Wiens Nov 7, 2024
7289570
renaming kafka folder to Jikkou
John-Wiens Nov 7, 2024
e7ddd86
chore: update kafka folder name to Jikkou
Michael7371 Nov 7, 2024
9f44b59
Add aggregation topics
iyourshaw Nov 9, 2024
08a2704
Topics
iyourshaw Nov 9, 2024
e368226
Merge pull request #13 from usdot-jpo-ode/processed-spat-dedup
John-Wiens Nov 13, 2024
705b824
Adding DB entries for Progression Events
John-Wiens Nov 19, 2024
fbb59cc
Adding Collection back in
John-Wiens Nov 20, 2024
71ebdf2
Add more aggregation topics
iyourshaw Nov 25, 2024
f138cf7
Merge remote-tracking branch 'origin/cimms-event-aggregation-topics' …
iyourshaw Nov 27, 2024
2b690f1
notification and message count agg topics
iyourshaw Dec 4, 2024
690812c
updating conflict monitor connectors to convert timestamp instead of …
Michael7371 Dec 4, 2024
df3a4d8
Merge pull request #16 from usdot-jpo-ode/cm-jikkou-connectors-fix
Michael7371 Dec 5, 2024
b135dd2
Merge branch 'develop' of github.com:usdot-jpo-ode/jpo-utils into pro…
John-Wiens Dec 5, 2024
2c4974f
Merge pull request #14 from usdot-jpo-ode/progression-events
John-Wiens Dec 5, 2024
3833c09
Connector configs
iyourshaw Dec 5, 2024
f97569c
Resolve conflicts
iyourshaw Dec 5, 2024
4f8ec12
Fix merged file
iyourshaw Dec 5, 2024
4d79b51
chore: make kafka_init.sh executable via git so its copied with exec …
mcook42 Dec 11, 2024
33e8742
chore: make kafka_connector_init.sh executable via git so its copied …
mcook42 Dec 11, 2024
a84a3e7
chore: make setup_mongo.sh executable via git
mcook42 Dec 11, 2024
44bbec8
Merge pull request #17 from CDOT-CV/mcook42/kafka-init-executable-usdot
Michael7371 Dec 12, 2024
6eae7be
Add aggregation events/notifications to mongo/create_indexes.js
iyourshaw Dec 12, 2024
2295722
Adding JPO-Deduplicator to jpo-utils
John-Wiens Dec 13, 2024
0d676c9
Dockerfile Build fixes
John-Wiens Dec 13, 2024
e2dc9f0
Testing Dockerhub build
John-Wiens Dec 13, 2024
5094fc4
updated docker context location
John-Wiens Dec 13, 2024
e53dc59
Setting dockerhub build back to release mode
John-Wiens Dec 13, 2024
f9c9bb6
Added Configurable Deduplication
John-Wiens Dec 13, 2024
a7e94c7
Merge pull request #15 from usdot-jpo-ode/cimms-event-aggregation-topics
John-Wiens Dec 13, 2024
d66d7e8
Updated readme entry for jpo-deduplicator
John-Wiens Dec 16, 2024
b3b9a9b
fixing the collectionName for topic.OdeRawEncodedTIMJson
Michael7371 Dec 16, 2024
3108295
fix source topic for topic.DeduplicatedOdeRawEncodedTIMJson
Michael7371 Dec 16, 2024
c9344ad
Merge pull request #18 from usdot-jpo-ode/jpo-deduplicator
John-Wiens Dec 16, 2024
71244ed
updates to .gitignore to ignore auto IDE builds of the deduplicator f…
Michael7371 Dec 19, 2024
d8f1b30
updates to just ignore the build folder
Michael7371 Dec 19, 2024
4d76447
Delete build-info.properties
Michael7371 Dec 19, 2024
6e701ef
Merge pull request #2 from usdot-jpo-ode/develop
Michael7371 Dec 23, 2024
c5985ab
Updated Deduplicator for Compatibility with ode 4.0
John-Wiens Dec 23, 2024
3c7e1de
Updated deduplicator to 2.0.0 version of GeoJson Converter
John-Wiens Dec 24, 2024
3f21b0b
Merge pull request #3 from CDOT-CV/deduplicator--ode-4.0-compatibility
John-Wiens Dec 24, 2024
e9b6079
Combine GitHub Maven repositories to 1 wildcard repository to help wi…
Michael7371 Dec 24, 2024
730cf1d
adding docker caching to github actions
Michael7371 Dec 24, 2024
e744091
enable bsm deduplication by default
Michael7371 Dec 30, 2024
bce643b
updating settings.xml for faster build times
Michael7371 Dec 30, 2024
5de1dde
Merge pull request #4 from CDOT-CV/enable-bsm-deduplication
drewjj Dec 30, 2024
96d7234
adding missing cm topic
Michael7371 Jan 2, 2025
2c46120
Merge pull request #21 from usdot-jpo-ode/fix/adding-missing-cm-topic
Michael7371 Jan 2, 2025
76699cf
sets default credentials in sample.env for required variables
Michael7371 Jan 8, 2025
bfc5f9d
updates to have the deduplicator dockerfile check if build arguments …
Michael7371 Jan 8, 2025
974f8d9
setting default mongo passwords in sample.env
Michael7371 Jan 8, 2025
4b6c7a7
Merge pull request #22 from usdot-jpo-ode/set-default-credentials
Michael7371 Jan 8, 2025
3f9cd00
adding missing ode topics
Michael7371 Jan 8, 2025
06248a4
remove disabled topics
Michael7371 Jan 9, 2025
6699a42
Merge pull request #23 from usdot-jpo-ode/kafka/add-missing-ode-topics
Michael7371 Jan 9, 2025
3494fde
Merge branch 'develop' of github.com:usdot-jpo-ode/jpo-utils into dev…
John-Wiens Jan 9, 2025
1c4b5bf
Adding index for Conflict monitor Reporting
John-Wiens Jan 9, 2025
ae16bc5
Merge pull request #24 from usdot-jpo-ode/index-updates
John-Wiens Jan 9, 2025
0c5f4e1
fixes to kafka-setup to include mec flag
Michael7371 Jan 9, 2025
9393457
Merge remote-tracking branch 'upstream/develop' into usdot-sync
Michael7371 Jan 9, 2025
a4cb454
Merge pull request #5 from CDOT-CV/usdot-sync
Michael7371 Jan 9, 2025
c92e356
Merge branch 'develop' into config/jpo-mec-deposit
Michael7371 Jan 9, 2025
b89ac3b
removal of depends on requirements and updating mongo health check
Michael7371 Jan 9, 2025
2ef6d89
Merge pull request #6 from usdot-jpo-ode/config/jpo-mec-deposit
Michael7371 Jan 9, 2025
df6d067
updating version for kafka ui to latest release
Michael7371 Jan 15, 2025
196b67d
Merge pull request #25 from usdot-jpo-ode/kafka-ui-version-bump
Michael7371 Jan 15, 2025
6585510
Updated TIM Deduplicator for New TIM message format
John-Wiens Jan 20, 2025
a034596
Merge branch 'develop' of github.com:usdot-jpo-ode/jpo-utils into tim…
John-Wiens Jan 20, 2025
59e54dd
Merge branch 'develop' of github.com:CDOT-CV/jpo-utils into tim-compa…
John-Wiens Jan 20, 2025
9200ca1
Creating 2025 jpo-utils release
John-Wiens Jan 20, 2025
4735fbf
Fix unit tests
John-Wiens Jan 20, 2025
f26ab9e
Adding CI/CD to jpo-utils
John-Wiens Jan 20, 2025
c20d96b
Changing name in CI
John-Wiens Jan 20, 2025
23cbc12
Removed unneccesary components of CI/CD
John-Wiens Jan 20, 2025
6ef65cd
updating CI
Michael7371 Jan 21, 2025
0c511d8
fixing jikkou build failure and adding jikkou and kafka connect to do…
Michael7371 Jan 21, 2025
8a5590c
fix CI for jikkou dockerfile
Michael7371 Jan 21, 2025
69113ca
fix to Jikkou CI
Michael7371 Jan 21, 2025
6f45623
Merge pull request #7 from CDOT-CV/tim-compatibility
Michael7371 Jan 21, 2025
1ae6da5
Merge pull request #8 from CDOT-CV/release_2025-q1
John-Wiens Jan 21, 2025
9a00daa
Adding Full Enhancements list
John-Wiens Jan 21, 2025
735ecb1
Merge pull request #9 from CDOT-CV/release_2025-q1
John-Wiens Jan 21, 2025
7c99f8c
updating topics for the jpo-mec-deposit module
Michael7371 Jan 14, 2025
2596542
updating metrics kafka config
Michael7371 Jan 14, 2025
1e78b6a
removal of jpo-deduplicator as it is going to it's own repo
Michael7371 Jan 24, 2025
a0bcfed
update default kafka topics
Michael7371 Jan 24, 2025
e613651
update release notes
Michael7371 Jan 24, 2025
0e2bc5e
removal of deduplicator CI
Michael7371 Jan 24, 2025
2a625d5
removal of deduplicator compose profile
Michael7371 Jan 24, 2025
551e09f
revert env file testing
Michael7371 Jan 24, 2025
7183174
Merge pull request #10 from CDOT-CV/jpo-deduplicator-removal
Michael7371 Jan 24, 2025
f36c6cf
Merge pull request #26 from CDOT-CV/develop
Michael7371 Jan 25, 2025
81be3c4
updates to jikkou image build
Michael7371 Jan 25, 2025
5069ab5
more fixes
Michael7371 Jan 25, 2025
0385cd3
Merge pull request #27 from usdot-jpo-ode/fix/jikkou-ci-fixes
Michael7371 Jan 27, 2025
dd61d2e
addition to release notes for merged changes
Michael7371 Jan 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Docker build

on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
jpo-jikkou:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build
uses: docker/build-push-action@v3
with:
context: jikkou
file: jikkou/Dockerfile.jikkou
cache-from: type=gha
cache-to: type=gha,mode=max

jpo-kafka-connect:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build
uses: docker/build-push-action@v3
with:
context: kafka-connect
cache-from: type=gha
cache-to: type=gha,mode=max
62 changes: 62 additions & 0 deletions .github/workflows/dockerhub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: "DockerHub Build and Push"

on:
push:
branches:
- "develop"
- "master"
- "release/*"

jobs:
dockerhub-jpo-jikkou:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Replace Docker tag
id: set_tag
run: echo "TAG=$(echo ${GITHUB_REF##*/} | sed 's/\//-/g')" >> $GITHUB_ENV

- name: Build
uses: docker/build-push-action@v3
with:
context: jikkou
file: jikkou/Dockerfile.jikkou
push: true
tags: usdotjpoode/jpo-jikkou:${{ env.TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max

dockerhub-jpo-kafka-connect:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Replace Docker tag
id: set_tag
run: echo "TAG=$(echo ${GITHUB_REF##*/} | sed 's/\//-/g')" >> $GITHUB_ENV

- name: Build
uses: docker/build-push-action@v3
with:
context: kafka-connect
push: true
tags: usdotjpoode/jpo-kafka-connect:${{ env.TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
**/.env
**/.env

**/target
69 changes: 47 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ The JPO ITS utilities repository serves as a central location for deploying open
- [Quick Run](#quick-run-1)
- [4. MongoDB Kafka Connect](#4-mongodb-kafka-connect)
- [Configuration](#configuration)
- [Configure Kafka Connector Creation](#configure-kafka-connector-creation)
- [Quick Run](#quick-run-2)
- [Security Notice](#security-notice)


<a name="base-configuration"></a>
Expand Down Expand Up @@ -88,7 +90,7 @@ An optional `kafka-init`, `schema-registry`, and `kafka-ui` instance can be depl

### Configure Topic Creation

The Kafka topics created by the `kafka-setup` service are configured in the [kafka-topics-values.yaml](kafka/kafka-topics-values.yaml) file. The topics in that file are organized by the application, and sorted into "Stream Topics" (those with `cleanup.policy` = `delete`) and "Table Topics" (with `cleanup.policy` = `compact`).
The Kafka topics created by the `kafka-setup` service are configured in the [kafka-topics-values.yaml](jikkou/kafka-topics-values.yaml) file. The topics in that file are organized by the application, and sorted into "Stream Topics" (those with `cleanup.policy` = `delete`) and "Table Topics" (with `cleanup.policy` = `compact`).

The following enviroment variables can be used to configure Kafka Topic creation.

Expand All @@ -103,8 +105,7 @@ The following enviroment variables can be used to configure Kafka Topic creation
| `KAFKA_TOPIC_MIN_INSYNC_REPLICAS` | Minumum number of in-sync replicas (for use with ack=all) |
| `KAFKA_TOPIC_RETENTION_MS` | Retention time for stream topics, milliseconds |
| `KAFKA_TOPIC_DELETE_RETENTION_MS` | Tombstone retention time for compacted topics, milliseconds |


| `KAFKA_TOPIC_CONFIG_RELATIVE_PATH` | Relative path to the Kafka topic yaml configuration script, upper level directories are supported |

### Quick Run

Expand All @@ -121,34 +122,49 @@ The following enviroment variables can be used to configure Kafka Topic creation
<a name="mongodb-kafka-connect"></a>

## 4. MongoDB Kafka Connect
The mongo-connector service connects to specified Kafka topics (as defined in the mongo-connector/connect_start.sh script) and deposits these messages to separate collections in the MongoDB Database. The codebase that provides this functionality comes from Confluent using their community licensed [cp-kafka-connect image](https://hub.docker.com/r/confluentinc/cp-kafka-connect). Documentation for this image can be found [here](https://docs.confluent.io/platform/current/connect/index.html#what-is-kafka-connect).
The mongo-connector service connects to specified Kafka topics and deposits these messages to separate collections in the MongoDB Database. The codebase that provides this functionality comes from Confluent using their community licensed [cp-kafka-connect image](https://hub.docker.com/r/confluentinc/cp-kafka-connect). Documentation for this image can be found [here](https://docs.confluent.io/platform/current/connect/index.html#what-is-kafka-connect).

### Configuration
Provided in the mongo-connector directory is a sample configuration shell script ([connect_start.sh](./kafka-connect/connect_start.sh)) that can be used to create kafka connectors to MongoDB. The connectors in kafka connect are defined in the format that follows:

``` shell
declare -A config_name=([name]="topic_name" [collection]="mongo_collection_name"
[convert_timestamp]=true [timefield]="timestamp" [use_key]=true [key]="key" [add_timestamp]=true)
```

The format above describes the basic configuration for configuring a sink connector, this should be placed at the beginning of the connect_start.sh file. In general we recommend to keep the MongoDB collection name the same as the topic name to avoid confusion. Additionally, if there is a top level timefield set `convert_timestamp` to true and then specify the time field name that appears in the message. This will allow MongoDB to transform that message into a date object to allow for TTL creation and reduce message size. To override MongoDB's default message `_id` field, set `use_key` to true and then set the `key` property to "key". The "add_timestamp" field defines whether the connector will add a auto generated timestamp to each document. This allows for creation of Time To Live (TTL) indexes on the collections to help limit collection size growth.

After the sink connector is configured above, then make sure to call the createSink function with the config_name of the configuration like so:

``` shell
createSink config_name
```

This needs to be put after the createSink function definition. To use a different `connect_start.sh` script, pass in the relative path of the new script by overriding the `CONNECT_SCRIPT_RELATIVE_PATH` environmental variable.
Kafka connectors are managed by the

Set the `COMPOSE_PROFILES` environmental variable as follows:

- `kafka_connect` will only spin up the `kafka-connect` service in [docker-compose-connect](docker-compose-connect.yml)
- `kafka_connect` will only spin up the `kafka-connect` and `kafka-init` services in [docker-compose-connect](docker-compose-connect.yml)
- NOTE: This implies that you will be using a separate Kafka and MongoDB cluster
- `kafka_connect_standalone` will run the following:
1. `kafka-connect` service from [docker-compose-connect](docker-compose-connect.yml)
2. `kafka` service from [docker-compose-kafka](docker-compose-kafka.yml)
3. `mongo` and `mongo-setup` services from [docker-compose-mongo](docker-compose-mongo.yml)
2. `kafka-init` service from [docker-compose-connect](docker-compose-connect.yml)
3. `kafka` service from [docker-compose-kafka](docker-compose-kafka.yml)
4. `mongo` and `mongo-setup` services from [docker-compose-mongo](docker-compose-mongo.yml)

### Configure Kafka Connector Creation

The Kafka connectors created by the `kafka-connect-setup` service are configured in the [kafka-connectors-values.yaml](jikkou/kafka-connectors-values.yaml) file. The connectors in that file are organized by the application, and given parameters to define the Kafka -> MongoDB sync connector:

| Connector Variable | Required | Condition | Description|
|---|---|---|---|
| `topicName` | Yes | Always | The name of the Kafka topic to sync from |
| `collectionName` | Yes | Always | The name of the MongoDB collection to write to |
| `generateTimestamp` | No | Optional | Enable or disable adding a timestamp to each message (true/false) |
| `connectorName` | No | Optional | Override the name of the connector from the `collectionName` to this field instead |
| `useTimestamp` | No | Optional | Converts the `timestampField` field at the top level of the value to a BSON date |
| `timestampField` | No | Required if `useTimestamp` is `true` | The name of the timestamp field at the top level of the message |
| `useKey` | No | Optional | Override the document `_id` field in MongoDB to use a specified `keyField` from the message |
| `keyField` | No | Required if `useKey` is `true` | The name of the key field |

The following environment variables can be used to configure Kafka Connectors:

| Environment Variable | Description |
|---|---|
| `CONNECT_URL` | Kafka connect API URL |
| `CONNECT_LOG_LEVEL` | Kafka connect log level (`OFF`, `ERROR`, `WARN`, `INFO`) |
| `CONNECT_TASKS_MAX` | Number of concurrent tasks to configure on kafka connectors |
| `CONNECT_CREATE_ODE` | Whether to create kafka connectors for the ODE |
| `CONNECT_CREATE_GEOJSONCONVERTER` | Whether to create topics for the GeojsonConverter |
| `CONNECT_CREATE_CONFLICTMONITOR` | Whether to create kafka connectors for the Conflict Monitor |
| `CONNECT_CREATE_DEDUPLICATOR` | Whether to create topics for the Deduplicator |
| `CONNECT_CONFIG_RELATIVE_PATH` | Relative path to the Kafka connector yaml configuration script, upper level directories are supported |

### Quick Run

Expand All @@ -171,3 +187,12 @@ Set the `COMPOSE_PROFILES` environmental variable as follows:
8. Feel free to test this with other topics or by producing to these topics using the [ODE](https://github.com/usdot-jpo-ode/jpo-ode)

[Back to top](#toc)

## Security Notice

While default passwords are provided for development convenience, it is **strongly recommended** to:

1. Change all passwords before deploying to any environment
2. Never use default passwords in production
3. Use secure password generation and management practices
4. Consider using Docker secrets or environment management tools for production deployments
61 changes: 51 additions & 10 deletions docker-compose-connect.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,73 @@ services:
memory: 4G
ports:
- "8083:8083"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8083/connectors"]
interval: 30s
timeout: 10s
retries: 4
depends_on:
mongo:
condition: service_healthy
required: false
kafka:
condition: service_healthy
required: false
environment:
MONGO_URI: ${MONGO_URI}
MONGO_DB_NAME: ${MONGO_DB_NAME}
CONNECT_BOOTSTRAP_SERVERS: ${KAFKA_BOOTSTRAP_SERVERS}
CONNECT_REST_ADVERTISED_HOST_NAME: connect
CONNECT_REST_PORT: 8083
CONNECT_GROUP_ID: kafka-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: topic.kafka-connect-configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_CONFIG_STORAGE_CLEANUP_POLICY: compact
# Topics are created with jikkou in the kafka-setup service
CONNECT_CONFIG_STORAGE_TOPIC: topic.KafkaConnectConfigs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: -1
CONNECT_OFFSET_FLUSH_INTERVAL_MS: 10000
CONNECT_OFFSET_STORAGE_TOPIC: topic.kafka-connect-offsets
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_TOPIC: topic.KafkaConnectOffsets
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: -1
CONNECT_OFFSET_STORAGE_CLEANUP_POLICY: compact
CONNECT_STATUS_STORAGE_TOPIC: topic.kafka-connect-status
CONNECT_STATUS_STORAGE_TOPIC: topic.KafkaConnectStatus
CONNECT_STATUS_STORAGE_CLEANUP_POLICY: compact
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: -1
CONNECT_KEY_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
CONNECT_VALUE_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
CONNECT_INTERNAL_KEY_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
CONNECT_INTERNAL_VALUE_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
CONNECT_LOG4J_ROOT_LOGLEVEL: ${CONNECT_LOG_LEVEL}
CONNECT_LOG4J_LOGGERS: "org.apache.kafka.connect.runtime.rest=${CONNECT_LOG_LEVEL},org.reflections=${CONNECT_LOG_LEVEL},com.mongodb.kafka=${CONNECT_LOG_LEVEL}"
CONNECT_PLUGIN_PATH: /usr/share/confluent-hub-components

kafka-connect-setup:
profiles:
- all
- kafka_connect
- kafka_connect_standalone
- kafka_connect_setup
image: jpo-jikkou
build:
context: jikkou
dockerfile: Dockerfile.jikkou
entrypoint: ./kafka_connector_init.sh
restart: on-failure
deploy:
resources:
limits:
cpus: '0.5'
memory: 1G
depends_on:
kafka-connect:
condition: service_healthy
required: false
environment:
CONNECT_URL: ${CONNECT_URL}
CONNECT_TASKS_MAX: ${CONNECT_TASKS_MAX}
CONNECT_CREATE_ODE: ${CONNECT_CREATE_ODE}
CONNECT_CREATE_GEOJSONCONVERTER: ${CONNECT_CREATE_GEOJSONCONVERTER}
CONNECT_CREATE_CONFLICTMONITOR: ${CONNECT_CREATE_CONFLICTMONITOR}
CONNECT_CREATE_DEDUPLICATOR: ${CONNECT_CREATE_DEDUPLICATOR}
CONNECT_CREATE_MECDEPOSIT: ${CONNECT_CREATE_MECDEPOSIT}
MONGO_CONNECTOR_USERNAME: ${MONGO_ADMIN_DB_USER}
MONGO_CONNECTOR_PASSWORD: ${MONGO_ADMIN_DB_PASS:?}
MONGO_DB_IP: ${MONGO_IP}
MONGO_DB_NAME: ${MONGO_DB_NAME}
volumes:
- ${CONNECT_SCRIPT_RELATIVE_PATH}:/scripts/connect_start.sh
- ${CONNECT_CONFIG_RELATIVE_PATH-./jikkou/kafka-connectors-values.yaml}:/app/kafka-connectors-values.yaml
Loading
Loading