Merge branch 'main' of https://github.com/GSA/notifications-admin into 449-one-pager-content-updates

This commit is contained in:
Jonathan Bobel
2024-01-31 11:12:55 -05:00
17 changed files with 56 additions and 25 deletions

View File

@@ -55,6 +55,13 @@ jobs:
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }}
LOGIN_PEM: ${{ secrets.LOGIN_PEM }} LOGIN_PEM: ${{ secrets.LOGIN_PEM }}
LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov"
LOGIN_DOT_GOV_USER_INFO_URL: "https://idp.int.identitysandbox.gov/api/openid_connect/userinfo"
LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://idp.int.identitysandbox.gov/api/openid_connect/token"
LOGIN_DOT_GOV_LOGOUT_URL: "https://idp.int.identitysandbox.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-demo.app.cloud.gov/sign-out"
LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://idp.int.identitysandbox.gov/openid_connect/logout?"
LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://notify-demo.app.cloud.gov/sign-out"
LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://idp.int.identitysandbox.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=01234567890123456789012345&prompt=select_account&redirect_uri=https://notify-demo.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=abcdefghijklmnopabcdefghijklmnop"
with: with:
cf_username: ${{ secrets.CLOUDGOV_USERNAME }} cf_username: ${{ secrets.CLOUDGOV_USERNAME }}
cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} cf_password: ${{ secrets.CLOUDGOV_PASSWORD }}
@@ -69,6 +76,13 @@ jobs:
--var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY" --var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY"
--var NR_BROWSER_KEY="$NR_BROWSER_KEY" --var NR_BROWSER_KEY="$NR_BROWSER_KEY"
--var LOGIN_PEM="$LOGIN_PEM" --var LOGIN_PEM="$LOGIN_PEM"
--var LOGIN_DOT_GOV_CLIENT_ID="$LOGIN_DOT_GOV_CLIENT_ID"
--var LOGIN_DOT_GOV_USER_INFO_URL="$LOGIN_DOT_GOV_USER_INFO_URL"
--var LOGIN_DOT_GOV_ACCESS_TOKEN_URL="$LOGIN_DOT_GOV_ACCESS_TOKEN_URL"
--var LOGIN_DOT_GOV_LOGOUT_URL="$LOGIN_DOT_GOV_LOGOUT_URL"
--var LOGIN_DOT_GOV_BASE_LOGOUT_URL="$LOGIN_DOT_GOV_BASE_LOGOUT_URL"
--var LOGIN_DOT_GOV_SIGNOUT_REDIRECT="$LOGIN_DOT_GOV_SIGNOUT_REDIRECT"
--var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL"
- name: Check for changes to egress config - name: Check for changes to egress config
id: changed-egress-config id: changed-egress-config

View File

