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 q2 into master #19

Merged
merged 273 commits into from
Jun 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
9f088ca
Trim down the path
drewjj Feb 7, 2024
5186b6a
Update webapp azure-pipeline
drewjj Feb 7, 2024
53babc0
bug fix with the result.acknowledge function
Michael7371 Feb 7, 2024
3957960
Merge pull request #39 from CDOT-CV/kafka-counter-mongo-bug-fix
dmccoystephenson Feb 7, 2024
10cf594
Defaults to INFO if empty string
drewjj Feb 7, 2024
8d7d592
Fixed Missing CIMMS environment Variables
John-Wiens Feb 7, 2024
e7a3278
adding keycloak devops pipeline
Michael7371 Feb 7, 2024
1db8205
Fixed Spelling on WEBAPP_CM_DOMAIN
John-Wiens Feb 7, 2024
7db40d9
Merge pull request #40 from CDOT-CV/cm-integration
dmccoystephenson Feb 7, 2024
1a1cf6b
Remove feature branch from the trigger branches
drewjj Feb 8, 2024
9ce30f1
Add develop to all azure-pipeline branch triggers
drewjj Feb 8, 2024
a5d83d4
SQL update
mwodahl Feb 13, 2024
3e78929
Update API
mwodahl Feb 13, 2024
25dcf8a
testing updates
mwodahl Feb 13, 2024
2670e15
Remove logging statement from managers.tsx
mwodahl Feb 13, 2024
df8a095
Remove main from trigger branches
drewjj Feb 13, 2024
cffa6f8
Merge pull request #41 from CDOT-CV/adding-ci-cd
payneBrandon Feb 13, 2024
111564c
Address comments
drewjj Feb 14, 2024
557b6fe
Merge branch 'develop' into page-routing
jacob6838 Feb 14, 2024
c12eca2
Merge pull request #38 from CDOT-CV/rsu-status
payneBrandon Feb 15, 2024
d427adc
Merge branch 'develop' into Update/add-encrypt-pw
mwodahl Feb 16, 2024
a989464
Add update script
mwodahl Feb 19, 2024
942088c
Add first draft of the pull request template
drewjj Feb 21, 2024
bd597c5
Merge pull request #42 from CDOT-CV/Update/add-encrypt-pw
drewjj Feb 23, 2024
92bcb44
Updated documentation to lock in Python 3.12.2 as recommended version.
dmccoystephenson Feb 23, 2024
2ff3be4
Updated dockerfiles to use Python 3.12.2
dmccoystephenson Feb 23, 2024
6ad5a25
Updated `ci.yml` to use Python 3.12.2
dmccoystephenson Feb 23, 2024
a93e7d3
Updated multidict to 6.0.5 for Python 3.12.2 compatibility
dmccoystephenson Feb 27, 2024
4b7da91
Added documentation on setting up a virtual environment to the README.
dmccoystephenson Feb 27, 2024
cc2d1f1
Merge pull request #13 from usdot-jpo-ode/master
dan-du-car Feb 28, 2024
e4baa4a
Adding admin 404 route and nginx proxy
jacob6838 Feb 29, 2024
2796c6b
Tabs update
mwodahl Feb 29, 2024
6d5611a
Date picker update
mwodahl Feb 29, 2024
f214021
Menu pointer target size update
mwodahl Feb 29, 2024
5a49d26
Test snapshot update
mwodahl Feb 29, 2024
488c660
add role to error + status messages
mwodahl Feb 29, 2024
148fb8d
Test snapshot updates
mwodahl Feb 29, 2024
764473a
Add 'Required' to required input fields
mwodahl Feb 29, 2024
0dc1434
Testing updates
mwodahl Feb 29, 2024
90ca549
Testing snapshot updates
mwodahl Feb 29, 2024
5b04338
Menu updates to fit enlarged text
mwodahl Feb 29, 2024
e4d987d
Color updates
mwodahl Feb 29, 2024
1192010
Admin table theme update
mwodahl Feb 29, 2024
7645a64
Testing snapshot update
mwodahl Feb 29, 2024
04601e0
Add Vendor Filter to Map
mwodahl Mar 1, 2024
1266898
RSU Geo Query update
mwodahl Mar 1, 2024
153169d
API testing update
mwodahl Mar 1, 2024
cd255b8
Webapp testing snapshot update
mwodahl Mar 1, 2024
421e9f5
Add contact support menu to help page
mwodahl Mar 1, 2024
c7fd96c
Modified `Getting Started` section of README to include linux & windo…
dmccoystephenson Mar 3, 2024
d49d7f8
Email support
drewjj Mar 6, 2024
d5b0d27
Remove strange docker-compose
drewjj Mar 6, 2024
46a3410
Resolve bugs encountered with testing
drewjj Mar 6, 2024
0f43f58
Alter cron to be once per day
drewjj Mar 6, 2024
6f1f5b2
Remove unnecessary print statement
mwodahl Mar 6, 2024
cef5572
Merge pull request #48 from CDOT-CV/Update/wcag-keyboard-focus
payneBrandon Mar 6, 2024
abbec92
Merge pull request #50 from CDOT-CV/Update/wcag-color-contrast
payneBrandon Mar 6, 2024
1e3566b
Update pull_request_template.md
drewjj Mar 6, 2024
a05f08a
Merge pull request #45 from CDOT-CV/Update/wcag-text-resize
payneBrandon Mar 6, 2024
3292580
Merge pull request #49 from CDOT-CV/Update/wcag-headings-labels
payneBrandon Mar 6, 2024
2603232
Update unit tests and make the emailer a common script
drewjj Mar 6, 2024
5a74918
Added automatic index creation for the bsm_query script
drewjj Mar 7, 2024
2f38b0c
Update emailer to allow for html rendering
drewjj Mar 7, 2024
a24af7e
remove bigquery and rework counts and ssmsrm for mongodb
drewjj Mar 7, 2024
1db2cf5
Merge remote-tracking branch 'origin/mongo-count-emailer' into mongo-…
drewjj Mar 7, 2024
813e097
unit tests added for full mongo support
drewjj Mar 7, 2024
f03d359
Remove unused environment variables and update K8s YAML
drewjj Mar 7, 2024
e460265
Remove more gcp specific environment variables from documentation and…
drewjj Mar 7, 2024
5112abc
Merge branch 'develop' into Update/wcag-pointer-targets
mwodahl Mar 7, 2024
304015c
Merge pull request #44 from CDOT-CV/python/lock-in-lts-version
payneBrandon Mar 11, 2024
0579be1
Merge pull request #43 from CDOT-CV/pull-request-template
payneBrandon Mar 12, 2024
e327324
Merge pull request #53 from CDOT-CV/mongo-bsm-query
drewjj Mar 14, 2024
0af4e91
Merge remote-tracking branch 'origin/develop' into mongo-count-emailer
drewjj Mar 15, 2024
7c72582
Remove circular import
drewjj Mar 18, 2024
664048b
Merge remote-tracking branch 'origin/mongo-cv-manager' into bsm-visua…
drewjj Mar 18, 2024
eb8d681
Resolve 2 BSM visualization bugs
drewjj Mar 19, 2024
8c0b6b0
Update webapp unit test
drewjj Mar 19, 2024
38f910d
Merge branch 'develop' into mongo-cv-manager
Michael7371 Mar 19, 2024
5b3322d
Update blob download methods
mwodahl Mar 20, 2024
5b0c123
Add post_upgrade method and functionality
mwodahl Mar 20, 2024
8697d91
README update
mwodahl Mar 20, 2024
a6ebd06
Testing Update
mwodahl Mar 20, 2024
e9321b4
Update comments
mwodahl Mar 21, 2024
61429be
working changes
drewjj Mar 22, 2024
5fc49d4
Updated the query to account for the recent changes in the jpo-ode Od…
drewjj Mar 22, 2024
17bbf78
Update unit tests to reflect latest changes
drewjj Mar 22, 2024
9270f12
Update mongo query results parsing and unit test
drewjj Mar 22, 2024
b975bb4
move wait_until_online to upgrader.py
mwodahl Mar 22, 2024
3db0e22
Add test for post_upgrade.sh failure
mwodahl Mar 22, 2024
90faa42
Merge branch 'develop' into Update/contact-support-help
mwodahl Mar 22, 2024
6ae5e22
Merge pull request #51 from CDOT-CV/Feature/vendor-filter
drewjj Mar 25, 2024
fade277
Merge pull request #47 from CDOT-CV/Update/wcag-pointer-targets
drewjj Mar 25, 2024
f6555bf
Merge remote-tracking branch 'origin/develop' into bsm-visual-bugfix
drewjj Mar 25, 2024
a578485
Add update queue
drewjj Mar 26, 2024
c511aca
Merge remote-tracking branch 'origin/Update/fw-manager-post-update' i…
drewjj Mar 26, 2024
ce6619f
Add environment variable for the active upgrade limit
drewjj Mar 26, 2024
cf2f5ab
Add unit tests
drewjj Mar 26, 2024
25e87d3
Merge branch 'develop' into Update/wcag-status-messages
mwodahl Mar 26, 2024
38d9104
Update sample env file
drewjj Mar 26, 2024
a25510a
Adding checks for invalid rsus/users/organizations in edit pages
jacob6838 Mar 26, 2024
a969604
Added support for storing ISS keys in postgres database
dmccoystephenson Jan 25, 2024
6fa9485
Updated `test_iss_token.py` to account for new env var
dmccoystephenson Jan 25, 2024
d3a3193
Implemented unit tests for postgres ISS key storage
dmccoystephenson Jan 26, 2024
090e8d2
Updated ISS Health Check README to include postgres storage info
dmccoystephenson Jan 26, 2024
9ac4d8e
Modified 'About' section in ISS Health Check README
dmccoystephenson Jan 26, 2024
43eb3c1
Modified `iss_token.py` to exit if STORAGE_TYPE is invalid or unset
dmccoystephenson Jan 26, 2024
7a80e62
Made STORAGE_TYPE env var for ISS Health Check addon case insensitive
dmccoystephenson Jan 26, 2024
e16d8a3
Added docker storage support for the Firmware Manager
dmccoystephenson Feb 2, 2024
f608bb7
Improved clarity of documentation for docker firmware storage.
dmccoystephenson Feb 16, 2024
99a9326
Printed useful error message upon failure to decode JSON response fro…
dmccoystephenson Feb 9, 2024
42dc0d1
Added new environment variables to ihc manifest
dmccoystephenson Feb 21, 2024
79852e8
Used pytest.raises() instead of try/catch in `test_iss_token.py`
dmccoystephenson Feb 23, 2024
97fee13
Updated multidict dependency to 6.0.5 in requirements.txt
dmccoystephenson Mar 26, 2024
e50ac39
init commit
Michael7371 Mar 26, 2024
f3f98f3
initial updates
Michael7371 Mar 27, 2024
9f1b956
Fixing formatting and finalizing handling of invalid urls for edit pages
jacob6838 Mar 27, 2024
07ae172
Merge branch 'develop' into page-routing
jacob6838 Mar 27, 2024
c602048
Accounted for TIM message types in `rsufwdsnmpset.py`
dmccoystephenson Mar 27, 2024
c6f536d
Make mongo queries more performant for the counts
drewjj Mar 28, 2024
bb78512
Merge remote-tracking branch 'origin/develop' into mongo-cv-manager
drewjj Mar 28, 2024
b30c359
Update unit tests to account for performance changes
drewjj Mar 28, 2024
12c82ac
init geo msg refactor
Michael7371 Mar 28, 2024
5f9abaa
Merge pull request #52 from CDOT-CV/mongo-count-emailer
payneBrandon Mar 29, 2024
c534751
Merge pull request #8 from Trihydro/requirements/update-multidict-ver…
payneBrandon Mar 29, 2024
9a79b2a
Merge pull request #56 from CDOT-CV/Update/fw-manager-post-update
payneBrandon Mar 29, 2024
a10969a
Merge pull request #46 from CDOT-CV/Update/wcag-status-messages
drewjj Mar 29, 2024
8e635f9
Fixing tests, fixing edit re-routes
jacob6838 Mar 29, 2024
171d7c9
Merge branch 'develop' into page-routing
jacob6838 Mar 29, 2024
e6af587
Adding role=alert from merge conflict
jacob6838 Mar 29, 2024
371d216
Minor color and redirect page updates
jacob6838 Apr 1, 2024
e74e449
working commit
Michael7371 Apr 1, 2024
0ad814e
working webapp unit tests
Michael7371 Apr 1, 2024
a4f0ef4
Merge remote-tracking branch 'origin/develop' into mongo-cv-manager
drewjj Apr 1, 2024
b1bb176
Add comment to link to the SRM and SSM schemas
drewjj Apr 1, 2024
24bcbd1
Merge remote-tracking branch 'origin/develop' into bsm-visual-bugfix
drewjj Apr 1, 2024
488f2fa
Merge pull request #54 from CDOT-CV/mongo-cv-manager
payneBrandon Apr 1, 2024
94265d1
Merge remote-tracking branch 'origin/develop' into bsm-visual-bugfix
drewjj Apr 1, 2024
8032cf4
unit test updates
Michael7371 Apr 2, 2024
f8f557d
To make cicd run
drewjj Apr 3, 2024
5dea348
Remove unused state object
drewjj Apr 3, 2024
fd06547
Merge branch 'develop' into Feature/rsu-support-of-tims
dmccoystephenson Apr 3, 2024
c2c8cd6
Added 'tim' message type option to SnmpSetMenu component
dmccoystephenson Apr 4, 2024
8cc9fe4
Updated snapshot for SnmpsetMenu component
dmccoystephenson Apr 4, 2024
0c380fe
Changed PSID for TIMs to 8003
dmccoystephenson Apr 4, 2024
f728d34
Changed expected PSID for TIMs in `test_rsufwdsnmpset.py` to 8003
dmccoystephenson Apr 4, 2024
c52415d
unit test updates
Michael7371 Apr 8, 2024
cd7035a
Refactor geo_msg_query.py unit tests and add watch_collection method
Michael7371 Apr 8, 2024
997f18d
Merge branch 'develop' into psm-visualization
Michael7371 Apr 8, 2024
dcb020d
updated addons deployment to use base .env file
Michael7371 Apr 8, 2024
871ea4a
Refactor geo_msg_query and test_rsu_geo_msg_query.py
Michael7371 Apr 8, 2024
24def0d
Update MONGO_BSM_INPUT_COLLECTION to MONGO_INPUT_COLLECTIONS
Michael7371 Apr 8, 2024
88e748e
Add updates for supporting msgfwd querying from the cv manager api
drewjj Apr 10, 2024
fe8a562
Merge pull request #55 from CDOT-CV/bsm-visual-bugfix
payneBrandon Apr 10, 2024
f2e9b09
Merge pull request #57 from CDOT-CV/fm-queue
payneBrandon Apr 10, 2024
f789fc3
Add snmp changes to the webapp
drewjj Apr 11, 2024
7ca2f73
Add webapp test changes
drewjj Apr 11, 2024
adc6647
Added python unit tests for API changes
drewjj Apr 11, 2024
543aec7
Merge branch 'develop' into Update/contact-support-help
mwodahl Apr 11, 2024
aa1db64
Fix className typo
mwodahl Apr 16, 2024
4dd0565
Merge remote-tracking branch 'origin/develop' into webapp-snmp-changes
drewjj Apr 18, 2024
319aecb
Add geo_msg_query filter
mwodahl Apr 18, 2024
8d15d84
Update map to display correctly in case of no returned BSM/PSM record…
mwodahl Apr 18, 2024
691f8b4
Replaced single-line comments with docstrings in `download_blob.py`
dmccoystephenson Apr 25, 2024
d59f431
Improved clarity of comments in `sample.env` for firmware_manager
dmccoystephenson Apr 25, 2024
755538b
Modified `upgrader.py` to raise an exception if an unsupported blob s…
dmccoystephenson Apr 25, 2024
5934f84
Added module-specific logger for ISS Health Check addon
dmccoystephenson Apr 25, 2024
5c4fcf0
Added file type validation checks to `download_blob.py`
dmccoystephenson Apr 25, 2024
1cf0ea8
Added validation checks for SCMS data to `iss_health_checker.py`
dmccoystephenson Apr 25, 2024
da7a4ba
Added a comment to explain why the last character is ignored in the i…
dmccoystephenson Apr 25, 2024
ec3d455
Created RsuDataWrapper class in `iss_health_checker.py` to improve cl…
dmccoystephenson Apr 25, 2024
2ca5153
Fixed logging configuration setup in `iss_health_checker.py`
dmccoystephenson Apr 25, 2024
0a82c24
Merge branch 'develop' into psm-visualization
Michael7371 Apr 25, 2024
91eba8f
fix sample.env
Michael7371 Apr 25, 2024
d375e59
Resolve mismatched env vars
drewjj Apr 25, 2024
414f94b
Merge pull request #64 from CDOT-CV/purger-env-fix
dmccoystephenson Apr 26, 2024
4804f06
Add failure email to upgraders
mwodahl Apr 26, 2024
4b7e651
.env file updates
mwodahl Apr 26, 2024
2223530
docker-compose update
mwodahl Apr 26, 2024
003ba6d
Address purger logic changes
drewjj Apr 26, 2024
5f342ad
Unit tests updated for the changes made
drewjj Apr 26, 2024
dbee31a
Merge pull request #10 from Trihydro/pr/addressing-usdot-comments
payneBrandon Apr 26, 2024
cb76e08
Merge pull request #65 from CDOT-CV/Fix/purger_logic
drewjj Apr 29, 2024
54b7b6f
Merge pull request #62 from CDOT-CV/Update/contact-support-help
payneBrandon Apr 29, 2024
79ad929
Merge pull request #15 from Trihydro/dev
dan-du-car Apr 29, 2024
81969e0
Remove date range warning from bsm-visualizer
mwodahl Apr 29, 2024
5eb135c
Removing RSU map page, fixing edit org page
jacob6838 Apr 30, 2024
7406e24
documentation update
mwodahl Apr 30, 2024
ca9bd81
Documentation update
mwodahl Apr 30, 2024
375e136
remove unused import
mwodahl Apr 30, 2024
7040b09
daily aggregate counts with performant cv manager queries
drewjj May 6, 2024
8418b1d
update unit tests
drewjj May 7, 2024
79ec2ac
Update addon README
drewjj May 7, 2024
2889ce1
Address unit test issues
drewjj May 7, 2024
1d79390
Merge pull request #59 from CDOT-CV/Feature/rsu-support-of-tims
drewjj May 7, 2024
8ddfaae
Fixing text on datetime pickers, updating admin page colors
jacob6838 May 7, 2024
c70ed4e
Reverting theming of Admin page
jacob6838 May 7, 2024
82de555
Updating unit tests and snapshots from formatting updates
jacob6838 May 7, 2024
f57270d
Update Help.tsx
jacob6838 May 8, 2024
d4e9336
Fixing missing wzdx icons
jacob6838 May 8, 2024
a55b9fd
Update snmp functionality to include editing the postgresql config th…
drewjj May 8, 2024
f5798f1
Merge remote-tracking branch 'origin/develop' into webapp-snmp-changes
drewjj May 8, 2024
b84bf45
Resolve bug with query building
drewjj May 8, 2024
1846bd3
Significantly improving 404 page and logic
jacob6838 May 8, 2024
4033451
Update 404.tsx
jacob6838 May 8, 2024
4b8206b
Update Admin.test.tsx.snap
jacob6838 May 8, 2024
59173e5
Added PSM to counts
drewjj May 8, 2024
46958da
fix sonnar tests and replace bsm_query ref with geo_query
Michael7371 May 8, 2024
ac4a047
Merge branch 'psm-visualization' into Update/bsm-visualizer
mwodahl May 9, 2024
8e01190
Merge pull request #37 from CDOT-CV/page-routing
payneBrandon May 9, 2024
34ef468
fixing documentation and adding viewer msg types to docker build of w…
Michael7371 May 9, 2024
0b46573
reverting mongo uri env var name change
Michael7371 May 9, 2024
d4df0a7
added env variable
Michael7371 May 9, 2024
7a258c9
commit to trigger build
Michael7371 May 9, 2024
acf596b
updated V2x to V2X
Michael7371 May 9, 2024
b8b9b8d
Fix typo
drewjj May 9, 2024
bec5180
Merge branch 'psm-visualization' of https://github.com/CDOT-CV/jpo-cv…
drewjj May 9, 2024
64a82b9
Update README to include PSM in list of supported counts
drewjj May 9, 2024
25dd13a
remove filter condition
mwodahl May 10, 2024
e86c7a0
Update check_online return value
mwodahl May 10, 2024
50e3c49
Merge pull request #67 from CDOT-CV/add-counter
payneBrandon May 10, 2024
39ff13d
Merge pull request #61 from CDOT-CV/webapp-snmp-changes
payneBrandon May 10, 2024
632ffbf
addressing marc's comments
Michael7371 May 10, 2024
a049690
Merge branch 'develop' into psm-visualization
Michael7371 May 10, 2024
4e67650
removed commented out code and added PSM to sample counts
Michael7371 May 10, 2024
8bba83b
Merge pull request #60 from CDOT-CV/psm-visualization
payneBrandon May 10, 2024
ee4430c
updated the geo-msg-query to have better logging and also handle ode …
Michael7371 May 10, 2024
64bc206
update to change default cvmanager token refresh from 5min to 30 min.
Michael7371 May 14, 2024
6fe61d5
addressing daniels pr comments
Michael7371 May 14, 2024
8912311
testing updates
mwodahl May 15, 2024
f45671f
Merge branch 'develop' into Update/fw-manager-fail-email
mwodahl May 15, 2024
376cabb
Merge pull request #69 from CDOT-CV/keycloak-token-expiry-update
drewjj May 17, 2024
76de9fb
Merge pull request #68 from CDOT-CV/geo-msg-millis-fix
drewjj May 17, 2024
d2fd749
Update example cv-manager-api.yaml
mwodahl May 17, 2024
fd160bb
Limit scroll to just the help section to prevent losing the header
drewjj May 17, 2024
1c4a79a
Merge pull request #70 from CDOT-CV/bug-fixes
drewjj May 20, 2024
632b202
Merge pull request #63 from CDOT-CV/Update/bsm-visualizer
drewjj May 20, 2024
becc035
Update example k8s firmware-manager.yaml
mwodahl May 20, 2024
46dc3ee
Merge pull request #66 from CDOT-CV/Update/fw-manager-fail-email
drewjj May 21, 2024
eddb2d5
Write release notes for version 1.3.0
drewjj May 21, 2024
b43663a
Grammatical change
drewjj May 21, 2024
5cf13a8
Merge pull request #71 from CDOT-CV/release-notes-1.3.0
dmccoystephenson May 22, 2024
ee5483c
added change stream filters for only inserted documents
Michael7371 May 24, 2024
42d6a70
Merge pull request #72 from CDOT-CV/geo-msg-query-ttl-fixes
drewjj May 24, 2024
ca41e76
Updated release notes for version 1.3.0
dmccoystephenson Jun 3, 2024
6f6c482
Merge pull request #73 from CDOT-CV/releasenotes/update-release-notes
drewjj Jun 3, 2024
0bb0535
Merge branch 'develop' into merge_wydot_firmware_manager
drewjj Jun 3, 2024
0f640f5
Update firmware manager to support the wydot changes and update tests
drewjj Jun 3, 2024
e0cfd87
Remove duplicate sample env var
drewjj Jun 5, 2024
f977f7d
Merge pull request #74 from CDOT-CV/merge_wydot_firmware_manager
dmccoystephenson Jun 5, 2024
7a699e9
Merge pull request #18 from CDOT-CV/develop
payneBrandon Jun 5, 2024
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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
build_api:
runs-on: ubuntu-latest
container:
image: python:3.9
image: python:3.12.2
options: --user root
steps:
- name: Checkout ${{ github.event.repository.name }}
Expand Down Expand Up @@ -128,9 +128,9 @@ jobs:
sonar.projectKey=usdot-jpo-ode_jpo-cvmanager
sonar.projectName=jpo-cvmanager
sonar.python.coverage.reportPaths=$GITHUB_WORKSPACE/services/cov.xml
sonar.python.version=3.12
sonar.python.version=3.12.2
api.sonar.projectBaseDir=$GITHUB_WORKSPACE/services
api.sonar.sources=addons/images/bsm_query,addons/images/count_metric,addons/images/firmware_manager,addons/images/iss_health_check,addons/images/rsu_ping,api/src,common/pgquery.py
api.sonar.sources=addons/images/geo_msg_query,addons/images/count_metric,addons/images/firmware_manager,addons/images/iss_health_check,addons/images/rsu_status_check,api/src,common/pgquery.py
api.sonar.tests=addons/tests,api/tests,common/tests
webapp.sonar.projectBaseDir=$GITHUB_WORKSPACE/webapp
webapp.sonar.sources=src
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ cov.xml
.venv
cov_html
htmlcov
.pytest_cache
.pytest_cache
local_blob_storage
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
},
"python.envFile": "${workspaceFolder}/.env",
"terminal.integrated.env.windows": {
"PYTHONPATH": "${workspaceFolder}/services;${workspaceFolder}/services/addons/images/bsm_query;${workspaceFolder}/services/addons/images/count_metric;${workspaceFolder}/services/addons/images/firmware_manager;${workspaceFolder}/services/addons/images/iss_health_check;${workspaceFolder}/services/addons/images/rsu_ping_fetch;${workspaceFolder}/services/api/src;${workspaceFolder}/services/common"
"PYTHONPATH": "${workspaceFolder}/services;${workspaceFolder}/services/addons/images/geo_msg_query;${workspaceFolder}/services/addons/images/count_metric;${workspaceFolder}/services/addons/images/firmware_manager;${workspaceFolder}/services/addons/images/iss_health_check;${workspaceFolder}/services/addons/images/rsu_status_check;${workspaceFolder}/services/api/src;${workspaceFolder}/services/common"
},
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
Expand Down
54 changes: 47 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The JPO Connected Vehicle Manager is a web-based application that helps an organ

