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/2024 q3 into master #27

Merged
merged 260 commits into from
Oct 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
260 commits
Select commit Hold shift + click to select a range
db79216
Merge branch 'dev' into feature/optional-tls-and-auth-for-contact-sup…
dmccoystephenson Apr 12, 2024
7030b78
Modified email formatting in `emailSender.py`
dmccoystephenson Apr 17, 2024
46a243d
Removed an argument
dmccoystephenson Apr 17, 2024
fb04c08
Adding intersections to main map page
jacob6838 Apr 30, 2024
e7f726a
Adding payload types to rsu slice
jacob6838 Apr 30, 2024
0145d4d
Improving intersection map data type selector
jacob6838 Apr 30, 2024
f450bb6
init commit for obu ota server
Michael7371 May 1, 2024
84392ae
Fully working CIMMS map page!
jacob6838 May 2, 2024
e7ac82a
Merge branch 'develop' into conflictvisualizer-map-page
jacob6838 May 2, 2024
37354fd
Updating setBsmFilterStep
jacob6838 May 2, 2024
d325a00
Updating dockerfile with new env vars
jacob6838 May 3, 2024
82ede15
updating ota server unit tests
Michael7371 May 3, 2024
dcfff87
Fixing various warnings
jacob6838 May 6, 2024
d8b9f69
Updating BSM counts start/end time text color
jacob6838 May 6, 2024
6691d93
updates with unit tests
Michael7371 May 8, 2024
d3e7377
Add docker-compose-mongo.yml for local MongoDB support
mwodahl May 15, 2024
67ec16d
Update mongo-setup image
mwodahl May 17, 2024
e99e27c
Merge branch 'develop' into conflictvisualizer-map-page
jacob6838 May 21, 2024
cfc9f7c
Updating errors in type definitions
jacob6838 May 21, 2024
0eff4c6
Merging recent conflictvisualizer changes
jacob6838 May 21, 2024
cb333b5
Fixing cviz bsm colors error
jacob6838 May 21, 2024
75feb32
Tweaking cimms popup display
jacob6838 May 22, 2024
d653c7d
Fixing PR comments, removing comments
jacob6838 May 22, 2024
b36ea67
Removing unnecessary images, updating documentation
jacob6838 May 22, 2024
63366da
Removing updateGeoMsg comments and prints
jacob6838 May 23, 2024
0d2a17f
Removing rsu_ip from intersection selection menu
jacob6838 May 23, 2024
89bae4d
Adding SSM/SRM menu to intersection map
jacob6838 May 23, 2024
8348e68
Adding conflictmonitor release-compose
jacob6838 May 26, 2024
e93e680
Working CIMMS integration with release-compose
jacob6838 May 26, 2024
5591922
Fixing formatting on map view
jacob6838 May 26, 2024
f989b45
Merge branch 'develop' into conflictvisualizer-map-page
jacob6838 May 28, 2024
725b4f4
Updating docker-compose with cm kafka and ode
jacob6838 May 29, 2024
b1ca32d
Moving conflictmonitor mongo/connect components to a sub-folder
jacob6838 May 29, 2024
734ce40
Updating connect/mongo conflictmonitor scripts
jacob6838 May 30, 2024
b4bfb18
Re-adding SMTP env vars to sample.env
jacob6838 May 30, 2024
6e58fee
Update b_create_indexes.js
jacob6838 May 30, 2024
ab51895
Minor spelling updates
jacob6838 May 30, 2024
c101194
Fixing unit tests
jacob6838 May 30, 2024
aa9ebea
performance updates and basic authentication
Michael7371 May 30, 2024
3f407f0
Updating reference to jpo-deduplicator to use gcr
jacob6838 May 30, 2024
7204c4c
Update docker-compose.yml
jacob6838 May 30, 2024
783601a
updates to move basic auth from nginx to api
Michael7371 May 30, 2024
7d7305a
updates to obu ota server k8 file
Michael7371 May 30, 2024
f800fa6
Merge branch 'develop' into ota-server-addon
Michael7371 May 30, 2024
c1df509
Updating sample.env, removing duplicates
jacob6838 May 30, 2024
a76b7b5
Update sample.env
jacob6838 May 30, 2024
4b76ca5
Updating documentation to reflect the removal of the release-compose
jacob6838 May 31, 2024
a05cbe9
Removed unused GCP permissions file and volume from CV Manager API do…
drewjj May 31, 2024
fe2b2bd
Other docker compose modified
drewjj May 31, 2024
f99c426
Merge branch 'conflictvisualizer-map-page' of https://github.com/CDOT…
drewjj May 31, 2024
2b298a5
Re-naming CIMMS map and removing cimms mapbox style requirement
jacob6838 May 31, 2024
7c0cc89
Merge branch 'conflictvisualizer-map-page' of https://github.com/CDOT…
jacob6838 May 31, 2024
7c38249
Update b_create_indexes.js
jacob6838 May 31, 2024
8cf3a07
Creating run-conflictmonitor and run-conflictmonitor-api-only tasks
jacob6838 Jun 3, 2024
1e89d28
bug fixes
Michael7371 Jun 3, 2024
220db91
started documentation
Michael7371 Jun 3, 2024
78ff920
documentation, sample.env, and docker-compose updates
Michael7371 Jun 4, 2024
b934cad
Adding static data to load into MongoDB
jacob6838 Jun 4, 2024
7ce52a7
Cleaning up environment variables
jacob6838 Jun 4, 2024
5bc412e
Merge pull request #11 from Trihydro/sync-with-usdot-6-5-2024
dmccoystephenson Jun 5, 2024
589a4cc
Add check for orphan RSUs/Users before org delete
mwodahl Jun 6, 2024
b03481e
Update orphan rsu/user check & testing update
mwodahl Jun 6, 2024
4b626d9
Merge branch 'develop' into ota-server-addon
Michael7371 Jun 6, 2024
90aec8f
download blob refactor
Michael7371 Jun 6, 2024
d7cfc6d
updates to download blob to move validate_file_type to util.py
Michael7371 Jun 6, 2024
ce82c64
adding requirements for util.py to firmware manager and obu ota addons
Michael7371 Jun 6, 2024
04a81c3
fixing typo in readme and error in test_download_blob
Michael7371 Jun 7, 2024
86a44e4
Update to use mui version 5 packages
mwodahl Jun 10, 2024
f1b4220
Merge pull request #75 from CDOT-CV/ota-server-addon
Michael7371 Jun 10, 2024
809a488
Remove outdated mui packages
mwodahl Jun 10, 2024
4268179
Pulling in cimms dashboard and adjacent pages (not working)
jacob6838 Jun 11, 2024
0f1db9f
Address style/theme changes
mwodahl Jun 11, 2024
0594d4b
address component changes
mwodahl Jun 11, 2024
03bc7f1
Add StyledEngineProvider
mwodahl Jun 11, 2024
de02514
Update queries to return json rows
mwodahl Jun 13, 2024
7534f5d
Merge pull request #20 from usdot-jpo-ode/master
dan-du-car Jun 18, 2024
67564b8
SQL script update
mwodahl Jun 19, 2024
cd3c4af
Add Notification Tab
mwodahl Jun 19, 2024
876558d
Admin Edit Notification
mwodahl Jun 19, 2024
f974f52
Admin Add Notification
mwodahl Jun 19, 2024
2b590d6
yarn, store update
mwodahl Jun 19, 2024
330d92a
Add new API endpoints
mwodahl Jun 19, 2024
5a51ad6
Remove previously used .env email variables
mwodahl Jun 19, 2024
85db75f
Unit testing updates
mwodahl Jun 19, 2024
de3d537
Add Notifications Type
mwodahl Jun 19, 2024
4838463
Merge remote-tracking branch 'usdot/develop' into develop
dmccoystephenson Jun 19, 2024
f53b22c
Remove receive error emails from public.users
mwodahl Jun 19, 2024
5b30b8b
Update organization dropdown to update correctly on organization add/…
mwodahl Jun 19, 2024
d694b5c
Add toast package
mwodahl Jun 20, 2024
7f1c8cf
AdminAddOrganization toast notifications
mwodahl Jun 20, 2024
ef5ce7d
AdminAddRsu, AdminAddUser toast notifications add
mwodahl Jun 20, 2024
70bb3bb
Admin edit menus add toast notifications
mwodahl Jun 20, 2024
ddb933b
Admin menu tabs add toast notifications
mwodahl Jun 20, 2024
e322021
AdminOrganizationTab add toast notifications
mwodahl Jun 20, 2024
5601a60
Add toast notifications to contact support, snmp config menus
mwodahl Jun 21, 2024
1f4c8dd
Update org dropdown list on user-org edit
mwodahl Jun 24, 2024
716a708
Update admin edit pages to populate values correctly
mwodahl Jun 24, 2024
b5494cd
Update comments
mwodahl Jun 25, 2024
9a09d2f
Add missing field checks
drewjj Jun 27, 2024
9ae0319
add useEffect comment for Admin Org tab
mwodahl Jul 2, 2024
0e8ee4b
README Updates
mwodahl Jul 2, 2024
c87087d
Update email type names
mwodahl Jul 2, 2024
d0ceefe
Update admin add form, add sql update script
mwodahl Jul 2, 2024
3a1de82
Add snmp_msgfwd remove query
mwodahl Jul 3, 2024
590afde
Merge pull request #79 from CDOT-CV/sync/pull-latest-usdot-develop-ch…
payneBrandon Jul 3, 2024
a20671c
fixes from test deployment
Michael7371 Jul 3, 2024
5c934d6
updating gen_dhparam.sh permissions to be executable
Michael7371 Jul 3, 2024
fdad470
Merge branch 'develop' into obu-ota-server-fixes
Michael7371 Jul 3, 2024
2d98b63
fixing unit tests with updated file name
Michael7371 Jul 3, 2024
c7ec6ee
updated host name reference in nginx-plain
Michael7371 Jul 3, 2024
5d79384
Merge pull request #77 from CDOT-CV/Bug/orphan-rsus
payneBrandon Jul 3, 2024
34559ac
Merge pull request #83 from CDOT-CV/Bug/admin-edit-page
payneBrandon Jul 8, 2024
7cf775e
Add sample data script
mwodahl Jul 8, 2024
a62ff02
Merge branch 'develop' into Feature/local-mongoDB
mwodahl Jul 8, 2024
3273335
Merge pull request #78 from CDOT-CV/Update/mui-version
payneBrandon Jul 8, 2024
8240ec6
Merge pull request #84 from CDOT-CV/scms_none_timestamp
payneBrandon Jul 8, 2024
d085741
Merge branch 'dev' into feature/optional-tls-and-auth-for-contact-sup…
dmccoystephenson Jul 10, 2024
c28e1af
Updated unit tests for `EmailSender` class
dmccoystephenson Jul 10, 2024
362fd9e
Explicitly disabled pretty formatting when calling emailSender.send()…
dmccoystephenson Jul 11, 2024
6b899b3
Merge branch 'develop' into Feature/toast-notifications
mwodahl Jul 11, 2024
bb1f03c
Merge branch 'develop' into obu-ota-server-fixes
Michael7371 Jul 12, 2024
5506143
Merge pull request #86 from CDOT-CV/obu-ota-server-fixes
drewjj Jul 12, 2024
c6ab1b7
README, sample.env updates and move mongo_scripts to resources
mwodahl Jul 16, 2024
fbda0a3
Update map on org change
mwodahl Jul 16, 2024
5b861b3
Reduce ping requirements for a successful ping
drewjj Jul 17, 2024
144d3ff
Update unit tests to reflect the changes
drewjj Jul 18, 2024
b917dae
Change the tx flag to on for TIM message forwarding
drewjj Jul 18, 2024
f878fad
Merge pull request #80 from CDOT-CV/Bug/organization-dropdown
drewjj Jul 18, 2024
d364202
update from working context
Michael7371 Jul 18, 2024
77cc0a2
Merge pull request #88 from CDOT-CV/adjust-ping-timeout
drewjj Jul 18, 2024
9ab3ab1
Merge pull request #89 from CDOT-CV/Fix/tim-message-forwarding
drewjj Jul 18, 2024
3c849f9
Merge pull request #76 from CDOT-CV/Feature/local-mongoDB
drewjj Jul 18, 2024
90ab94f
Merge branch 'develop' into Feature/toast-notifications
mwodahl Jul 19, 2024
fb88835
Merge pull request #82 from CDOT-CV/Feature/toast-notifications
drewjj Jul 19, 2024
1a92c01
Fix snmpset toast notification bug
mwodahl Jul 19, 2024
66af6c6
Merge pull request #90 from CDOT-CV/Bug/snmpset-toast-success
drewjj Jul 19, 2024
a722c42
fixed various bugs in repository
Michael7371 Jul 22, 2024
6371f67
Remove unnecessary styleOverrides, move all themes to index.ts, remov…
mwodahl Jul 24, 2024
aaf00b4
Update test snapshots
mwodahl Jul 24, 2024
eb11f19
Merge branch 'develop' into Feature/emailer-customization
mwodahl Jul 25, 2024
907ebd9
updates to mongo_counter to add more error handling
Michael7371 Jul 25, 2024
b217c14
Make env var read a string instead of an integer since this is how en…
drewjj Jul 26, 2024
19f6c31
Merge pull request #91 from CDOT-CV/wydot-deployment-fixes
drewjj Jul 26, 2024
20c5aa3
adding cimms intersection pages
jacob6838 Jul 26, 2024
482a614
Move notification menu from admin to user settings tab
mwodahl Jul 26, 2024
963899a
Update test snapshots
mwodahl Jul 26, 2024
37acc5a
Merge pull request #92 from CDOT-CV/Fix/fm_active_upgrades_env
drewjj Jul 26, 2024
b51fb1d
Initial bug fixes and ui updates
jacob6838 Jul 26, 2024
5834ea5
Merge branch 'develop' into cimms-dashboard
jacob6838 Jul 26, 2024
d5fced8
updating ui display and colors
jacob6838 Jul 26, 2024
fb9fc0d
Update VerticalTabs.tsx
jacob6838 Jul 26, 2024
b80ab98
re-installing packages
jacob6838 Jul 27, 2024
ef36fbe
renaming adminAddUser - delete
jacob6838 Jul 27, 2024
cf6ca13
renaming adminAddUser - recreate
jacob6838 Jul 27, 2024
1a32e40
Fixing intersection ID selecter, pulling in conflictmonitor mongodb u…
jacob6838 Jul 27, 2024
b5cf707
Add MUI dialogs to admin pages, contact support menu
mwodahl Jul 29, 2024
aa6e2ed
Testing snapshot updates
mwodahl Jul 29, 2024
5556f70
Testing Updates
mwodahl Jul 29, 2024
e67b850
Merge pull request #9 from Trihydro/feature/optional-tls-and-auth-for…
payneBrandon Jul 29, 2024
e979c75
Fix failing firmware manager tests
mwodahl Jul 29, 2024
d42aada
Merge branch 'develop' into obu-ota-pg-logging
Michael7371 Jul 30, 2024
ab2fc32
commit with working changes, unit tests still need work
Michael7371 Jul 30, 2024
79c3039
updates with tests, documentation and better logic
Michael7371 Aug 1, 2024
ea6576e
fixing failing unit tests in dev
Michael7371 Aug 1, 2024
bd955f4
updated kubernetes env variables for obu ota server
Michael7371 Aug 1, 2024
c753ab3
reverting port change
Michael7371 Aug 1, 2024
fc44251
adding update sql script
Michael7371 Aug 1, 2024
158fd45
Merge pull request #96 from CDOT-CV/Update/fw-manager-tests
drewjj Aug 2, 2024
434e969
removing password print out from pgquery as well as making it a debug…
Michael7371 Aug 2, 2024
5bfabf7
Merge pull request #98 from CDOT-CV/unit-test-fixes
drewjj Aug 2, 2024
7ecc34d
Merge pull request #99 from CDOT-CV/obu-ota-pg-logging
drewjj Aug 2, 2024
b76be1a
Changing date adapters to AdapterFateFns
jacob6838 Aug 5, 2024
59e197e
Updating mongodb data import
jacob6838 Aug 5, 2024
6e2f995
Fixing duplicate tab paths, updating documentation
jacob6838 Aug 6, 2024
ff3edb0
Merge branch 'develop' into cimms-dashboard
jacob6838 Aug 6, 2024
1bb2dd6
Merge branch 'develop' into conflictvisualizer-map-page
jacob6838 Aug 6, 2024
0353446
Merge branch 'conflictvisualizer-map-page' into cimms-dashboard
jacob6838 Aug 6, 2024
386c74e
Fixing d.ts syntax errors
jacob6838 Aug 6, 2024
22e44fe
Re-formatting model files
jacob6838 Aug 6, 2024
6d15f07
Merging conflictvisualizer map page into cimms dashboard
jacob6838 Aug 6, 2024
bf7c1ca
formatting typescript files
jacob6838 Aug 6, 2024
093d504
Expanded firmware manager logging to improve ability to identify RSUs…
dmccoystephenson Aug 12, 2024
b74eef0
Merge pull request #100 from CDOT-CV/firmware/enable-rsu-identificati…
drewjj Aug 12, 2024
9c3f188
Merge pull request #94 from CDOT-CV/Update/mui-theming
dmccoystephenson Aug 14, 2024
ce85914
Add organization email support (PGSQL, API and webapp)
drewjj Aug 19, 2024
059a669
Updating to zookeeper-less kafka
jacob6838 Aug 20, 2024
e5ef99e
Cleaning up unused files, fixing build errors
jacob6838 Aug 20, 2024
5097d40
Counter organization email support
drewjj Aug 20, 2024
3cb1a53
Update all addons with organization email and rework the API snmp err…
drewjj Aug 20, 2024
2e43e6b
Update remaining unit tests
drewjj Aug 20, 2024
2796c9e
Fixing removed mongodb and kafka files
jacob6838 Aug 20, 2024
eeaa473
Debugging mongodb build errors
jacob6838 Aug 20, 2024
a756d82
working mongodb image
jacob6838 Aug 20, 2024
48e9b54
cleaning up mongodb files
jacob6838 Aug 20, 2024
ed19afb
Adding mongodump for local data
jacob6838 Aug 20, 2024
272a999
Adding routable map page for notifications
jacob6838 Aug 21, 2024
d2504d4
Significant UI updates, cleaning up notification, dashboard, data sel…
jacob6838 Aug 21, 2024
85892b2
Minor updates to data selector and intersection selector
jacob6838 Aug 21, 2024
f7e3805
cleaning up prints
jacob6838 Aug 21, 2024
d585ee6
Updating sample.env
jacob6838 Aug 21, 2024
105d205
Update docker-compose.yml
jacob6838 Aug 21, 2024
b062c17
Updating test snapshots
jacob6838 Aug 21, 2024
909937c
Updating documentation and sample.env
jacob6838 Aug 21, 2024
5e77cc4
Updating .vscode files for intersection and no-intersection configs
jacob6838 Aug 21, 2024
c93dbcb
Adding timed wait to conflictvisualizer_api startup
jacob6838 Aug 21, 2024
0c58cbc
Sync'ing docker-compose-full-cm with recent changes
jacob6838 Aug 21, 2024
c7fe172
Removing unnecessary log messages, fixing typos
jacob6838 Aug 21, 2024
30d4674
Cleaning up comments, removing intersection tooltip
jacob6838 Aug 21, 2024
261b063
Update .vscode/launch.json
jacob6838 Aug 22, 2024
f287b81
Cleaning up NotificationType
jacob6838 Aug 22, 2024
0f9da9a
Merge branch 'cimms-dashboard' of https://github.com/CDOT-CV/jpo-cvma…
jacob6838 Aug 22, 2024
fa75911
Updating vscode launch and tasks
jacob6838 Aug 22, 2024
597084a
Merge branch 'develop' into cimms-dashboard
jacob6838 Aug 22, 2024
491f7aa
Reducing default CM_DATABASE_SIZE
jacob6838 Aug 22, 2024
c9c8cd2
Create docker-compose-mongo.yml
jacob6838 Aug 22, 2024
fd33999
Update README.md
jacob6838 Aug 22, 2024
d5b6ace
Updating conflictmonitor documentation
jacob6838 Aug 22, 2024
c76f070
Fixing assessment tooltips and data selector graph
jacob6838 Aug 22, 2024
2ee93d5
Merge branch 'cimms-dashboard' of https://github.com/CDOT-CV/jpo-cvma…
jacob6838 Aug 22, 2024
2262015
removing ODE_KAFKA_BROKERS variable
jacob6838 Aug 23, 2024
1bd43b9
Updating docker compose --build documentation
jacob6838 Aug 23, 2024
dd8f9bf
Adding configurable CM_STARTUP_DELAY
jacob6838 Aug 23, 2024
dcc1a63
Removing mongodb restore wait
jacob6838 Aug 23, 2024
2af4570
Merge pull request #93 from CDOT-CV/cimms-dashboard
payneBrandon Aug 23, 2024
213051d
Removing unnecessary code comments
jacob6838 Aug 23, 2024
4fb7ace
fix broken unit tests
Michael7371 Aug 27, 2024
380b214
Update the webapp tests to resolve failing checks
drewjj Aug 27, 2024
3c1f136
merge branch 'develop' into Feature/emailer-customization
mwodahl Aug 28, 2024
a212f7d
Increasing keycloak docker max retries
jacob6838 Aug 28, 2024
7f9abf3
Merge pull request #58 from CDOT-CV/conflictvisualizer-map-page
payneBrandon Aug 28, 2024
a4b5a5a
Merge remote-tracking branch 'origin/develop' into Feature/mui-dialogs
drewjj Aug 28, 2024
ad3c0d0
Update headers while dialog boxes are open
drewjj Aug 28, 2024
a709942
Merge pull request #101 from CDOT-CV:Feature/org-emails
payneBrandon Aug 29, 2024
89fd441
Merge pull request #95 from CDOT-CV/Feature/mui-dialogs
drewjj Aug 30, 2024
c5311df
Merge remote-tracking branch 'origin/develop' into Feature/emailer-cu…
drewjj Aug 30, 2024
077dad5
Update branch to fix pages after the changes made to resolve merge co…
drewjj Sep 1, 2024
6ad03c3
Remove comment
drewjj Sep 3, 2024
bb32020
Remove unnecessary rows, pull notification data on first render
mwodahl Sep 5, 2024
94c8e51
Added default values of "true" for TLS & AUTH toggles
dmccoystephenson Sep 5, 2024
e4d26aa
Merge pull request #12 from Trihydro/optional-tls-auth/default-to-true
dmccoystephenson Sep 5, 2024
9dbca7c
Merge pull request #22 from Trihydro/dev
drewjj Sep 5, 2024
05e46e5
Merge pull request #81 from CDOT-CV/Feature/emailer-customization
drewjj Sep 5, 2024
4f209aa
Added release notes
drewjj Sep 6, 2024
368d5ea
Merge remote-tracking branch 'upstream/develop' into Update/release-n…
drewjj Sep 6, 2024
0865ce7
Resolve failing test
drewjj Sep 6, 2024
cbb082c
Merge pull request #102 from CDOT-CV/Update/release-notes-1.4.0
drewjj Sep 9, 2024
a029096
Merge pull request #24 from CDOT-CV/develop
drewjj Sep 9, 2024
d269644
Fix issue with TLS and Auth requirements not defaulting to True
drewjj Sep 11, 2024
679d0b9
Merge pull request #103 from CDOT-CV/Fix/update-emailer-defaults
drewjj Sep 11, 2024
6c101ec
Merge pull request #26 from CDOT-CV/develop
payneBrandon Sep 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 19 additions & 3 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,31 @@
"configurations": [
{
"command": "npm start",
"name": "Launch web app",
"name": "Launch web app with Intersection Data",
"request": "launch",
"cwd": "${workspaceFolder}/webapp",
"type": "node-terminal",
"preLaunchTask": "run-intersection"
},
{
"command": "npm start",
"name": "Launch web app without Intersection Data",
"request": "launch",
"cwd": "${workspaceFolder}/webapp",
"type": "node-terminal",
"preLaunchTask": "run-keycloak-and-postgres"
},
{
"command": "npm start",
"name": "Launch web app with Full ConflictMonitor",
"request": "launch",
"cwd": "${workspaceFolder}/webapp",
"type": "node-terminal",
"preLaunchTask": "run-full-conflictmonitor"
},
{
"name": "Python: Flask",
"type": "python",
"type": "debugpy",
"request": "launch",
"stopOnEntry": false,
"program": "${workspaceRoot}/services/api/src/main.py",
Expand All @@ -29,7 +45,7 @@
"compounds": [
{
"name": "Debug Solution",
"configurations": ["Python: Flask", "Launch web app"]
"configurations": ["Python: Flask", "Launch web app with Intersection Data"]
}
]
}
37 changes: 36 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,40 @@
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
}
},
"cSpell.words": [
"BOOTSTRAPSERVERS",
"cdot",
"cimms",
"collstats",
"conflictmonitor",
"conflictvisualizer",
"cviz",
"cvmanager",
"CVPEP",
"formik",
"geojsonconverter",
"healthcheck",
"inet",
"INITDB",
"inprog",
"keyfile",
"LOGLEVEL",
"MESSAGETYPE",
"millis",
"mongosh",
"pgdb",
"postgis",
"pytz",
"reduxjs",
"rsus",
"SASL",
"SNMP",
"svcs",
"TABLENAME",
"usdotjpoode",
"utctimestamp",
"wydot",
"Zabbix"
]
}
47 changes: 47 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,27 @@
},
"command": "${command:python.interpreterPath} -m pytest -v --cov-report xml:cov.xml --cov ."
},
{
"label": "run-intersection",
"type": "docker-compose",
"dockerCompose": {
"up": {
"detached": true,
"build": true,
"services": [
"cvmanager_postgres",
"cvmanager_keycloak",
"kafka",
"kafka_init",
"conflictvisualizer_api",
"mongodb_container"
]
},
"files": ["${workspaceFolder}/docker-compose.yml"],
"envFile": "${workspaceFolder}/.env"
},
"dependsOn": ["run-keycloak-and-postgres"]
},
{
"label": "run-keycloak-and-postgres",
"type": "docker-compose",
Expand All @@ -26,6 +47,32 @@
"files": ["${workspaceFolder}/docker-compose.yml"],
"envFile": "${workspaceFolder}/.env"
}
},
{
"label": "run-full-conflictmonitor",
"type": "docker-compose",
"dockerCompose": {
"up": {
"detached": true,
"build": true,
"services": [
"cvmanager_postgres",
"cvmanager_keycloak",
"kafka",
"kafka_init",
"ode",
"geojsonconverter",
"conflictmonitor",
"deduplicator",
"conflictvisualizer_api",
"mongodb_container",
"connect"
]
},
"files": ["${workspaceFolder}/docker-compose-full-cm.yml"],
"envFile": "${workspaceFolder}/.env"
},
"dependsOn": ["run-keycloak-and-postgres"]
}
]
}
145 changes: 141 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,110 @@ The JPO CV Manager was originally developed for the Google Cloud Platform and a
- Keycloak is used for the CV Manager webapp's authentication.
- The Keycloak pod requires a `realm.json` file in the folder: `./resources/keycloak/` to startup with the proper configurations. It also requires a login theme that can be modified and generated using the [keycloakify](https://github.com/keycloakify/keycloakify) forked repository in resources/keycloak/keycloakify. The theme will be automatically generated when using the docker image provided but can also be built using instructions found in the keycloakify folder.

### Intersection Data + ConflictMonitor Integration

The CVManager now has the ability to manage, configure, and display data from connected intersections. Using the JPO-ODE ConflictMonitor and other JPO-ODE resources, intersection-specific data can be collected, processed, and analyzed. The CVManager has the ability to display the results of this analysis, show live message data, and configure intersection monitoring. This includes the following:

- Displaying live MAPs, SPATs, and BSMs on a Mapbox map
- Displaying archived MAPs, SPATs, and BSMs on a Mapbox map
- Querying, downloading, and displaying events created by the ConflictMonitor
- Querying, downloading, and displaying assessments of events created by the ConflictMonitor
- Querying, managing, and displaying notifications created by the ConflictMonitor
- Updating and managing configuration parameters controlling message analysis, assessments, and notifications

More information on the ConflictMonitor and other services described above can be found here:

- [jpo-conflictmonitor](https://github.com/usdot-jpo-ode/jpo-conflictmonitor)
- [jpo-geojsonconverter](https://github.com/usdot-jpo-ode/jpo-geojsonconverter)
- [jpo-ode](https://github.com/usdot-jpo-ode/jpo-ode)
- [jpo-conflictvisualizer](https://github.com/usdot-jpo-ode/jpo-conflictvisualizer)

**Ongoing Efforts**
This feature is under active development. This is a joint effort involving combining the features of the existing CIMMS conflictvisualizer tools with the CVManager components, to enable connected vehicle and intersection analysis in one application.

#### Local Development

Ease of local development has been a major consideration in the integration of intersection data into the CVManager application. Through the use of public docker images and sample datasets, this process is relatively simple. The services required to show intersection data on the CVManager webapp are:

- [jpo-conflictvisualizer (api)](https://github.com/usdot-jpo-ode/jpo-conflictvisualizer/tree/cvmgr-cimms-integration/api)
- Modified jpo-conflictvisualizer api which is able to utilize the cvmanager keycloak realm
- kafka
- Base kafka image used to supply required topics to the conflictvisualizer api
- kafka_init
- Kafka topic creation image, to create required topics for the conflictvisualizer api
- MongoDB
- Base MongoDB image, with sample data, used to supply data to the conflictvisualizer api

**Running a Simple Local Environment**

1. Update your .env from the sample.env, all intersection-specific service variables are at the bottom.
2. Build the docker-compose:

```sh
docker compose up -d
```

If any issues occur, try:

```sh
docker compose up --build -d
```

This command will create all of the CVManager containers as well a the intersection-specific containers. Now, intersection-specific data will be available through the CVManager webapp.

**Running the CVManager without Intersection Services**

1. Update your .env from the sample_no_cm.env (It is not necessary to clear out the intersection-specific variables)
2. Build the docker-compose-no-cm:
If you would like to run all of the ConflictMonitor services including the JPO-ODE and GeoJSONConverter, use the docker-compose-full-cm.yml:

```sh
docker compose -f docker-compose-no-cm.yml up --build -d
```

**Running all ConflictMonitor Services**

1. Update your .env from the sample.env, all intersection-specific service variables are at the bottom. No additional variables are currently required on top of the simple intersection configuration.
2. Build the combined docker-compose:

```sh
docker compose -f docker-compose-full-cm.yml up --build -d
```

**ConflictMonitor Configuration Scripts**

A set of scripts and data dumps exists in the [conflictmonitor folder](./conflictmonitor), see the readme in that location for more information.

#### ConflictVisualizer API

- The CV Manager webapp has been integrated with the ConflictVisualizer tool to allow users to view data directly from a jpo-conflictmonitor instance. This integration currently requires an additional jpo-conflictvisualizer api to be deployed alongside the jpo-cvmanager api. This allows the webapp to make authenticated requests to the jpo-conflictvisualizer api to retrieve the conflict monitor data.
- [jpo-conflictvisualizer (api)](https://github.com/usdot-jpo-ode/jpo-conflictvisualizer/tree/cvmgr-cimms-integration/api)
- kafka
- kafka_init (to create required kafka topics)
- MongoDB (to hold message and configuration data)

The ConflictVisualizer api pulls archived message and configuration data from MongoDB, and is able to live-stream SPATs, MAPs, and BSMs from specific kafka topics

#### MongoDB

MongoDB is the backing database of the ConflictVisualizer api. This database holds configuration parameters, archived data (SPATs, MAPs, BSMs, ...), and processed data (notifications, assessments, events). For local development, a mongodump has been created in the conflictmonitor/mongo/dump_2024_08_20 directory. This includes notifications, assessments, events, as well as SPATs, MAPs, and BSMs. All of this data is available through the conflictvisualizer api.

#### Kafka

Kafka is used by the ConflictVisualizer api to receive data from the ODE, GeoJSONConverter, and ConflictMonitor. These connections enable live data to

#### Generating Sample Data

Some simple sample data is injected into the MongoDB instance when created. If more data is useful, the test-message-sender from the jpo-conflictmonitor can also be used to generate live sample data. This component should be cloned/installed separately, and is described here: [jpo-conflictmonitor/test-message-sender](https://github.com/usdot-jpo-ode/jpo-conflictmonitor/tree/develop/test-message-sender)

## Getting Started

The following steps are intended to help get a new user up and running the JPO CV Manager in their own environment.

1. Follow the Requirements and Limitations section and make sure all requirements are met.
2. Create a copy of the sample.env named ".env" and refer to the Environmental variables section below for more information on each variable.
1. Make sure at least the DOCKER_HOST_IP, KEYCLOAK_ADMIN_PASSWORD, KEYCLOAK_API_CLIENT_SECRET_KEY, and MAPBOX_TOKEN are set for this.
2. Some of these variables, delineated by sections, pertain to the [jpo-conflictvisualizer (api)](https://github.com/usdot-jpo-ode/jpo-conflictvisualizer/tree/cvmgr-cimms-integration/api), [jpo-conflictmonitor](https://github.com/usdot-jpo-ode/jpo-conflictmonitor), [jpo-geojsonconverter](https://github.com/usdot-jpo-ode/jpo-geojsonconverter), [jpo-ode](https://github.com/usdot-jpo-ode/jpo-ode). Please see the documentation provided for these projects when setting these variables.
3. The CV Manager has four components that need to be containerized and deployed: the API, the PostgreSQL database, Keycloak, and the webapp.

- If you are looking to deploy the CV Manager locally, you can simply run the docker-compose, make sure to fill out the .env file to ensure it launches properly. Also, edit your host file ([How to edit the host file](<[resources/kubernetes](https://docs.rackspace.com/support/how-to/modify-your-hosts-file/)>)) and add IP address of your docker host to these custom domains (remove the carrot brackets and just put the IP address):
Expand All @@ -66,7 +163,15 @@ The following steps are intended to help get a new user up and running the JPO C

4. Apply the docker compose to start the required components:

docker compose up -d
```sh
docker compose up -d
```

If any issues occur, try:

```sh
docker compose up --build -d
```

5. Access the website by going to:

Expand Down Expand Up @@ -144,7 +249,15 @@ For the "Debug Solution" to run properly on Windows 10/11 using WSL, the followi

3. Apply the docker compose to start the required components:

docker compose up -d
```sh
docker compose up -d
```

To run only the critical cvmanager components (no conflictmonitor/conflictvisualizer), use this command:

```sh
docker compose up -d cvmanager_api cvmanager_webapp cvmanager_postgres cvmanager_keycloak
```

4. Access the website by going to:

Expand Down Expand Up @@ -189,13 +302,15 @@ For the "Debug Solution" to run properly on Windows 10/11 using WSL, the followi
- SSM_DB_NAME: The database name for SSM visualization data.
- SRM_DB_NAME: The database name for SRM visualization data.
- FIRMWARE_MANAGER_ENDPOINT: Endpoint for the firmware manager deployment's API.
- CSM_EMAIL_TO_SEND_FROM: Origin email address for the API.
- CSM_EMAIL_TO_SEND_FROM: Origin email address for the API error developer emails.
- CSM_EMAILS_TO_SEND_TO: Destination email addresses for the API error developer emails.
- CSM_EMAIL_APP_USERNAME: Username for the SMTP server.
- CSM_EMAIL_APP_PASSWORD: Password for the SMTP server.
- CSM_EMAILS_TO_SEND_TO: Destination email list.
- CSM_TARGET_SMTP_SERVER_ADDRESS: Destination SMTP server address.
- CSM_TARGET_SMTP_SERVER_PORT: Destination SMTP server port.
- API_LOGGING_LEVEL: The level of which the CV Manager API will log. (DEBUG, INFO, WARNING, ERROR)
- CSM_TLS_ENABLED: Set to "true" if the SMTP server requires TLS.
- CSM_AUTH_ENABLED: Set to "true" if the SMTP server requires authentication.
- WZDX_ENDPOINT: WZDX datafeed endpoint.
- WZDX_API_KEY: API key for the WZDX datafeed.
- TIMEZONE: Timezone to be used for the API.
Expand All @@ -210,8 +325,30 @@ For the "Debug Solution" to run properly on Windows 10/11 using WSL, the followi

<b>MongoDB Variables</b>

#### For Windows Users Only

If running on Windows, please make sure that your global git config is set up to not convert end-of-line characters during checkout.

Disable `git core.autocrlf` (One Time Only)

```bash
git config --global core.autocrlf false
```

- MONGO_DB_URI: URI for the MongoDB connections.
- MONGO_DB_NAME: Database name for RSU counts.
- MONGO_ADMIN_DB_USER: Admin Username for MongoDB
- MONGO_ADMIN_DB_PASS: Admin Password for MongoDB
- MONGO_CV_MANAGER_DB_USER: CV Manager Username for MongoDB
- MONGO_CV_MANAGER_DB_PASS: CV Manager Password for MongoDB

- MONGO_IP: IP Address of the MongoDB (Defaults to $DOCKER_HOST_IP)
- MONGO_DB_USER: Username of the account used to connect to MongoDB
- MONGO_DB_PASS: Password of the account used to connect to MongoDB
- MONGO_PORT: Port number of MongoDB (default is 27017)
- MONGO_COLLECTION_TTL: Number of days documents will be kept in a MongoDB collection

- INSERT_SAMPLE_DATA: If true, sample data will be inserted in the CVCounts, V2XGeoJson, and OdeSsmJson collections

<b>Keycloak Variables</b>

Expand Down
11 changes: 11 additions & 0 deletions conflictmonitor/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# JPO-Conflictmonitor Components

This directory contains configuration files for the jpo-conflictmonitor, referenced in the docker-compose.yml. These files configure the kafka init container as well as the mongodb container.

## kafka

This directory contains kafka scripts, used for initializing the relevant kafka topics required for ConflictMonitor components. This script came from the JPO-ConflictMonitor repository, and has been modified to create additional topics required by the conflictvisualizer api.

## mongo

This directory contains scripts from the ConflictMonitor for initializing collections and indexes, as well as a mongodump dataset used for the visualizer. These files are referenced in the docker-compose.yml, and should not need to be modified for local development.
Loading
Loading