@@ -55,7 +55,13 @@ jobs:
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }}
LOGIN_PEM: ${{ secrets.LOGIN_PEM }} LOGIN_PEM: ${{ secrets.LOGIN_PEM }}
LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov"
LOGIN_DOT_GOV_USER_INFO_URL: "https://secure.login.gov/api/openid_connect/userinfo"
LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://secure.login.gov/api/openid_connect/token"
LOGIN_DOT_GOV_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://beta.notify.gov/sign-out"
LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?"
LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://beta.notify.gov/sign-out"
LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=01234567890123456789012345&prompt=select_account&redirect_uri=https://beta.notify.gov/sign-in&response_type=code&scope=openid+email&state=abcdefghijklmnopabcdefghijklmnop"
with: with:
cf_username: ${{ secrets.CLOUDGOV_USERNAME }} cf_username: ${{ secrets.CLOUDGOV_USERNAME }}
cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} cf_password: ${{ secrets.CLOUDGOV_PASSWORD }}
@@ -70,6 +76,13 @@ jobs:
--var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY" --var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY"
--var NR_BROWSER_KEY="$NR_BROWSER_KEY" --var NR_BROWSER_KEY="$NR_BROWSER_KEY"
--var LOGIN_PEM="$LOGIN_PEM" --var LOGIN_PEM="$LOGIN_PEM"
--var LOGIN_DOT_GOV_CLIENT_ID="$LOGIN_DOT_GOV_CLIENT_ID"
--var LOGIN_DOT_GOV_USER_INFO_URL="$LOGIN_DOT_GOV_USER_INFO_URL"
--var LOGIN_DOT_GOV_ACCESS_TOKEN_URL="$LOGIN_DOT_GOV_ACCESS_TOKEN_URL"
--var LOGIN_DOT_GOV_LOGOUT_URL="$LOGIN_DOT_GOV_LOGOUT_URL"
--var LOGIN_DOT_GOV_BASE_LOGOUT_URL="$LOGIN_DOT_GOV_BASE_LOGOUT_URL"
--var LOGIN_DOT_GOV_SIGNOUT_REDIRECT="$LOGIN_DOT_GOV_SIGNOUT_REDIRECT"
--var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL"
- name: Check for changes to egress config - name: Check for changes to egress config
id: changed-egress-config id: changed-egress-config

View File

@@ -880,14 +880,20 @@ def send_notification(service_id, template_id):
service_id, job_id=upload_id, include_one_off=True service_id, job_id=upload_id, include_one_off=True
) )
attempts = 0 attempts = 0
while notifications["total"] == 0 and attempts < 5:
# The response can come back in different forms of incompleteness
while (
notifications["total"] == 0
and notifications["notifications"] == []
and attempts < 50
):
notifications = notification_api_client.get_notifications_for_service( notifications = notification_api_client.get_notifications_for_service(
service_id, job_id=upload_id, include_one_off=True service_id, job_id=upload_id, include_one_off=True
) )
time.sleep(0.1) time.sleep(0.1)
attempts = attempts + 1 attempts = attempts + 1
if notifications["total"] == 0 and attempts == 5: if notifications["total"] == 0 and attempts == 50:
# This shows the job we auto-generated for the user # This shows the job we auto-generated for the user
return redirect( return redirect(
url_for( url_for(

View File

@@ -88,6 +88,8 @@ The below steps rely on you first configuring access to the Terraform state in s
terraform plan terraform plan
``` ```
If the `terraform init` command fails, you may need to run `terraform init -upgrade` to make sure new module versions are picked up.
1. Apply changes with `terraform apply`. 1. Apply changes with `terraform apply`.
1. Remove the space deployer service instance if it doesn't need to be used again, such as when manually running terraform once. 1. Remove the space deployer service instance if it doesn't need to be used again, such as when manually running terraform once.

View File

@@ -3,7 +3,7 @@ terraform {
required_providers { required_providers {
cloudfoundry = { cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry" source = "cloudfoundry-community/cloudfoundry"
version = "0.15.5" version = "0.53.0"
} }
} }
} }

View File

@@ -7,7 +7,7 @@ locals {
} }
module "redis" { module "redis" {
source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name
@@ -17,7 +17,7 @@ module "redis" {
} }
module "logo_upload_bucket" { module "logo_upload_bucket" {
source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name

View File

@@ -3,7 +3,7 @@ terraform {
required_providers { required_providers {
cloudfoundry = { cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry" source = "cloudfoundry-community/cloudfoundry"
version = "0.15.5" version = "0.53.0"
} }
} }
@@ -12,7 +12,6 @@ terraform {
key = "admin.tfstate.demo" key = "admin.tfstate.demo"
encrypt = "true" encrypt = "true"
region = "us-gov-west-1" region = "us-gov-west-1"
profile = "notify-terraform-backend"
} }
} }

View File

@@ -11,7 +11,7 @@ data "cloudfoundry_space" "dev" {
} }
module "logo_upload_bucket" { module "logo_upload_bucket" {
source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name

View File

@@ -3,7 +3,7 @@ terraform {
required_providers { required_providers {
cloudfoundry = { cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry" source = "cloudfoundry-community/cloudfoundry"
version = "0.50.7" version = "0.53.0"
} }
} }
} }

