Skip to content

Commit 8d558ff

Browse files
drewjjJohn-Wiensjacob6838Michael7371iyourshaw
authored
Release/2025 q3 (usdot-jpo-ode#52)
* Adding in new environment variable for configuring Kafka Segment Length * Adding some descriptive text on Kafka Log rotation principles * Add topics for revocable lane events * Adding in RSU status Connector to Jikkou * Adding in RSU Status connector * Removing Mongo Index Env vars * Add notification topics * Update Kafka and Kafka connectors with RTCM * Adding Connectors and Indexes for Revocable Lanes * Adding docs and scripts for how to manage data in mongoDB * Add jpo-ode RSM topics to Jikkou * rtcm topics * Remove RawEncodedTimJson from MongoDB and the Deduplicator connectors * Remove OdeRawEncoded connectors * Adding additionalIndexes generator and OdeBsmJson index * Add topics * cimms priority/preemption event topic * Add to mongo script * add processed ssm/srm connectors and mongo collections * Update release notes for 2025 q3 release * Update bitnami kafka * Update release notes to be accurate with PR number * Add note regarding intention to switch to official kafka image * Minor PR fixes * Adding sample output for storage management readme. --------- Co-authored-by: john-wiens <[email protected]> Co-authored-by: jacob6838 <[email protected]> Co-authored-by: jacob6838 <[email protected]> Co-authored-by: Michael7371 <[email protected]> Co-authored-by: Ivan Yourshaw <[email protected]>
1 parent 488a918 commit 8d558ff

16 files changed

+271
-68
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Where the `COMPOSE_PROFILES` variable in you're `.env` file are as follows:
8383

8484
## 3. Kafka
8585

86-
The [Bitnami Kafka](https://hub.docker.com/r/bitnami/kafka) is being used as a hybrid controller and broker in the [docker-compose-kafka](docker-compose-kafka.yml) file. To use a different `kafka_init.sh` script, pass in the relative path of the new script by overriding the `KAFKA_INIT_SCRIPT_RELATIVE_PATH` environmental variable. This can help in initializing new topics at startup.
86+
The [Bitnami Legacy Kafka](https://hub.docker.com/r/bitnamilegacy/kafka) is being used as a hybrid controller and broker in the [docker-compose-kafka](docker-compose-kafka.yml) file. To use a different `kafka_init.sh` script, pass in the relative path of the new script by overriding the `KAFKA_INIT_SCRIPT_RELATIVE_PATH` environmental variable. This can help in initializing new topics at startup. Note: the intention for the future is to switch this to use the official Apache Kafka image since Bitnami is no longer a reliable image provider.
8787

8888
An optional `kafka-init`, `schema-registry`, and `kafka-ui` instance can be deployed by configuring the `COMPOSE_PROFILES` as follows:
8989

@@ -93,6 +93,10 @@ An optional `kafka-init`, `schema-registry`, and `kafka-ui` instance can be depl
9393
- `kafka_schema_registry` - deploys a `kafka-schema-registry` service that can be used to manage schemas for kafka topics
9494
- `kafka_ui` - deploys a [web interface](https://github.com/kafbat/kafka-ui) to interact with the kafka cluster
9595

96+
### Kafka Topic Log Retention and Rotation
97+
98+
During operation, Kafka stores all the messages published to topics in files called logs. These logs are stored on the host system and can quickly become quite large for deployments with real CV volumes of data. A kafka log may be split across multiple files called segments. Each segment is limited in size based upon the KAFKA_LOG_SEGMENT_BYTES environment variable. The number of segments stored is variable but collectively, the total volume of all segments for 1 partition will not exceed the value specified in KAFKA_LOG_RETENTION_BYTES. When Kafka needs to delete data, either because the total KAFKA_LOG_RETENTION_BYTES is exceeded or because data in the oldest segment exceeds the KAFKA_LOG_RETENTION_HOURS an entire segment file will be deleted. Please note, Kafka will never delete the active log segment. So even if the data is far older than the value specified in KAFKA_LOG_RETENTION_HOURS the data may not be deleted if there is not enough data to fill up the segment and cause the creation of a new log segment. Additionally, please note that the values specified in KAFKA_LOG_RETENTION_BYTES and KAFKA_LOG_SEGMENT_BYTES are on a per topic per partition basis. So for a deployment with multiple partitions and topics, the total used storage will likely become quite large even for what may seem like small individual log and segment sizes. When configuring the KAFKA_LOG_SEGMENT_BYTES and KAFKA_LOG_RETENTION_BYTES variables. Make sure that the KAFKA_LOG_RETENTION_BYTES is larger than the KAFKA_LOG_SEGMENT_BYTES. If the value is not larger, Kafka will not be able to generate a new log segment before needing to rotate the logs which will lead to unpredictable behavior.
99+
96100
### Configure Topic Creation
97101

98102
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`).

docker-compose-connect.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ services:
7878
CONNECT_CREATE_ODE: ${CONNECT_CREATE_ODE:-true}
7979
CONNECT_CREATE_GEOJSONCONVERTER: ${CONNECT_CREATE_GEOJSONCONVERTER:-true}
8080
CONNECT_CREATE_CONFLICTMONITOR: ${CONNECT_CREATE_CONFLICTMONITOR:-true}
81+
CONNECT_CREATE_INTERSECTION_API: ${CONNECT_CREATE_INTERSECTION_API:-true}
8182
CONNECT_CREATE_DEDUPLICATOR: ${CONNECT_CREATE_DEDUPLICATOR:-false}
8283
CONNECT_CREATE_MECDEPOSIT: ${CONNECT_CREATE_MECDEPOSIT:-false}
8384
MONGO_CONNECTOR_USERNAME: ${MONGO_ADMIN_DB_USER:-admin}

docker-compose-kafka.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services:
55
- kafka_connect_standalone
66
- kafka_full
77
- kafka
8-
image: bitnami/kafka:3.8.0
8+
image: bitnamilegacy/kafka:3.8.0
99
hostname: kafka
1010
restart: ${RESTART_POLICY:-on-failure:3}
1111
healthcheck:
@@ -37,6 +37,7 @@ services:
3737
KAFKA_CFG_DELETE_TOPIC_ENABLE: "true"
3838
KAFKA_CFG_LOG_RETENTION_HOURS: ${KAFKA_LOG_RETENTION_HOURS:-3}
3939
KAFKA_CFG_LOG_RETENTION_BYTES: ${KAFKA_LOG_RETENTION_BYTES:-10737418240}
40+
KAFKA_CFG_LOG_SEGMENT_BYTES: ${KAFKA_LOG_SEGMENT_BYTES:-1073741824}
4041
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
4142
logging:
4243
options:
@@ -69,6 +70,7 @@ services:
6970
KAFKA_TOPIC_CREATE_CONFLICTMONITOR: ${KAFKA_TOPIC_CREATE_CONFLICTMONITOR:-true}
7071
KAFKA_TOPIC_CREATE_DEDUPLICATOR: ${KAFKA_TOPIC_CREATE_DEDUPLICATOR:-false}
7172
KAFKA_TOPIC_CREATE_MECDEPOSIT: ${KAFKA_TOPIC_CREATE_MECDEPOSIT:-false}
73+
KAFKA_TOPIC_CREATE_INTERSECTION_API: ${KAFKA_TOPIC_CREATE_INTERSECTION_API:-true}
7274

7375
KAFKA_BOOTSTRAP_SERVERS: ${KAFKA_BOOTSTRAP_SERVERS:-kafka:9092}
7476
KAFKA_TOPIC_PARTITIONS: ${KAFKA_TOPIC_PARTITIONS:-1}

docker-compose-mongo.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ services:
6464
- kafka_connect_standalone
6565
- mongo_full
6666
- mongo
67+
- mongo_setup
6768
image: mongo:8
6869
hostname: mongo_setup
6970
depends_on:
@@ -92,10 +93,10 @@ services:
9293

9394
MONGO_SAMPLE_DATA_RELATIVE_PATH: ${MONGO_SAMPLE_DATA_RELATIVE_PATH:-./mongo/dump}
9495

95-
MONGO_INDEX_CREATE_ODE: ${MONGO_INDEX_CREATE_ODE:-true}
96-
MONGO_INDEX_CREATE_GEOJSONCONVERTER: ${MONGO_INDEX_CREATE_GEOJSONCONVERTER:-true}
97-
MONGO_INDEX_CREATE_CONFLICTMONITOR: ${MONGO_INDEX_CREATE_CONFLICTMONITOR:-true}
98-
MONGO_INDEX_CREATE_DEDUPLICATOR: ${MONGO_INDEX_CREATE_DEDUPLICATOR:-false}
96+
CONNECT_CREATE_ODE: ${CONNECT_CREATE_ODE:-true}
97+
CONNECT_CREATE_GEOJSONCONVERTER: ${CONNECT_CREATE_GEOJSONCONVERTER:-true}
98+
CONNECT_CREATE_CONFLICTMONITOR: ${CONNECT_CREATE_CONFLICTMONITOR:-true}
99+
CONNECT_CREATE_DEDUPLICATOR: ${CONNECT_CREATE_DEDUPLICATOR:-false}
99100
entrypoint: ["/bin/bash", "-c", "./setup_mongo.sh && ./restore_mongo.sh"]
100101
volumes:
101102
- ${MONGO_SETUP_SCRIPT_RELATIVE_PATH:-./mongo/setup_mongo.sh}:/setup_mongo.sh
@@ -137,4 +138,4 @@ services:
137138
retries: 4
138139

139140
volumes:
140-
mongo_data:
141+
mongo_data:

docs/MongoDB_Configuration.md

Whitespace-only changes.

docs/Release_notes.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# JPO-UTILS Release Notes
22

3+
## Version 2.2.0
4+
----------------------------------------
5+
### **Summary**
6+
In this release, support for the JPO ODE pipeline was expanded and updated to align with the jpo-ode 5.0.2 rework and to incorporate additional J2735 message types alongside CIMMS lane alignment features. New and updated Kafka topics, connectors, and MongoDB indexes were introduced to support RTCM, SDSM, and RSM messages. Configuration was simplified by removing redundant MONGO_INDEX_* environment variables in favor of CONNECT_CREATE, while deprecated topics and collections were removed to reduce technical debt. Further improvements include enhanced index creation via create_indexes.js, updated default Jikkou configurations, and new documentation with helper scripts for managing MongoDB storage.
7+
8+
Enhancements in this release:
9+
- [CDOT PR 28](https://github.com/CDOT-CV/jpo-utils/pull/28): Rsu Status Message Support
10+
- [CDOT PR 29](https://github.com/CDOT-CV/jpo-utils/pull/29): Mongo env fixes
11+
- [CDOT PR 30](https://github.com/CDOT-CV/jpo-utils/pull/30): Revocable Lane Algorithm Support
12+
- [CDOT PR 31](https://github.com/CDOT-CV/jpo-utils/pull/31): RTCM Addition and Deprecated Topic Removal
13+
- [CDOT PR 32](https://github.com/CDOT-CV/jpo-utils/pull/32): Adding Connectors and Indexes for Revocable Lanes
14+
- [CDOT PR 33](https://github.com/CDOT-CV/jpo-utils/pull/33): Mongo storage management document
15+
- [CDOT PR 34](https://github.com/CDOT-CV/jpo-utils/pull/34): Jikkou: Add RSM Topics
16+
- [CDOT PR 35](https://github.com/CDOT-CV/jpo-utils/pull/35): RTCM Topics
17+
- [CDOT PR 36](https://github.com/CDOT-CV/jpo-utils/pull/36): Remove raw encoded collections and connectors
18+
- [CDOT PR 37](https://github.com/CDOT-CV/jpo-utils/pull/37): Adding OdeBsmJson index and additionalIndexes generator
19+
- [CDOT PR 42](https://github.com/CDOT-CV/jpo-utils/pull/40): Update Bitnami Kafka to Bitnami Legacy Kafka
20+
321
## Version 2.1.3
422
----------------------------------------
523
### **Summary**

docs/Storage_Management.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Storage Management
2+
3+
The default configuration of the CV-Manager system is very data intensive and stores multiple forms of CV-Data redundantly in the database. While this provides some benefit for compliance and debugging purposes, it is also often a strain on limited cloud and storage budgets. Below are some tips and tricks for reducing the storage footprint of CV-Data
4+
5+
## Stop syncing unused collections
6+
By Default JPO-utils syncs a number of topics created by the ode, geojson-converter, Conflict Monitor and CV-Manager. However, many of these collections are unused by the CV-Manager system and therefore not required to be saved to the database. In particular, data formats such as the OdeSpatJson format which have lots of traffic can quickly become a storage burden on the system.
7+
8+
1) To stop a topic from syncing to mongoDB users can modify the `kafka-connectors-values.yaml` file and remove entries. Make sure to remove the entire entry for the given topic. For example, to stop the OdeSpatJson topic from syncing remove the following:
9+
```
10+
- topicName: topic.OdeSpatJson
11+
collectionName: OdeSpatJson
12+
generateTimestamp: true
13+
```
14+
15+
Please note, that none of the Ode collections are required for running the GeoJson Converter, Conflict Monitor, or CV-Manager systems. The OdeSpatJson and OdeMapJson collections in particular should be deleted first as they generally contains significant data.
16+
17+
2) Once a topic is deleted from the `kafka-connectors-values.yaml` file. Users can bring up the remaining connectors by rebuilding the kafka-setup container (see step 3). For existing deployments that already have the connectors created. The removed connectors will need to be removed manually. This can be done by manually deleting connectors using curl.
18+
```
19+
curl -X DELETE "http://localhost:8083/connectors/sink.OdeSpatJson" >/dev/null 2>&1
20+
```
21+
Alternatively, users may delete all existing topics are recreate them. This may be faster if updating a large number of connectors. The [delete_connectors.sh](../kafka-connect/delete_connectors.sh) script will automatically delete all existing connectors.
22+
```
23+
cd kafka-connect
24+
./delete_connectors.sh
25+
```
26+
27+
3) Once all the unused connectors have been deleted, reapply the connectors scripts to the cluster by rebuilding the kafka-connect-setup container. Make sure kafka_connect, kafka_connect_standalone, or kafka_connect_setup is specified in the COMPOSE_PROFILES variable of your .env file before rebuilding to ensure the setup container is rerun
28+
```
29+
docker-compose up --build -d
30+
```
31+
32+
33+
34+
35+
## Change MongoDB Data Retention Time
36+
By default all collections in the default mongoDB are only retained for a set time window. Depending on deployment requirements, a shorter retention window may be desirable to reduce storage costs and improve database query speeds. Data retention is managed by adjusting TTL's on collections in mongoDB. Below are instructions to adjust the data retention of an existing mongoDB deployment.
37+
38+
1) There are currently two environment variables that configure the data retention duration in mongoDB. The `MONGO_DATA_RETENTION_SECONDS` variable configures the number of seconds that data generated within the system should be retained for. Similarly, the `MONGO_ASN_RETENTION_SECONDS` variable configures the number of seconds that raw ASN.1 data should be retained for. By default Mongo Data is retained for 60 days, while ASN.1 data is configured for 24 hours. To change the data retention window, modify the .env file in the jpo-utils repo, or parent module and provide new values for these variables
39+
```
40+
MONGO_DATA_RETENTION_SECONDS=604800 # 1 week
41+
MONGO_ASN_RETENTION_SECONDS=3600 # 1 Hour
42+
```
43+
44+
2) Once the variables are changed, rebuild the docker-setup container and let it run its setup procedure. Make sure that one of the following is specified in the `COMPOSE_PROFILES` variable to ensure the mongo setup container runs mongo, mongo_full, mongo_setup. Then run the following to reboot
45+
46+
```
47+
docker-compose up --build -d
48+
```
49+
50+
3) Once the indexes have been updated, verify that the change worked properly by checking the TTL index for the adjusted collections. This can be done by logging into the database using
51+
52+
```
53+
mongosh -u <username> -p <password> --authenticationDatabase admin
54+
use CV
55+
db.ProcessedSpat.getIndexes();
56+
```
57+
58+
Sample Output for Processed SPaT indexes
59+
``` javascript
60+
[
61+
{ v: 2, key: { _id: 1 }, name: '_id_' },
62+
{
63+
v: 2,
64+
key: { recordGeneratedAt: 1 },
65+
name: 'recordGeneratedAt_1',
66+
expireAfterSeconds: 604800 // <--- Should match value for MONGO_DATA_RETENTION_SECONDS or MONGO_ASN_RETENTION_SECONDS for ASN.1 collections
67+
},
68+
{
69+
v: 2,
70+
key: { intersectionId: -1, utcTimeStamp: -1 },
71+
name: 'intersectionId_-1_utcTimeStamp_-1'
72+
}
73+
]
74+
```
75+
76+
Alternatively, this may be checked in MongoDB compass
77+
78+

jikkou/kafka-connectors-template.jinja

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ spec:
6060
{{ create_connector(values.apps.conflictmonitor) }}
6161
{% endif %}
6262

63+
{% if system.env.CONNECT_CREATE_INTERSECTION_API %}
64+
{{ create_connector(values.apps.intersection_api) }}
65+
{% endif %}
66+
6367
{% if system.env.CONNECT_CREATE_DEDUPLICATOR %}
6468
{{ create_connector(values.apps.deduplicator) }}
6569
{% else %}

jikkou/kafka-connectors-values.yaml

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,6 @@ apps:
4646
ode:
4747
name: jpo-ode
4848
connectors:
49-
- topicName: topic.OdeRawEncodedBSMJson
50-
collectionName: OdeRawEncodedBSMJson
51-
generateTimestamp: true
52-
- topicName: topic.OdeRawEncodedMAPJson
53-
collectionName: OdeRawEncodedMAPJson
54-
generateTimestamp: true
55-
- topicName: topic.OdeRawEncodedSPATJson
56-
collectionName: OdeRawEncodedSPATJson
57-
generateTimestamp: true
5849
- topicName: topic.OdeSpatJson
5950
collectionName: OdeSpatJson
6051
generateTimestamp: true
@@ -67,33 +58,27 @@ apps:
6758
- topicName: topic.OdeTIMCertExpirationTimeJson
6859
collectionName: OdeTIMCertExpirationTimeJson
6960
generateTimestamp: true
70-
- topicName: topic.OdeRawEncodedPSMJson
71-
collectionName: OdeRawEncodedPSMJson
72-
generateTimestamp: true
7361
- topicName: topic.OdePsmJson
7462
collectionName: OdePsmJson
7563
generateTimestamp: true
76-
- topicName: topic.OdeRawEncodedSRMJson
77-
collectionName: OdeRawEncodedSRMJson
78-
generateTimestamp: true
7964
- topicName: topic.OdeSrmJson
8065
collectionName: OdeSrmJson
8166
generateTimestamp: true
82-
- topicName: topic.OdeRawEncodedSSMJson
83-
collectionName: OdeRawEncodedSSMJson
84-
generateTimestamp: true
8567
- topicName: topic.OdeSsmJson
8668
collectionName: OdeSsmJson
8769
generateTimestamp: true
8870
- topicName: topic.OdeDriverAlertJson
8971
collectionName: OdeDriverAlertJson
9072
generateTimestamp: true
91-
- topicName: topic.OdeRawEncodedSDSMJson
92-
collectionName: OdeRawEncodedSDSMJson
93-
generateTimestamp: true
9473
- topicName: topic.OdeSdsmJson
9574
collectionName: OdeSdsmJson
9675
generateTimestamp: true
76+
- topicName: topic.OdeRtcmJson
77+
collectionName: OdeRtcmJson
78+
generateTimestamp: true
79+
- topicName: topic.OdeRsmJson
80+
collectionName: OdeRsmJson
81+
generateTimestamp: true
9782
ode_duplicated:
9883
name: ode-duplicated
9984
connectors:
@@ -106,9 +91,6 @@ apps:
10691
- topicName: topic.OdeBsmJson
10792
collectionName: OdeBsmJson
10893
generateTimestamp: true
109-
- topicName: topic.OdeRawEncodedTIMJson
110-
collectionName: OdeRawEncodedTIMJson
111-
generateTimestamp: true
11294
geojsonconverter_duplicated:
11395
name: geojsonconverter-duplicated
11496
connectors:
@@ -121,6 +103,19 @@ apps:
121103
- topicName: topic.ProcessedBsm
122104
collectionName: ProcessedBsm
123105
generateTimestamp: true
106+
- topicName: topic.ProcessedSrm
107+
collectionName: ProcessedSrm
108+
generateTimestamp: true
109+
- topicName: topic.ProcessedSsm
110+
collectionName: ProcessedSsm
111+
generateTimestamp: true
112+
intersection_api:
113+
name: intersection_api
114+
connectors:
115+
- topicName: topic.IntersectionApiRsuStatus
116+
collectionName: IntersectionApiRsuStatus
117+
useTimestamp: true
118+
timestampField: timestamp
124119
deduplicator:
125120
name: deduplicator
126121
connectors:
@@ -136,10 +131,6 @@ apps:
136131
collectionName: OdeTimJson
137132
generateTimestamp: true
138133
connectorName: DeduplicatedOdeTimJson
139-
- topicName: topic.DeduplicatedOdeRawEncodedTIMJson
140-
collectionName: OdeRawEncodedTIMJson
141-
generateTimestamp: true
142-
connectorName: DeduplicatedOdeRawEncodedTIMJson
143134
- topicName: topic.DeduplicatedOdeBsmJson
144135
collectionName: OdeBsmJson
145136
generateTimestamp: true
@@ -226,6 +217,18 @@ apps:
226217
collectionName: CmBsmMessageCountProgressionEvents
227218
useTimestamp: true
228219
timestampField: eventGeneratedAt
220+
- topicName: topic.CmRevocableEnabledLaneAlignmentEvent
221+
collectionName: CmRevocableEnabledLaneAlignmentEvent
222+
useTimestamp: true
223+
timestampField: eventGeneratedAt
224+
- topicName: topic.CmRtcmBroadcastRateEvent
225+
collectionName: CmRtcmBroadcastRateEvent
226+
useTimestamp: true
227+
timestampField: eventGeneratedAt
228+
- topicName: topic.CmRtcmMinimumDataEvent
229+
collectionName: CmRtcmMinimumDataEvent
230+
useTimestamp: true
231+
timestampField: eventGeneratedAt
229232
- topicName: topic.CmSpatMinimumDataEventAggregation
230233
collectionName: CmSpatMinimumDataEventAggregation
231234
generateTimestamp: true
@@ -266,6 +269,19 @@ apps:
266269
collectionName: CmSpatMessageCountProgressionEventAggregation
267270
generateTimestamp: true
268271
timestampField: eventGeneratedAt
272+
- topicName: topic.CmRevocableEnabledLaneAlignmentEventAggregation
273+
collectionName: CmRevocableEnabledLaneAlignmentEventAggregation
274+
generateTimestamp: true
275+
timestampField: eventGeneratedAt
276+
- topicName: topic.CmRtcmMinimumDataEventAggregation
277+
collectionName: CmRtcmMinimumDataEventAggregation
278+
generateTimestamp: true
279+
timestampField: eventGeneratedAt
280+
- topicName: topic.CmPriorityPreemptionRequestEvent
281+
collectionName: CmPriorityPreemptionRequestEvent
282+
useTimestamp: true
283+
timestampField: eventGeneratedAt
284+
269285

270286
# Record BSM events:
271287
- topicName: topic.CmBsmEvents
@@ -350,6 +366,10 @@ apps:
350366
collectionName: CmEventStateProgressionNotification
351367
generateTimestamp: true
352368
timestampField: eventGeneratedAt
369+
- topicName: topic.CmRevocableEnabledLaneAlignmentNotification
370+
collectionName: CmRevocableEnabledLaneAlignmentNotification
371+
generateTimestamp: true
372+
timestampField: eventGeneratedAt
353373
- topicName: topic.CmIntersectionReferenceAlignmentNotificationAggregation
354374
collectionName: CmIntersectionReferenceAlignmentNotificationAggregation
355375
generateTimestamp: true
@@ -370,6 +390,11 @@ apps:
370390
collectionName: CmEventStateProgressionNotificationAggregation
371391
generateTimestamp: true
372392
timestampField: notificationGeneratedAt
393+
- topicName: topic.CmRevocableEnabledLaneAlignmentNotificationAggregation
394+
collectionName: CmRevocableEnabledLaneAlignmentNotificationAggregation
395+
generateTimestamp: true
396+
timestampField: notificationGeneratedAt
397+
373398
mecdeposit:
374399
name: mecdeposit
375400
connectors:

jikkou/kafka-topics-template.jinja

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ spec:
7272
{{ create_topics(values.apps.conflictmonitor) }}
7373
{% endif %}
7474

75+
{% if system.env.KAFKA_TOPIC_CREATE_INTERSECTION_API %}
76+
{{ create_topics(values.apps.intersection_api) }}
77+
{% endif %}
78+
7579
{% if system.env.KAFKA_TOPIC_CREATE_DEDUPLICATOR %}
7680
{{ create_topics(values.apps.deduplicator) }}
7781
{% endif %}

0 commit comments

Comments
 (0)