-
Notifications
You must be signed in to change notification settings - Fork 70
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
Audit: CMS docs for upstream/downstream dependencies and API users re: Forms / Facilities #18230
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,15 +6,14 @@ This document lists known services which depend on the CMS. Information on **API | |
|
||
## Services | ||
|
||
| ServiceName | Monitoring | Mode | Data | Alerts | Team POC | API Username | GQL Downstream integartion | | ||
| ServiceName| Monitoring| Mode| Data| Alerts| Team POC| API Username| GQL Downstream integration| | ||
|------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|---------------------------|---------------------------|---------------------------|---------------------------| | ||
| Forms API | [Datadog](https://vagov.ddog-gov.com/synthetics/details/f83-ca6-cu2) | Lighthouse pulls data with GraphQL ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/migrations-forms.md#cms-forms-data-to-lighthouse)) | form data (manually edited auxiliary fields) from “VA Form” nodes | Pager Duty - Non Critical | [#va-forms](https://dsva.slack.com/archives/CUB5X5MGF) | forms_api | Nightly Frequency (0100 ET) Forms API = form data (manually edited auxiliary fields) from “VA Form” nodes ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/migrations-forms.md#cms-forms-data-to-lighthouse)) | ||
| [GraphQL (Content API)](#graphql-content-api-notes) | [Datadog](https://vagov.ddog-gov.com/synthetics/details/f83-ca6-cu2) | GraphQL contrib module provides endpoint and explorer ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/graph_ql.md)) | All Drupal entities (content & config) | Pager Duty - Non Critical | Slack [#vsp-tools-fe](https://dsva.slack.com/archives/CQH357ZTP) | content_build_api | Hourly frequency 8am-5pm ET for Content build | ||
| Facility Statuses (push to lighthouse) | Slack notification to `#cms-notifications` channel via Drupal [here](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/docroot/modules/custom/va_gov_post_api/src/EventSubscriber/QueueItemProcessedEventSubscriber.php#L104) and [here](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/docroot/modules/custom/va_gov_post_api/src/EventSubscriber/QueueProcessedEventSubscriber.php#L107) | post_api contrib module is used to POST updates to lighthouse’s API every 10-15 minutes (when updates are available in queue) ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/vamc-facilities.md#status-changes-to-lighthouse)) | Facility statuses (certain fields on VAMC statuses, operating status, additional status info, facility API locator ID used as GID) | Slack | Slack [#vsa-facilities](https://dsva.slack.com/archives/C0FQSS30V) | facility_api | N/A | ||
| Health service descriptions | Slack notification to `#cms-notifications` channel via Drupal [here](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/docroot/modules/custom/va_gov_post_api/src/EventSubscriber/QueueItemProcessedEventSubscriber.php#L104) and [here](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/docroot/modules/custom/va_gov_post_api/src/EventSubscriber/QueueProcessedEventSubscriber.php#L107) | post_api contrib module is used to POST updates to the Lighthouse API on cron every 10-15 minutes (when updates are available in queue) ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/vamc-facilities.md#status-changes-to-lighthouse)) | Only Covid 19 vaccine service descriptions at this time, but soon to be all health service descriptions. | Slack | N/A | N/A | N/A | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Consolidated this Health service description line into the line above, to be a single line re: dependency on the Lighthouse Facilities API. If that's not right conceptually for how it works in Drupal, I can revert that change |
||
| Post content release webhook endpoint (Content Build calls after content releases) | [Datadog](https://vagov.ddog-gov.com/synthetics/details/qam-6i3-t5c) | Webhook endpoint (GET) at /api/govdelivery_bulletins/queue - used to trigger sending of notifications to govdelivery. Gov Delivery code is in the [va_gov_govdevivery](https://github.com/department-of-veterans-affairs/va.gov-cms/tree/main/docroot/modules/custom/va_gov_govdelivery) | `?EndTime=` of last successful GQL content query | None | | N/A | N/A | ||
| Feature flags endpoint (/flags_list) | [Datadog](https://vagov.ddog-gov.com/synthetics/details/9z4-5uh-k7r) | GET endpoint at `/flags_list` that provides a list of feature flags for the content build (https://github.com/department-of-veterans-affairs/content-build/actions/workflows/content-release.yml) to consume ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/interfaces.md#featureflags)) | Feature flags that control whether certain products are enabled | None | N/A | N/A | N/A | ||
| Virtual Agent Chatbot | N/A | N/A | N/A | N/A | Slack [#va-virtual-agent-public](https://dsva.slack.com/archives/C01KTS3F493) | virtual_agent_api | Currently pulls from tugboat: https://main-0jm2a1h08xb0nzpger8iko49kskarwcm.ci.cms.va.gov/graphql | ||
| Datadog Monitoring Platform | | Datadog uses Synthetic metrics to monitor GQL endpoints with authenticated HTTP requests. | N/A | N/A | Slack [#cms-platform](https://dsva.slack.com/archives/C02HX4AQZ33) | datadog_api | | ||
| Lighthouse Forms API (push) | [Datadog](https://vagov.ddog-gov.com/synthetics/details/f83-ca6-cu2)| Lighthouse pulls data with GraphQL ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/migrations-forms.md#cms-forms-data-to-lighthouse))| Form data (manually edited auxiliary fields) from “VA Form” nodes| Pager Duty - Non Critical | [#va-forms](https://dsva.slack.com/archives/CUB5X5MGF), @public-websites-team | forms_api | Nightly Frequency (0100 ET), ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/migrations-forms.md#cms-forms-data-to-lighthouse)) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Renamed to be more accurate about the Service we depend on |
||
| [GraphQL (Content API)](#graphql-content-api-notes)| [Datadog](https://vagov.ddog-gov.com/synthetics/details/f83-ca6-cu2)| GraphQL contrib module provides endpoint and explorer ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/graph_ql.md))| All Drupal entities (content & config)| Pager Duty - Non Critical | Slack [#vsp-tools-fe](https://dsva.slack.com/archives/CQH357ZTP) | content_build_api | Hourly frequency 8am-5pm ET for Content build | ||
| Lighthouse Facilities API (push)| Slack notification to `#cms-notifications` channel via Drupal [here](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/docroot/modules/custom/va_gov_post_api/src/EventSubscriber/QueueItemProcessedEventSubscriber.php#L104) and [here](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/docroot/modules/custom/va_gov_post_api/src/EventSubscriber/QueueProcessedEventSubscriber.php#L107) | post_api contrib module is used to POST updates to Lighthouse Facilities API every 10-15 minutes (when updates are available in queue) ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/vamc-facilities.md#status-changes-to-lighthouse))| Facility statuses (certain fields on VAMC statuses, operating status, additional status info, facility API locator ID used as GID); VAMC mental health phone numbers; Facility health services | Slack| Slack [#cms-lighthouse](https://app.slack.com/client/T03FECE8V/C02BTJTDFTN) - @facilities-team <br/> Adam Stinton (LH engineer)<br/> VA PO = Michelle Middaugh | facility_api | N/A | | ||
| Post content release webhook endpoint (Content Build calls after content releases) | [Datadog](https://vagov.ddog-gov.com/synthetics/details/qam-6i3-t5c)| Webhook endpoint (GET) at /api/govdelivery_bulletins/queue - used to trigger sending of notifications to govdelivery. Gov Delivery code is in the [va_gov_govdevivery](https://github.com/department-of-veterans-affairs/va.gov-cms/tree/main/docroot/modules/custom/va_gov_govdelivery)| `?EndTime=` of last successful GQL content query| None| | N/A | N/A | ||
| Feature flags endpoint (/flags_list)| [Datadog](https://vagov.ddog-gov.com/synthetics/details/9z4-5uh-k7r)| GET endpoint at `/flags_list` that provides a list of feature flags for the content build (https://github.com/department-of-veterans-affairs/content-build/actions/workflows/content-release.yml) to consume ([README](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/interfaces.md#featureflags)) | Feature flags that control whether certain products are enabled| None| N/A | N/A | N/A | ||
| Virtual Agent Chatbot| N/A| N/A | N/A | N/A | Slack [#va-virtual-agent-public](https://dsva.slack.com/archives/C01KTS3F493) | virtual_agent_api | Currently pulls from tugboat: https://main-0jm2a1h08xb0nzpger8iko49kskarwcm.ci.cms.va.gov/graphql | ||
| Datadog Monitoring Platform|| Datadog uses Synthetic metrics to monitor GQL endpoints with authenticated HTTP requests. | N/A | N/A | Slack [#cms-platform](https://dsva.slack.com/archives/C02HX4AQZ33) | datadog_api | | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,30 +9,31 @@ This document lists known services which depend on the CMS and the Drupal users | |
| Team | POC | Username | Usage | | ||
| ----------- | ----------- | ----------- | ----------- | | ||
| Release Tools | [#vsp-tools-fe](https://dsva.slack.com/archives/CQH357ZTP) | content_build_api | Building content for VA.gov requires querying Drupal for that content in an authenticated way. | | ||
| Forms API | [#va-forms](https://dsva.slack.com/archives/CUB5X5MGF)| forms_api | Forms migration daily tasks must be authenticated | | ||
| Facilities | [#vsa-facilities](https://dsva.slack.com/archives/C0FQSS30V) | facility_api | ? | | ||
| Lighthouse Forms API | [#va-forms](https://dsva.slack.com/archives/CUB5X5MGF)| forms_api | Forms migration daily tasks must be authenticated | | ||
| Facilities | [#cms-lighthouse slack channel](https://app.slack.com/client/T03FECE8V/C02BTJTDFTN) - @facilities-team <br/> Adam Stinton (LH engineer)<br/> VA PO = Michelle Middaugh | facility_api | Facilities API migration daily tasks must be authenticated. [Upstream notes](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/upstream-dependencies.md#lighthouse-facilities-api); [Downstream notes](https://github.com/department-of-veterans-affairs/va.gov-cms/blob/main/READMES/downstream_dependencies.md)| | ||
| Virtual Agent | [#va-virtual-agent-public](https://dsva.slack.com/archives/C01KTS3F493) | virtual_agent_api| ? | | ||
| CMS | [#cms-platform](https://dsva.slack.com/archives/C02HX4AQZ33)| datadog_api | Datadog Synthetic metrics monitor GraphQL endpoint and require HTTP basic authentication | | ||
|
||
## Creating a New API User | ||
|
||
|
||
1. Discuss the need for a new user with the Platform CMS tech lead (currently @ndouglas) and propose a name. | ||
2. Complete/approve/merge any pull requests providing functionality the user account will rely upon: | ||
- roles, permissions, etc that should be assigned to the user at creation | ||
- roles, permissions, etc that should be assigned to the user at creation | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixing bullet indentation |
||
4. Create a task issue for the account, assign it to `CMS Team` and `DevOps`, and assign the tech lead. | ||
- include the name | ||
- include desired permissions | ||
- include any other information that may be desirable | ||
- any IAM users/roles/etc that may need access to the username and password | ||
- include the name | ||
- include desired permissions | ||
- include any other information that may be desirable | ||
- any IAM users/roles/etc that may need access to the username and password | ||
3. DevOps engineers will perform the following procedure: | ||
- create a new user in Drupal | ||
- assign it appropriate roles and permissions | ||
- assign it a temporary password | ||
- create an entry in SSM Parameter Store for: | ||
- the username (`cms/prod/drupal_api_users/<name>/username`) | ||
- the password (`cms/prod/drupal_api_users/<name>/password`) | ||
- create a new user in Drupal | ||
- assign it appropriate roles and permissions | ||
- assign it a temporary password | ||
- create an entry in SSM Parameter Store for: | ||
- the username (`cms/prod/drupal_api_users/<name>/username`) | ||
- the password (`cms/prod/drupal_api_users/<name>/password`) | ||
- communicate the name of the user to you. | ||
4. Followup issue(s) should be opened for: | ||
- tests to ensure accurate roles and permissions | ||
- tests to ensure retrievability of the SSM Parameter Store values | ||
- additional functionality | ||
- tests to ensure accurate roles and permissions | ||
- tests to ensure retrievability of the SSM Parameter Store values | ||
- additional functionality |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just whitespace changes