View File

@@ -47,7 +47,7 @@ if [[ ! -s "secrets.auto.tfvars" ]]; then
fi fi
echo "Importing terraform state for $username" echo "Importing terraform state for $username"
terraform init terraform init -upgrade
key_name=$username-admin-dev-key key_name=$username-admin-dev-key

View File

@@ -7,7 +7,7 @@ locals {
} }
module "redis" { module "redis" {
source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name
@@ -17,7 +17,7 @@ module "redis" {
} }
module "logo_upload_bucket" { module "logo_upload_bucket" {
source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name
@@ -50,7 +50,7 @@ module "api_network_route" {
# https://cloud.gov/docs/services/external-domain-service/#how-to-create-an-instance-of-this-service # https://cloud.gov/docs/services/external-domain-service/#how-to-create-an-instance-of-this-service
########################################################################### ###########################################################################
module "domain" { module "domain" {
source = "github.com/18f/terraform-cloudgov//domain?ref=v0.5.2" source = "github.com/18f/terraform-cloudgov//domain?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name

View File

@@ -3,7 +3,7 @@ terraform {
required_providers { required_providers {
cloudfoundry = { cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry" source = "cloudfoundry-community/cloudfoundry"
version = "0.15.5" version = "0.53.0"
} }
} }
@@ -12,7 +12,6 @@ terraform {
key = "admin.tfstate.prod" key = "admin.tfstate.prod"
encrypt = "true" encrypt = "true"
region = "us-gov-west-1" region = "us-gov-west-1"
profile = "notify-terraform-backend"
} }
} }

View File

@@ -7,7 +7,7 @@ locals {
} }
module "redis" { module "redis" {
source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name
@@ -17,7 +17,7 @@ module "redis" {
} }
module "logo_upload_bucket" { module "logo_upload_bucket" {
source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name

View File

@@ -3,7 +3,7 @@ terraform {
required_providers { required_providers {
cloudfoundry = { cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry" source = "cloudfoundry-community/cloudfoundry"
version = "0.15.5" version = "0.53.0"
} }
} }
@@ -12,7 +12,6 @@ terraform {
key = "admin.tfstate.sandbox" key = "admin.tfstate.sandbox"
encrypt = "true" encrypt = "true"
region = "us-gov-west-1" region = "us-gov-west-1"
profile = "notify-terraform-backend"
} }
} }

View File

@@ -3,7 +3,7 @@ terraform {
required_providers { required_providers {
cloudfoundry = { cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry" source = "cloudfoundry-community/cloudfoundry"
version = "~> 0.15" version = "0.53.0"
} }
} }
} }

View File

@@ -7,7 +7,7 @@ locals {
} }
module "redis" { module "redis" {
source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name
@@ -17,7 +17,7 @@ module "redis" {
} }
module "logo_upload_bucket" { module "logo_upload_bucket" {
source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1"
cf_org_name = local.cf_org_name cf_org_name = local.cf_org_name
cf_space_name = local.cf_space_name cf_space_name = local.cf_space_name

View File

@@ -3,7 +3,7 @@ terraform {
required_providers { required_providers {
cloudfoundry = { cloudfoundry = {
source = "cloudfoundry-community/cloudfoundry" source = "cloudfoundry-community/cloudfoundry"
version = "0.15.5" version = "0.53.0"
} }
} }
@@ -12,7 +12,6 @@ terraform {
key = "admin.tfstate.stage" key = "admin.tfstate.stage"
encrypt = "true" encrypt = "true"
region = "us-gov-west-1" region = "us-gov-west-1"
profile = "notify-terraform-backend"
} }
} }