-
Notifications
You must be signed in to change notification settings - Fork 1
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
release v0.90.0 #1419
Closed
Closed
release v0.90.0 #1419
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
backport v0.89.0
The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-WS-7266574 Co-authored-by: snyk-bot <[email protected]>
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](micromatch/braces@3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexander Lee <[email protected]>
## Problem This is a first pr that is up to add some level of sane reporting. While scheduling is part of this feature, it is not within the scope of this pr. This pr only adds (currently dead code) logic to grab the domains that we own in isomer, and do a dns dig. This is meant to be verbose, and in the future alarms can be added based on the results of this. This is not meant to replace monitoring, it is just meant to fine tune some blind spots that uptime robot currently has + some sane checker during incident response to show history of dns records for a site that we manage. I am opting to log it directly in our backend to keep things simple. will add alarms + the scheduler in subsequent prs. ## Solution grab ALL domains from keycdn + amplify + redirection records + log dns records on them. **Breaking Changes** <!-- Does this PR contain any backward incompatible changes? If so, what are they and should there be special considerations for release? --> - [ ] Yes - this PR contains breaking changes - Details ... - [X] No - this PR is backwards compatible with ALL of the following feature flags in this [doc](https://www.notion.so/opengov/Existing-feature-flags-518ad2cdc325420893a105e88c432be5) ## Tests <!-- What tests should be run to confirm functionality? --> in server.ts add: `monitoringService.driver()` should see this in the logs: ![Screenshot 2024-05-15 at 5.48.05 PM.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/4JosFH65rhzwIvkZw2J6/2bf61e7f-0ec4-466f-87b7-ec7e1d84993e.png) ## Deploy Notes <!-- Notes regarding deployment of the contained body of work. --> <!-- These should note any new dependencies, new scripts, etc. --> **New environment variables**: - `KEYCDN_API_KEY` : to get all the zones that we own in keycdn - `S3_BUCKET_NAME`: bucket name - [ ] HAVE NOT added env var to 1PW + SSM script (`fetch_ssm_parameters.sh`) **New scripts**: - `script` : script details **New dependencies**: - `dependency` : dependency details **New dev dependencies**: - `dependency` : dependency details
## Problem This is the second part of the monitoring feature that we want to build. This PR only cares about adding a scheduler + the related infra needed for this to function. this will make the monitor run once every 5 mins, for oncalls to pick any related alarms from this. Adding the alarms is done in the downstream PR . ## Solution Using bullmq to conveniently create a queue, a worker and a repeatable job over multiple instances. We do some level of exponential backoff retries since it is a nice to have and easy to implement. The original `/site-up` code has since been refactored to return an `err` or a `ok`, depending on whether the configuration is ideal. Unfortunately, this caused quite a number of edge cases to pop up. Due to the nature of this, a more loose check of whether the isomer logo is present is being used to determine if a site is up. Even with this loose check, we have a `workplacelearning.gov.sg` who have modified their site to not have the Isomer logo. Have used gb to code white list this weird site. Potentially, if tomorrow we have an alarm of a site going down, but this is expected to prolong, we can go to growthbook and change the config for this to be whitelisted. **Breaking Changes** <!-- Does this PR contain any backward incompatible changes? If so, what are they and should there be special considerations for release? --> - [ ] Yes - this PR contains breaking changes - Details ... - [X] No - this PR is backwards compatible with ALL of the following feature flags in this [doc](https://www.notion.so/opengov/Existing-feature-flags-518ad2cdc325420893a105e88c432be5) ## Tests <img width="951" alt="Screenshot 2024-05-21 at 11 20 59 AM" src="https://github.com/isomerpages/isomercms-backend/assets/42832651/2a79df20-75c5-4c47-8d69-f030ca64cf3d"> on deployment, assert that you see these logs. it is ok for there to be multiple instances of this log (it directly corresponds to the number of instances that we have) since bullmq is smart enough to only create one queue, and one repeatable job over multiple instances. <!-- What tests should be run to confirm functionality? --> ## Deploy Notes corresponding infra pr should be deployed to production and only then should the redis host value be populated into the 1pw for production. Additionally, post approval of this pr, add two alarms, one for `Error running monitoring service` and another for `Monitoring service has failed`. These are errors when the job has failed to be initalised, and when there is a new error. **New environment variables**: - `REDIS_HOST` : Redis host - [ ] added env var to 1PW + SSM script (`fetch_ssm_parameters.sh`) **New dependencies**: - `bullmq` : scheduler of choice
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New
#1383
#1376
#1415
#1414
#1412
#1395
#1384
#1369
#1362
#1356
#1335
#1329
#1324
#1321
#1318
#1309
#1298
#1292
#1276
#1273
#1263
#1257
#1248
#1235
#1213
#1202
#1191
#1185
#1176
#1174
#1165
#1163
#1153
#1150
#1145
#1143
#1141
#1139
#1130
#1124
#1111
#1105
#1074
#1062
#1057
#1053
#1050
#1038
#1034
#1023
b6ac8aa
Dependencies
#1416
#1413
Tests
feat(monitoring): add scheduler functionality
on deployment, assert that you see these logs. it is ok for there to be multiple instances of this log (it directly corresponds to the number of instances that we have) since bullmq is smart enough to only create one queue, and one repeatable job over multiple instances.#1383
feat(monitoring): add dns reporter
#1376
in server.ts add:
monitoringService.driver()
should see this in the logs:
* fix: off-by-one error for month number (#1294)
#1309
fix(dockerfile): revert to copy .
#1304
ci(sidecar): add deploy files for prod
#1285
See base PR!
ref(app): shift support flows into separate folder + ecs service
#1269
These tests have been done on
staging
, but the success has been checked only via email (ie, receive success email = good enough)"*link*"
inisomer-infra
orisomer
(not entirely sure why, suspect it's because our project tag in infra repo isisomer-infra
which leads to the tag beingisomer-infra
)fix: off-by-one error for month number
#1294
* fix(server): server should die if unable to connect to db (#1265)
#1273
Improve APM spans (no more <anonymous>)
#1267
compareDiff
(NOT<anonymous>
)* chore(package): use npm (#1237)
#1248
feat(dd): add traces to gitfilesysteM
#1240
fix(dockerfile): add dig to image
#1244
ecs exec
into stagingdig www.google.com
* build(deps): bump @aws-sdk/client-secrets-manager (#1218)
#1235
fix(link checker): wrong error reported
#1227
perf(I/O): rm blocking fs calls
#1220
the only results should be from the
GitFileSystemService.spec.ts
which is fine since this test file runs locally and not in prod lineSubmit a form here for a repo in staging efs, and assert that the attachments are sent properly
submit the site create form
* fix(otp): increment instead of update for concurrency (#1186)
#1202
#1186 - @alexanderleegs
#1196 - @alexanderleegs
node ddos.js
node ddos.js
#1197 - @dcshzj
Check that the following endpoints do not throw an error from validation:
/mobile/verifyOtp
endpoint no longer accepts an array formobile
fix(repoChecker): unintended alarms
#1176
Release/0.66.2
#1145
Release/0.66.1
#1143
Deploy Notes
feat(monitoring): add scheduler functionality
#1383
corresponding infra pr should be deployed to production and only then should the redis host value be populated into the 1pw for production.
Additionally, post approval of this pr, add two alarms, one for
Error running monitoring service
and another forMonitoring service has failed
. These are errors when the job has failed to be initalised, and when there is a new error.New environment variables:
REDIS_HOST
: Redis hostfetch_ssm_parameters.sh
)New dependencies:
bullmq
: scheduler of choicefeat(monitoring): add dns reporter
#1376
New environment variables:
KEYCDN_API_KEY
: to get all the zones that we own in keycdnS3_BUCKET_NAME
: bucket name(
fetch_ssm_parameters.sh
)New scripts:
script
: script detailsNew dependencies:
dependency
: dependency detailsNew dev dependencies:
dependency
: dependency details* fix: off-by-one error for month number (#1294)
#1309
fix(dockerfile): revert to copy .
#1304
New environment variables:
env var
: env var detailsfetch_ssm_parameters.sh
)New scripts:
script
: script detailsNew dependencies:
dependency
: dependency detailsNew dev dependencies:
dependency
: dependency detailsfix: off-by-one error for month number
#1294
None
Full Changelog: https://github.com/isomerpages/isomercms-backend/compare/v0.78.1..v0.79.0
* fix(server): server should die if unable to connect to db (#1265)
#1273
Full Changelog: https://github.com/isomerpages/isomercms-backend/compare/v0.75.0..v0.76.0
* chore(package): use npm (#1237)
#1248
feat(dd): add traces to gitfilesysteM
#1240
This PR records a lot of new spans into traces. Basically ALL
GitFileSystem
operations are now instrumented.During release, close attention need to be given to system load to ensure the new instrumentation is not adding too high a CPU cost to the system.
Full Changelog: https://github.com/isomerpages/isomercms-backend/compare/v0.72.0..v0.73.0
* build(deps): bump @aws-sdk/client-secrets-manager (#1218)
#1235
fix(link checker): wrong error reported
#1227
New environment variables:
env var
: env var detailsfetch_ssm_parameters.sh
)New scripts:
script
: script detailsNew dependencies:
dependency
: dependency detailsNew dev dependencies:
dependency
: dependency detailsperf(I/O): rm blocking fs calls
#1220
New environment variables:
env var
: env var detailsfetch_ssm_parameters.sh
)New scripts:
script
: script detailsNew dependencies:
dependency
: dependency detailsNew dev dependencies:
dependency
: dependency detailsFull Changelog: https://github.com/isomerpages/isomercms-backend/compare/v0.71.0..v0.72.0
Release/0.66.2
#1145
New environment variables:
env var
: env var detailsfetch_ssm_parameters.sh
)New scripts:
script
: script detailsNew dependencies:
dependency
: dependency detailsNew dev dependencies:
dependency
: dependency detailsRelease/0.66.1
#1143
New environment variables:
env var
: env var detailsfetch_ssm_parameters.sh
)New scripts:
script
: script detailsNew dependencies:
dependency
: dependency detailsNew dev dependencies:
dependency
: dependency detailsFull Changelog: https://github.com/isomerpages/isomercms-backend/compare/v0.89.0..v0.90.0