-
Notifications
You must be signed in to change notification settings - Fork 5
/
sample.env
272 lines (212 loc) · 8.93 KB
/
sample.env
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
# Environment variable file for the JPO CV Manager API deployment through docker-compose
DOCKER_HOST_IP=
# Note if debugging, this webapp host IP should be set to the IP of the host machine running the webapp (localhost)
WEBAPP_HOST_IP=${DOCKER_HOST_IP}
# Note if using WEBAPP_DOMAIN for the docker-compose-webapp-deployment.yml file you will need to include http:// or https://
WEBAPP_DOMAIN=cvmanager.local.com
KC_HOST_IP=${DOCKER_HOST_IP}
# Firmware Manager connectivity in the format 'http://endpoint:port'
FIRMWARE_MANAGER_ENDPOINT=http://${DOCKER_HOST_IP}:8089
# Allowed CORS domain for accessing the CV Manager API from (set to the web application hostname)
# Make sure to include http:// or https://
# If using docker then this value should be set to: http://${WEBAPP_HOST_IP}:3000
# If running the webapp using npm then set it to: http://localhost:3000
# Leave as * to allow all domains access
CORS_DOMAIN=*
# PostgreSQL Database connection information
# this value may need to follow with the webapp host if debugging the applications
PG_DB_HOST=${DOCKER_HOST_IP}:5432
PG_DB_NAME=postgres
PG_DB_USER=postgres
# If the PG_DB_PASS variable has special characters, make sure to wrap it in single quotes
PG_DB_PASS=
# If connecting to PGDB over websocket:
INSTANCE_CONNECTION_NAME=
# Keycloak authentication credentials
KEYCLOAK_ADMIN=admin
KEYCLOAK_ADMIN_PASSWORD=
# Keycloak Parameters - to generate secret key use a password generator such as: https://www.avast.com/en-us/random-password-generator#pc and set the length to 32
KEYCLOAK_REALM=cvmanager
KEYCLOAK_API_CLIENT_ID=cvmanager-api
KEYCLOAK_API_CLIENT_SECRET_KEY=
KEYCLOAK_LOGIN_THEME_NAME=sample_theme
# Note if using KEYCLOAK_DOMAIN for the docker-compose-webapp-deployment.yml file you will need to include http:// or https://
KEYCLOAK_DOMAIN=cvmanager.auth.com
# GCP OAuth2.0 client ID for SSO authentication in keycloak - if not specified the google SSO will not be functional
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# If "BIGQUERY", set the location of the GCP service account key attached as a volume
GOOGLE_APPLICATION_CREDENTIALS='./resources/google/sample_gcp_service_account.json'
# If "MONGODB", set the MongoDB variables
MONGO_DB_URI=
MONGO_DB_NAME="ode"
# If running MongoDB locally with docker-compose-mongo.yml uncomment the following line
MONGO_COLLECTION_TTL=7 # days
# If true sample data will be inserted into the MongoDB CVCounts, V2XGeoJson, and OdeSsmJson collections.
INSERT_SAMPLE_DATA=true
# Set these variables if using either "MONGODB" or "BIGQUERY"
# COUNTS_MSG_TYPES: Comma separated list of message types.
# COUNTS_MSG_TYPES must be set for the counts menu to correctly populate when building an image for deployment
COUNTS_MSG_TYPES='BSM,SSM,SPAT,SRM,MAP'
VIEWER_MSG_TYPES='BSM'
GEO_DB_NAME='V2XGeoJson'
SSM_DB_NAME=
SRM_DB_NAME=
# Specifies the maximum number of V2x messages returned from the geo_query_geo_data_mongo method before filtering occurs
MAX_GEO_QUERY_RECORDS=
# WZDx API key and endpoint for pulling WZDx data into the CV Manager
WZDX_API_KEY=
WZDX_ENDPOINT=
# Contact Support Menu Email Configuration
CSM_EMAIL_TO_SEND_FROM=
CSM_EMAILS_TO_SEND_TO=
CSM_TARGET_SMTP_SERVER_ADDRESS=
CSM_TARGET_SMTP_SERVER_PORT=
CSM_TLS_ENABLED=true
CSM_AUTH_ENABLED=true
CSM_EMAIL_APP_USERNAME=
CSM_EMAIL_APP_PASSWORD=
# Email configuration for sending firmware-manager failure emails
SMTP_EMAIL=
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_SERVER_IP=
# Python timezone for the CV Manager (You can list pytz timezones with the command 'pytz.all_timezones')
TIMEZONE="US/Mountain"
# Mapbox token for map rendering in the webapp
MAPBOX_TOKEN=
# DOT_NAME must be set for the DOT name to correctly populate when building an image for deployment
DOT_NAME="CDOT"
MAPBOX_INIT_LATITUDE="39.7392"
MAPBOX_INIT_LONGITUDE="-104.9903"
MAPBOX_INIT_ZOOM="10"
GCP_PROJECT_ID = ''
# CIMMS IntersectionMap Variables
CVIZ_API_SERVER_URL=http://${DOCKER_HOST_IP}:8089
CVIZ_API_WS_URL=ws://${DOCKER_HOST_IP}:8089
WEBAPP_CM_DOMAIN='cvmanager.local.com'
KEYCLOAK_CM_API_CLIENT_SECRET_KEY=
# ---------------------------------------------------------------------
# Count Metric Addon:
ENABLE_EMAILER = 'True'
# If ENABLE_EMAILER is 'True', set the following environment variables
DEPLOYMENT_TITLE = 'JPO-ODE'
# SMTP REQUIRED VARIABLES
SMTP_SERVER_IP = ''
SMTP_USERNAME = ''
SMTP_PASSWORD = ''
SMTP_EMAIL = ''
COUNT_MESSAGE_TYPES = 'bsm'
# EITHER "MONGODB" or "BIGQUERY"
COUNT_DESTINATION_DB = 'MONGODB'
# MONGODB REQUIRED VARIABLES
INPUT_COUNTS_MONGO_COLLECTION_NAME = ''
OUTPUT_COUNTS_MONGO_COLLECTION_NAME = ''
# BIGQUERY REQUIRED VARIABLES
KAFKA_BIGQUERY_TABLENAME = ''
# ---------------------------------------------------------------------
# Firmware Manager Addon:
BLOB_STORAGE_PROVIDER=DOCKER
BLOB_STORAGE_BUCKET=
## Docker volume mount point for BLOB storage (if using Docker)
HOST_BLOB_STORAGE_DIRECTORY=./local_blob_storage
# ---------------------------------------------------------------------
# Geo-spatial message query Addon:
GEO_INPUT_COLLECTIONS='OdeBsmJson,OdePsmJson'
# TTL duration in days:
GEO_TTL_DURATION=90
# ---------------------------------------------------------------------
# ISS Health Check Addon
# Key Storage
## Type of key storage, options: gcp, postgres
STORAGE_TYPE=postgres
# ISS Account Authentication
ISS_API_KEY=
ISS_API_KEY_NAME=
ISS_PROJECT_ID=
ISS_SCMS_TOKEN_REST_ENDPOINT=
ISS_SCMS_VEHICLE_REST_ENDPOINT=
## Postgres Storage (Required if STORAGE_TYPE=postgres)
### Table name to store keys
ISS_KEY_TABLE_NAME=
# ---------------------------------------------------------------------
# RSU Status Addon:
# Services that can be toggled on or off
# 'True' or 'False' are the only legal values
# Toggles monitoring of RSU online status
RSU_PING=True
# Fetches ping data from Zabbix - alternatively the service will ping the RSUs on its own
# Only used when RSU_PING is 'True'
ZABBIX=False
# Fetches SNMP configuration data for all RSUs
RSU_SNMP_FETCH=True
# Zabbix endpoint and API authentication
# Only used when ZABBIX is 'True'
ZABBIX_ENDPOINT=
ZABBIX_USER=
ZABBIX_PASSWORD=
# Customize the period at which the purger will determine a ping log is too old and will be deleted
# Number of hours
STALE_PERIOD=24
# ---------------------------------------------------------------------
# OBU OTA Server Addon:
# Routeable host name for the server
OBU_OTA_SERVER_HOST = "localhost"
# For users using GCP cloud storage
OBU_OTA_BLOB_STORAGE_BUCKET=""
OBU_OTA_BLOB_STORAGE_PATH=""
# Nginx basic auth username and password
OTA_USERNAME = "admin"
OTA_PASSWORD = "admin"
# Nginx encryption options: "plain", "ssl"
# Note that this just changes the config file attached as a volume to the Nginx container
NGINX_ENCRYPTION="plain"
# SSL file name in path /docker/nginx/ssl/
SERVER_CERT_FILE="ota_server.crt"
SERVER_KEY_FILE="ota_server.key"
# Max number of succesfull firmware upgrades to keep in the database per device SN
MAX_COUNT = 10
# ---------------------------------------------------------------------
# Levels are "DEBUG", "INFO", "WARNING", and "ERROR"
API_LOGGING_LEVEL="INFO"
FIRMWARE_MANAGER_LOGGING_LEVEL="INFO"
GEO_LOGGING_LEVEL="INFO"
ISS_LOGGING_LEVEL="INFO"
RSU_STATUS_LOGGING_LEVEL="INFO"
COUNTS_LOGGING_LEVEL="INFO"
OBU_OTA_LOGGING_LEVEL="INFO"
# Supported log levels are "ALL", "DEBUG", "ERROR", "FATAL", "INFO", "OFF", "TRACE" and "WARN"
KC_LOGGING_LEVEL="INFO"
##########################################
# JPO ConflictMonitor Docker Environment #
# Documentation: https://github.com/usdot-jpo-ode/jpo-conflictmonitor
##########################################
DB_HOST_IP=${DOCKER_HOST_IP}
KAFKA_BROKER_IP=${DOCKER_HOST_IP}
CM_STARTUP_DELAY_SECONDS=90
# The Username and passwords to use for accessing mongoDB.
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=
CM_MONGO_CONNECTOR_USERNAME=connector
CM_MONGO_CONNECTOR_PASSWORD=
CM_MONGO_API_USERNAME=api
CM_MONGO_API_PASSWORD=
CM_MONGO_USER_USERNAME=user
CM_MONGO_USER_PASSWORD=
CM_DATABASE_NAME=ConflictMonitor
CM_DATABASE_STORAGE_COLLECTION_NAME=MongoStorage
CM_DATABASE_SIZE_GB=50
CM_DATABASE_SIZE_TARGET_PERCENT=0.8
CM_DATABASE_DELETE_THRESHOLD_PERCENT=0.9
CM_DATABASE_MAX_TTL_RETENTION_SECONDS=5184000 # 60 days
CM_DATABASE_MIN_TTL_RETENTION_SECONDS=604800 # 7 days
CM_DATABASE_COMPACTION_TRIGGER_PERCENT=0.5
##############################################################
# jpo-conflictvisualizer cvmanager api environment variables #
# Documentation: https://github.com/usdot-jpo-ode/jpo-conflictvisualizer/tree/cvmgr-cimms-integration/api
##############################################################
# Set the HOST IP of where the containers are running
KAFKA_BROKER_PORT=9092
# May be different from docker host ip for production deployments. Change as appropriate.
CM_SERVER_URL=http://${DOCKER_HOST_IP}:8082
DB_HOST_PORT=27017