<b>GUI:</b> ReactJS with Redux Toolkit and Mapbox GL

<b>API:</b> Python
<b>API:</b> Python 3.12.2

<b>Features:</b>

Expand Down Expand Up @@ -88,7 +88,46 @@ The following steps are intended to help get a new user up and running the JPO C

### Debugging

Note that it is recommended to work with the Python API from a [virtual environment](https://docs.python.org/3/library/venv.html). See [Visual Studio Code](https://code.visualstudio.com/docs/python/environments) documentation for more information on how to set up a virtual environment in VS Code.
Note that it is recommended to work with the Python API from a [virtual environment](https://docs.python.org/3/library/venv.html).

#### Setting up a virtual environment from the command line

1. Verify that you have Python 3.12.2 installed on your machine by running the following command:
```bash
python3.12 --version
```
```cmd
python --version
```
If you have a different version installed, download and install Python 3.12.2 from the [Python website](https://www.python.org/downloads/).
2. Open a terminal and navigate to the root of the project.
3. Run the following command to create a virtual environment in the project root:
```bash
python3.12 -m venv .venv
```
```cmd
python -m venv .venv
```
4. Activate the virtual environment:
```bash
source .venv/bin/activate
```
```cmd
.venv\Scripts\activate
```
5. Install the required packages:
```bash
pip3.12 install -r services/requirements.txt
```
```cmd
pip install -r services/requirements.txt
```

#### Setting up a virtual environment with VSCode

See [Visual Studio Code](https://code.visualstudio.com/docs/python/environments) documentation for information on how to set up a virtual environment with VS Code.

#### Debugging Profile

A debugging profile has been set up for use with VSCode to allow ease of debugging with this application. To use this profile, simply open the project in VSCode and select the "Debug" tab on the left side of the screen. Then, select the "Debug Solution" profile and click the green play button. This will spin up a postgresql instance as well as the keycloak auth solution within docker containers. Once running, this will also start the debugger and attach it to the running API container. You can then set breakpoints and step through the code as needed.

Expand Down Expand Up @@ -137,17 +176,16 @@ For the "Debug Solution" to run properly on Windows 10/11 using WSL, the followi
- WEBAPP_DOMAIN: The domain that the webapp will run on. This is required for Keycloak CORS authentication.
- API_URI: The endpoint for the CV manager API, must be on a Keycloak Authorized domain.
- COUNT_MESSAGE_TYPES: List of CV message types to query for counts.
- VIEWER_MSG_TYPES: List of CV message types to query geospatially.
- DOT_NAME: The name of the DOT using the CV Manager.
- MAPBOX_INIT_LATITUDE: Initial latitude value to use for MapBox view state.
- MAPBOX_INIT_LONGITUDE: Initial longitude value to use for MapBox view state.
- MAPBOX_INIT_ZOOM: Initial zoom value to use for MapBox view state.

<b>API Variables</b>

- COUNTS_DB_TYPE: Set to either "MongoDB" or "BigQuery" depending on where the message counts are stored.
- COUNTS_MSG_TYPES: Set to a list of message types to include in counts query. Sample format is described in the sample.env.
- COUNTS_DB_NAME: The BigQuery table or MongoDB collection name where the RSU message counts are located.
- BSM_DB_NAME: The database name for BSM visualization data.
- GEO_DB_NAME: The database name for geospatial message visualization data. This is currently only supported for BSM and PSM message types.
- 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.
Expand All @@ -158,7 +196,7 @@ For the "Debug Solution" to run properly on Windows 10/11 using WSL, the followi
- 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)
- WZDX_ENDPOINT: WZDX datafeed enpoint.
- WZDX_ENDPOINT: WZDX datafeed endpoint.
- WZDX_API_KEY: API key for the WZDX datafeed.
- TIMEZONE: Timezone to be used for the API.
- GOOGLE_APPLICATION_CREDENTIALS: Path to the GCP service account credentials file. Attached as a volume to the CV manager API service.
Expand All @@ -172,7 +210,7 @@ For the "Debug Solution" to run properly on Windows 10/11 using WSL, the followi

<b>MongoDB Variables</b>

- MONGO_DB_URI: URI for the MongoDB connection.
- MONGO_DB_URI: URI for the MongoDB connections.
- MONGO_DB_NAME: Database name for RSU counts.

<b>Keycloak Variables</b>
Expand All @@ -189,6 +227,8 @@ For the "Debug Solution" to run properly on Windows 10/11 using WSL, the followi
- GOOGLE_CLIENT_ID: GCP OAuth2.0 client ID for SSO Authentication within keycloak.
- GOOGLE_CLIENT_SECRET: GCP OAuth2.0 client secret for SSO Authentication within keycloak.

Environment variables from addon services can also be set in the main `.env` file. These variables are defined in their own `README` files in the `services/addons/images` location of this repository.

## License Information

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
Expand Down
113 changes: 88 additions & 25 deletions docker-compose-addons.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,20 @@ include:
- docker-compose.yml

services:
# ADDONS:
jpo_bsm_query:
jpo_geo_msg_query:
build:
context: ./services
dockerfile: Dockerfile.bsm_query
image: bsm_query:latest
restart: always
dockerfile: Dockerfile.geo_msg_query
image: geo_msg_query:latest
restart: on-failure:3
environment:
MONGO_DB_URI: ${MONGO_DB_URI}
MONGO_DB_NAME: ${MONGO_DB_NAME}
MONGO_INPUT_COLLECTIONS: ${GEO_INPUT_COLLECTIONS}
MONGO_GEO_OUTPUT_COLLECTION: ${GEO_DB_NAME}
MONGO_TTL: ${GEO_TTL_DURATION}

env_file:
- ./services/addons/images/bsm_query/.env
LOGGING_LEVEL: ${GEO_LOGGING_LEVEL}
logging:
options:
max-size: '10m'
Expand All @@ -24,26 +28,64 @@ services:
context: ./services
dockerfile: Dockerfile.count_metric
image: count_metric:latest
restart: always
restart: on-failure:3
environment:
ENABLE_EMAILER: ${ENABLE_EMAILER}
DEPLOYMENT_TITLE: ${DEPLOYMENT_TITLE}

SMTP_SERVER_IP: ${SMTP_SERVER_IP}
SMTP_USERNAME: ${SMTP_USERNAME}
SMTP_PASSWORD: ${SMTP_PASSWORD}
SMTP_EMAIL: ${SMTP_EMAIL}
SMTP_EMAIL_RECIPIENTS: ${SMTP_EMAIL_RECIPIENTS}

MESSAGE_TYPES: ${COUNT_MESSAGE_TYPES}
PROJECT_ID: ${GCP_PROJECT_ID}
ODE_KAFKA_BROKERS: ${ODE_KAFKA_BROKERS}

PG_DB_HOST: ${PG_DB_HOST}
PG_DB_NAME: ${PG_DB_NAME}
PG_DB_USER: ${PG_DB_USER}
PG_DB_PASS: ${PG_DB_PASS}

env_file:
- ./services/addons/images/count_metric/.env
DESTINATION_DB: ${COUNT_DESTINATION_DB}

MONGO_DB_URI: ${MONGO_DB_URI}
MONGO_DB_NAME: ${MONGO_DB_NAME}
INPUT_COUNTS_MONGO_COLLECTION_NAME: ${INPUT_COUNTS_MONGO_COLLECTION_NAME}
OUTPUT_COUNTS_MONGO_COLLECTION_NAME: ${OUTPUT_COUNTS_MONGO_COLLECTION_NAME}

KAFKA_BIGQUERY_TABLENAME: ${KAFKA_BIGQUERY_TABLENAME}

LOGGING_LEVEL: ${COUNTS_LOGGING_LEVEL}
logging:
options:
max-size: '10m'
max-file: '5'

jpo_rsu_ping_fetch:
rsu_status_check:
build:
context: ./services
dockerfile: Dockerfile.rsu_ping_fetch
image: rsu_ping_fetch:latest
restart: always
dockerfile: Dockerfile.rsu_status_check
image: rsu_status_check:latest
restart: on-failure:3
environment:
RSU_PING: ${RSU_PING}
ZABBIX: ${ZABBIX}
RSU_SNMP_FETCH: ${RSU_SNMP_FETCH}

depends_on:
- cvmanager_postgres
env_file:
- ./services/addons/images/rsu_ping/.env
ZABBIX_ENDPOINT: ${ZABBIX_ENDPOINT}
ZABBIX_USER: ${ZABBIX_USER}
ZABBIX_PASSWORD: ${ZABBIX_PASSWORD}

STALE_PERIOD: ${STALE_PERIOD}

PG_DB_HOST: ${PG_DB_HOST}
PG_DB_NAME: ${PG_DB_NAME}
PG_DB_USER: ${PG_DB_USER}
PG_DB_PASS: ${PG_DB_PASS}

LOGGING_LEVEL: ${RSU_STATUS_LOGGING_LEVEL}
logging:
options:
max-size: '10m'
Expand All @@ -54,12 +96,27 @@ services:
context: ./services
dockerfile: Dockerfile.iss_health_check
image: iss_health_check:latest
restart: always

restart: on-failure:3
depends_on:
- cvmanager_postgres
env_file:
- ./services/addons/images/iss_health_check/.env
environment:
ISS_API_KEY: ${ISS_API_KEY}
ISS_API_KEY_NAME: ${ISS_API_KEY_NAME}
ISS_PROJECT_ID: ${ISS_PROJECT_ID}
ISS_SCMS_TOKEN_REST_ENDPOINT: ${ISS_SCMS_TOKEN_REST_ENDPOINT}
ISS_SCMS_VEHICLE_REST_ENDPOINT: ${ISS_SCMS_VEHICLE_REST_ENDPOINT}

PG_DB_HOST: ${PG_DB_HOST}
PG_DB_NAME: ${PG_DB_NAME}
PG_DB_USER: ${PG_DB_USER}
PG_DB_PASS: ${PG_DB_PASS}

PROJECT_ID: ${GCP_PROJECT_ID}
GOOGLE_APPLICATION_CREDENTIALS: ${GOOGLE_APPLICATION_CREDENTIALS}

LOGGING_LEVEL: ${ISS_LOGGING_LEVEL}
volumes:
- ${GOOGLE_APPLICATION_CREDENTIALS}:/google/gcp_credentials.json
logging:
options:
max-size: '10m'
Expand All @@ -70,7 +127,7 @@ services:
context: services
dockerfile: Dockerfile.firmware_manager
image: jpo_firmware_manager:latest
restart: always
restart: on-failure:3

ports:
- '8089:8080'
Expand All @@ -86,10 +143,16 @@ services:
GCP_PROJECT: ${GCP_PROJECT}
GOOGLE_APPLICATION_CREDENTIALS: '/google/gcp_credentials.json'

LOGGING_LEVEL: ${API_LOGGING_LEVEL}
FW_EMAIL_RECIPIENTS: ${FW_EMAIL_RECIPIENTS}
SMTP_SERVER_IP: ${SMTP_SERVER_IP}
SMTP_EMAIL: ${SMTP_EMAIL}
SMTP_USERNAME: ${SMTP_USERNAME}
SMTP_PASSWORD: ${SMTP_PASSWORD}
LOGGING_LEVEL: ${FIRMWARE_MANAGER_LOGGING_LEVEL}
volumes:
- ${GOOGLE_APPLICATION_CREDENTIALS}:/google/gcp_credentials.json
- ${HOST_BLOB_STORAGE_DIRECTORY}:/mnt/blob_storage
logging:
options:
max-size: '10m'
max-file: '5'
max-file: '5'
1 change: 1 addition & 0 deletions docker-compose-webapp-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ services:
MAPBOX_TOKEN: ${MAPBOX_TOKEN}
KEYCLOAK_HOST_URL: ${KEYCLOAK_DOMAIN} # e.g. http://localhost
COUNT_MESSAGE_TYPES: ${COUNTS_MSG_TYPES}
VIEWER_MESSAGE_TYPES: ${VIEWER_MSG_TYPES}
DOT_NAME: ${DOT_NAME}
MAPBOX_INIT_LATITUDE: ${MAPBOX_INIT_LATITUDE}
MAPBOX_INIT_LONGITUDE: ${MAPBOX_INIT_LONGITUDE}
Expand Down
9 changes: 6 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ services:
MONGO_DB_NAME: ${MONGO_DB_NAME}

COUNTS_MSG_TYPES: ${COUNTS_MSG_TYPES}
COUNTS_DB_TYPE: ${COUNTS_DB_TYPE}
COUNTS_DB_NAME: ${COUNTS_DB_NAME}
GOOGLE_APPLICATION_CREDENTIALS: '/google/gcp_credentials.json'

BSM_DB_NAME: ${BSM_DB_NAME}
GEO_DB_NAME: ${GEO_DB_NAME}
SSM_DB_NAME: ${SSM_DB_NAME}
SRM_DB_NAME: ${SRM_DB_NAME}

MAX_GEO_QUERY_RECORDS: ${MAX_GEO_QUERY_RECORDS}

FIRMWARE_MANAGER_ENDPOINT: ${FIRMWARE_MANAGER_ENDPOINT}

WZDX_API_KEY: ${WZDX_API_KEY}
Expand Down Expand Up @@ -66,6 +66,7 @@ services:
MAPBOX_TOKEN: ${MAPBOX_TOKEN}
KEYCLOAK_HOST_URL: http://${KEYCLOAK_DOMAIN}:8084/
COUNT_MESSAGE_TYPES: ${COUNTS_MSG_TYPES}
VIEWER_MESSAGE_TYPES: ${VIEWER_MSG_TYPES}
DOT_NAME: ${DOT_NAME}
MAPBOX_INIT_LATITUDE: ${MAPBOX_INIT_LATITUDE}
MAPBOX_INIT_LONGITUDE: ${MAPBOX_INIT_LONGITUDE}
Expand Down Expand Up @@ -118,13 +119,15 @@ services:
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN}
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
WEBAPP_ORIGIN: http://${WEBAPP_DOMAIN}
WEBAPP_CM_ORIGIN: http://${WEBAPP_CM_DOMAIN}
KC_HEALTH_ENABLED: true
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://${PG_DB_HOST}/postgres?currentSchema=keycloak
KC_DB_USERNAME: ${PG_DB_USER}
KC_DB_PASSWORD: ${PG_DB_PASS}
KC_HOSTNAME: ${KEYCLOAK_DOMAIN}
KEYCLOAK_API_CLIENT_SECRET_KEY: ${KEYCLOAK_API_CLIENT_SECRET_KEY}
KEYCLOAK_CM_API_CLIENT_SECRET_KEY: ${KEYCLOAK_CM_API_CLIENT_SECRET_KEY}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
command:
Expand Down
27 changes: 27 additions & 0 deletions docs/Release_notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
## JPO CV Manager Release Notes

## Version 1.3.0

### **Summary**
This release includes enhanced MongoDB support, replacing GCP BigQuery in the CV Manager and integrating with the existing [Conflict Visualizer](https://github.com/usdot-jpo-ode/jpo-conflictvisualizer) MongoDB deployment. The web application now meets WCAG accessibility standards, featuring improved V2X data visualization and CV counts. Key updates include a daily aggregate of CV counts for better MongoDB query performance, Keycloak token refresh optimization, SNMP configurations pulled from PostgreSQL, support for PSM and TIM messages and new services like the RSU Status Checker. Additional enhancements include email alerts for firmware manager failures, a 'Contact Support' button on the 'Help' page and a filter for RSU vendors. The project now fully supports Python 3.12.2, includes various bug fixes and introduces several performance improvements across different modules.

Enhancements in this release:

- CDOT PR 69: Keycloak token refresh timer increased to reduce the frequency of site refreshes.
- CDOT PR 67: Daily aggregate CV counts to improve CV Manager count query performance in MongoDB.
- CDOT PR 66: Email alerts on firmware manager fail cases.
- CDOT PR 62: 'Contact Support' button now present on the 'Help' page.
- CDOT PR 61: CV Manager SNMP configurations now pull from PostgreSQL instead of directly from RSUs for performance.
- CDOT PR 60: PSM message visualization support and changing 'BSM Visualizer' to 'V2X Visualizer'.
- CDOT PR 59: CV Manager support for TIM messages.
- CDOT PR 57: Firmware Manager upgrade queue for handling excessive numbers of simultaneous upgrades.
- CDOT PR 56: Firmware Manager post-upgrade bash script support.
- CDOT PR 54: CV Manager full support of MongoDB instead of GCP BigQuery.
- CDOT PR 52: Rework the existing counter to utilize MongoDB.
- CDOT PR 51: RSU vendor filter added to the CV Manager web application.
- CDOT PRs 45-50: Updates to visual elements of the CV Manager web application to meet WCAG standard requirements for accessibility.
- CDOT PR 44: Project updated to fully support Python 3.12.2.
- CDOT PR 42: Adds support for a unique encryption SNMP password separate from the authentication password.
- CDOT PR 38: RSU status check service added to perform regular, automated pings and SNMP message forwarding configuration checks on RSUs within PostgreSQL.
- CDOT PR 37: URL page routing for the CV Manager web application.
- CDOT PR 36: Keycloak realm updates to support the Conflict Visualizer realm within the same Keycloak deployment as the CV Manager.
- Additional bug fixes

## Version 1.2.0

### **Summary**
Expand Down
Loading
Loading