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

release 2.8.7 #1277

Closed
wants to merge 6 commits into from
Closed

release 2.8.7 #1277

wants to merge 6 commits into from

Conversation

sastels
Copy link
Contributor

@sastels sastels commented Apr 24, 2024

Summary | Résumé

Reviewer checklist | Liste de vérification du réviseur

  • This PR does not break existing functionality.
  • This PR does not violate GCNotify's privacy policies.
  • This PR does not raise new security concerns. Refer to our GC Notify Risk Register document on our Google drive.
  • This PR does not significantly alter performance.
  • Additional required documentation resulting of these changes is covered (such as the README, setup instructions, a related ADR or the technical documentation).

⚠ If boxes cannot be checked off before merging the PR, they should be moved to the "Release Instructions" section with appropriate steps required to verify before release. For example, changes to celery code may require tests on staging to verify that performance has not been affected.

@sastels sastels changed the title release 2.8.6 release 2.8.7 Apr 24, 2024
@sastels
Copy link
Contributor Author

sastels commented Apr 25, 2024

will make a new release PR

@sastels sastels closed this Apr 25, 2024
Copy link

Production: common

✅   Terraform Init: success
✅   Terraform Validate: success
✅   Terraform Format: success
✅   Terraform Plan: success
✅   Conftest: success

Plan: 20 to add, 0 to change, 0 to destroy
Show summary
CHANGE NAME
add aws_acm_certificate.client_vpn
tls_private_key.client_vpn
tls_self_signed_cert.client_vpn
module.sns_sms_usage_report_sanitized_bucket.aws_s3_bucket.this
module.sns_sms_usage_report_sanitized_bucket.aws_s3_bucket_public_access_block.this
module.sns_sms_usage_report_sanitized_bucket_us_west_2.aws_s3_bucket.this
module.sns_sms_usage_report_sanitized_bucket_us_west_2.aws_s3_bucket_public_access_block.this
module.vpn.aws_cloudwatch_log_group.this
module.vpn.aws_ec2_client_vpn_authorization_rule.this_internal_dns
module.vpn.aws_ec2_client_vpn_authorization_rule.this_subnets["10.0.0.0/24"]
module.vpn.aws_ec2_client_vpn_authorization_rule.this_subnets["10.0.1.0/24"]
module.vpn.aws_ec2_client_vpn_authorization_rule.this_subnets["10.0.2.0/24"]
module.vpn.aws_ec2_client_vpn_endpoint.this
module.vpn.aws_ec2_client_vpn_network_association.this_subnets["subnet-003252752c8a83c9f"]
module.vpn.aws_ec2_client_vpn_network_association.this_subnets["subnet-0372dd9f5c68cdf14"]
module.vpn.aws_ec2_client_vpn_network_association.this_subnets["subnet-0c68946095ba18faf"]
module.vpn.aws_iam_saml_provider.client_vpn
module.vpn.aws_iam_saml_provider.client_vpn_self_service[0]
module.vpn.aws_security_group.this
module.vpn.aws_security_group_rule.egress_all
Show plan
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_acm_certificate.client_vpn will be created
  + resource "aws_acm_certificate" "client_vpn" {
      + arn                       = (known after apply)
      + certificate_body          = (known after apply)
      + domain_name               = (known after apply)
      + domain_validation_options = (known after apply)
      + id                        = (known after apply)
      + key_algorithm             = (known after apply)
      + not_after                 = (known after apply)
      + not_before                = (known after apply)
      + pending_renewal           = (known after apply)
      + private_key               = (sensitive value)
      + renewal_eligibility       = (known after apply)
      + renewal_summary           = (known after apply)
      + status                    = (known after apply)
      + subject_alternative_names = (known after apply)
      + tags                      = {
          + "CostCenter" = "notification-canada-ca-production"
          + "Name"       = "notification-canada-ca"
        }
      + tags_all                  = {
          + "CostCenter" = "notification-canada-ca-production"
          + "Name"       = "notification-canada-ca"
        }
      + type                      = (known after apply)
      + validation_emails         = (known after apply)
      + validation_method         = (known after apply)
    }

  # tls_private_key.client_vpn will be created
  + resource "tls_private_key" "client_vpn" {
      + algorithm                     = "RSA"
      + ecdsa_curve                   = "P224"
      + id                            = (known after apply)
      + private_key_openssh           = (sensitive value)
      + private_key_pem               = (sensitive value)
      + private_key_pem_pkcs8         = (sensitive value)
      + public_key_fingerprint_md5    = (known after apply)
      + public_key_fingerprint_sha256 = (known after apply)
      + public_key_openssh            = (known after apply)
      + public_key_pem                = (known after apply)
      + rsa_bits                      = 2048
    }

  # tls_self_signed_cert.client_vpn will be created
  + resource "tls_self_signed_cert" "client_vpn" {
      + allowed_uses          = [
          + "key_encipherment",
          + "digital_signature",
          + "server_auth",
          + "ipsec_end_system",
          + "ipsec_tunnel",
          + "any_extended",
          + "cert_signing",
        ]
      + cert_pem              = (known after apply)
      + early_renewal_hours   = 672
      + id                    = (known after apply)
      + is_ca_certificate     = false
      + key_algorithm         = (known after apply)
      + private_key_pem       = (sensitive value)
      + ready_for_renewal     = false
      + set_authority_key_id  = false
      + set_subject_key_id    = false
      + validity_end_time     = (known after apply)
      + validity_period_hours = 43800
      + validity_start_time   = (known after apply)

      + subject {
          + common_name = "vpn.production.notification.canada.ca"
        }
    }

  # module.sns_sms_usage_report_sanitized_bucket.aws_s3_bucket.this will be created
  + resource "aws_s3_bucket" "this" {
      + acceleration_status         = (known after apply)
      + acl                         = "private"
      + arn                         = (known after apply)
      + bucket                      = "notification-canada-ca-production-sms-usage-logs-san"
      + bucket_domain_name          = (known after apply)
      + bucket_prefix               = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = false
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + object_lock_enabled         = (known after apply)
      + policy                      = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags                        = {
          + "CostCenter" = "notification-canada-ca-production"
          + "CostCentre" = "notification-canada-ca-production"
          + "Critical"   = "false"
          + "Terraform"  = "true"
        }
      + tags_all                    = {
          + "CostCenter" = "notification-canada-ca-production"
          + "CostCentre" = "notification-canada-ca-production"
          + "Critical"   = "false"
          + "Terraform"  = "true"
        }
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)

      + server_side_encryption_configuration {
          + rule {
              + bucket_key_enabled = false

              + apply_server_side_encryption_by_default {
                  + sse_algorithm = "AES256"
                }
            }
        }
    }

  # module.sns_sms_usage_report_sanitized_bucket.aws_s3_bucket_public_access_block.this will be created
  + resource "aws_s3_bucket_public_access_block" "this" {
      + block_public_acls       = true
      + block_public_policy     = true
      + bucket                  = (known after apply)
      + id                      = (known after apply)
      + ignore_public_acls      = true
      + restrict_public_buckets = true
    }

  # module.sns_sms_usage_report_sanitized_bucket_us_west_2.aws_s3_bucket.this will be created
  + resource "aws_s3_bucket" "this" {
      + acceleration_status         = (known after apply)
      + acl                         = "private"
      + arn                         = (known after apply)
      + bucket                      = "notification-canada-ca-production-sms-usage-west-2-logs-san"
      + bucket_domain_name          = (known after apply)
      + bucket_prefix               = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = false
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + object_lock_enabled         = (known after apply)
      + policy                      = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags                        = {
          + "CostCenter" = "notification-canada-ca-production"
          + "CostCentre" = "notification-canada-ca-production"
          + "Critical"   = "false"
          + "Terraform"  = "true"
        }
      + tags_all                    = {
          + "CostCenter" = "notification-canada-ca-production"
          + "CostCentre" = "notification-canada-ca-production"
          + "Critical"   = "false"
          + "Terraform"  = "true"
        }
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)

      + server_side_encryption_configuration {
          + rule {
              + bucket_key_enabled = false

              + apply_server_side_encryption_by_default {
                  + sse_algorithm = "AES256"
                }
            }
        }
    }

  # module.sns_sms_usage_report_sanitized_bucket_us_west_2.aws_s3_bucket_public_access_block.this will be created
  + resource "aws_s3_bucket_public_access_block" "this" {
      + block_public_acls       = true
      + block_public_policy     = true
      + bucket                  = (known after apply)
      + id                      = (known after apply)
      + ignore_public_acls      = true
      + restrict_public_buckets = true
    }

  # module.vpn.aws_cloudwatch_log_group.this will be created
  + resource "aws_cloudwatch_log_group" "this" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + log_group_class   = (known after apply)
      + name              = "/aws/client-vpn-endpoint/private-subnets"
      + name_prefix       = (known after apply)
      + retention_in_days = 14
      + skip_destroy      = false
      + tags              = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + tags_all          = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
    }

  # module.vpn.aws_ec2_client_vpn_authorization_rule.this_internal_dns will be created
  + resource "aws_ec2_client_vpn_authorization_rule" "this_internal_dns" {
      + authorize_all_groups   = true
      + client_vpn_endpoint_id = (known after apply)
      + description            = "Authorization for private-subnets to DNS"
      + id                     = (known after apply)
      + target_network_cidr    = "10.0.0.2/32"
    }

  # module.vpn.aws_ec2_client_vpn_authorization_rule.this_subnets["10.0.0.0/24"] will be created
  + resource "aws_ec2_client_vpn_authorization_rule" "this_subnets" {
      + access_group_id        = (sensitive value)
      + client_vpn_endpoint_id = (known after apply)
      + description            = "Rule name: 10.0.0.0/24"
      + id                     = (known after apply)
      + target_network_cidr    = "10.0.0.0/24"
    }

  # module.vpn.aws_ec2_client_vpn_authorization_rule.this_subnets["10.0.1.0/24"] will be created
  + resource "aws_ec2_client_vpn_authorization_rule" "this_subnets" {
      + access_group_id        = (sensitive value)
      + client_vpn_endpoint_id = (known after apply)
      + description            = "Rule name: 10.0.1.0/24"
      + id                     = (known after apply)
      + target_network_cidr    = "10.0.1.0/24"
    }

  # module.vpn.aws_ec2_client_vpn_authorization_rule.this_subnets["10.0.2.0/24"] will be created
  + resource "aws_ec2_client_vpn_authorization_rule" "this_subnets" {
      + access_group_id        = (sensitive value)
      + client_vpn_endpoint_id = (known after apply)
      + description            = "Rule name: 10.0.2.0/24"
      + id                     = (known after apply)
      + target_network_cidr    = "10.0.2.0/24"
    }

  # module.vpn.aws_ec2_client_vpn_endpoint.this will be created
  + resource "aws_ec2_client_vpn_endpoint" "this" {
      + arn                     = (known after apply)
      + client_cidr_block       = "172.16.0.0/22"
      + description             = "private-subnets"
      + dns_name                = (known after apply)
      + dns_servers             = [
          + "10.0.0.2",
          + "8.8.8.8",
        ]
      + id                      = (known after apply)
      + security_group_ids      = (known after apply)
      + self_service_portal     = "enabled"
      + self_service_portal_url = (known after apply)
      + server_certificate_arn  = (known after apply)
      + session_timeout_hours   = 8
      + split_tunnel            = true
      + tags                    = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + tags_all                = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + transport_protocol      = "udp"
      + vpc_id                  = "vpc-0e02e0295db594518"
      + vpn_port                = 443

      + authentication_options {
          + saml_provider_arn              = (known after apply)
          + self_service_saml_provider_arn = (known after apply)
          + type                           = "federated-authentication"
        }

      + client_login_banner_options {
          + banner_text = "Welcome to the Notify PRODUCTION Environment. This is a private network.  Only authorized users may connect and should take care not to cause service disruptions."
          + enabled     = true
        }

      + connection_log_options {
          + cloudwatch_log_group  = "/aws/client-vpn-endpoint/private-subnets"
          + cloudwatch_log_stream = (known after apply)
          + enabled               = true
        }
    }

  # module.vpn.aws_ec2_client_vpn_network_association.this_subnets["subnet-003252752c8a83c9f"] will be created
  + resource "aws_ec2_client_vpn_network_association" "this_subnets" {
      + association_id         = (known after apply)
      + client_vpn_endpoint_id = (known after apply)
      + id                     = (known after apply)
      + subnet_id              = "subnet-003252752c8a83c9f"
      + vpc_id                 = (known after apply)
    }

  # module.vpn.aws_ec2_client_vpn_network_association.this_subnets["subnet-0372dd9f5c68cdf14"] will be created
  + resource "aws_ec2_client_vpn_network_association" "this_subnets" {
      + association_id         = (known after apply)
      + client_vpn_endpoint_id = (known after apply)
      + id                     = (known after apply)
      + subnet_id              = "subnet-0372dd9f5c68cdf14"
      + vpc_id                 = (known after apply)
    }

  # module.vpn.aws_ec2_client_vpn_network_association.this_subnets["subnet-0c68946095ba18faf"] will be created
  + resource "aws_ec2_client_vpn_network_association" "this_subnets" {
      + association_id         = (known after apply)
      + client_vpn_endpoint_id = (known after apply)
      + id                     = (known after apply)
      + subnet_id              = "subnet-0c68946095ba18faf"
      + vpc_id                 = (known after apply)
    }

  # module.vpn.aws_iam_saml_provider.client_vpn will be created
  + resource "aws_iam_saml_provider" "client_vpn" {
      + arn                    = (known after apply)
      + id                     = (known after apply)
      + name                   = "client-vpn"
      + saml_metadata_document = (sensitive value)
      + tags                   = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + tags_all               = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + valid_until            = (known after apply)
    }

  # module.vpn.aws_iam_saml_provider.client_vpn_self_service[0] will be created
  + resource "aws_iam_saml_provider" "client_vpn_self_service" {
      + arn                    = (known after apply)
      + id                     = (known after apply)
      + name                   = "client-vpn-self-service"
      + saml_metadata_document = (sensitive value)
      + tags                   = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + tags_all               = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + valid_until            = (known after apply)
    }

  # module.vpn.aws_security_group.this will be created
  + resource "aws_security_group" "this" {
      + arn                    = (known after apply)
      + description            = "Egress All. Used to allow access to other security groups."
      + egress                 = (known after apply)
      + id                     = (known after apply)
      + ingress                = (known after apply)
      + name                   = "client-vpn-endpoint-private-subnets"
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags                   = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + tags_all               = {
          + "CostCentre" = "notification-canada-ca-production"
          + "Source"     = "cds-snc/terraform-modules/client_vpn"
          + "Terraform"  = "true"
        }
      + vpc_id                 = "vpc-0e02e0295db594518"
    }

  # module.vpn.aws_security_group_rule.egress_all will be created
  + resource "aws_security_group_rule" "egress_all" {
      + cidr_blocks              = [
          + "0.0.0.0/0",
        ]
      + from_port                = 0
      + id                       = (known after apply)
      + protocol                 = "-1"
      + security_group_id        = (known after apply)
      + security_group_rule_id   = (known after apply)
      + self                     = false
      + source_security_group_id = (known after apply)
      + to_port                  = 0
      + type                     = "egress"
    }

Plan: 20 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  ~ client_vpn_security_group_id                        = "sg-006f438506a2396f3" -> (known after apply)
  + s3_bucket_sms_usage_sanitized_id                    = (known after apply)

Warning: Argument is deprecated

  with aws_s3_bucket.csv_bucket,
  on s3.tf line 5, in resource "aws_s3_bucket" "csv_bucket":
   5: resource "aws_s3_bucket" "csv_bucket" {

Use the aws_s3_bucket_lifecycle_configuration resource instead

(and 71 more similar warnings elsewhere)

─────────────────────────────────────────────────────────────────────────────

Saved the plan to: plan.tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "plan.tfplan"
Show Conftest results
WARN - plan.json - main - Missing Common Tags: ["aws_acm_certificate.client_vpn"]
WARN - plan.json - main - Missing Common Tags: ["aws_athena_workgroup.ad_hoc"]
WARN - plan.json - main - Missing Common Tags: ["aws_athena_workgroup.build_tables"]
WARN - plan.json - main - Missing Common Tags: ["aws_athena_workgroup.primary"]
WARN - plan.json - main - Missing Common Tags: ["aws_athena_workgroup.support"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_event_rule.aws_health[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.route53_resolver_query_log[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.sns_deliveries[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.sns_deliveries_failures[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.sns_deliveries_failures_us_west_2[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.sns_deliveries_us_west_2[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.bulk-bulk-not-being-processed-critical[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.bulk-bulk-not-being-processed-warning[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.bulk-inflights-not-being-processed-critical[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.bulk-inflights-not-being-processed-warning[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.bulk-not-being-processed-critical[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.bulk-not-being-processed-warning[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.contact-3-500-error-15-minutes-critical[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.document-download-bucket-size-warning[0]"]
WARN - plan.json -...

Copy link

Production: pinpoint_to_sqs_sms_callbacks

❌   Terraform Init: failed
❌   Terraform Validate: failed
❌   Terraform Format: failed
❌   Terraform Plan: failed
❌   Conftest: failed

Show Init results
time=2024-04-25T13:55:22Z level=error msg=/home/runner/work/notification-terraform/notification-terraform/env/production/pinpoint_to_sqs_sms_callbacks/terragrunt.hcl:50,1-10: Duplicate terraform block; Only one terraform block is allowed. Another was defined at /home/runner/work/notification-terraform/notification-terraform/env/production/pinpoint_to_sqs_sms_callbacks/terragrunt.hcl:2,1-10.
time=2024-04-25T13:55:22Z level=error msg=Unable to determine underlying exit code, so Terragrunt will exit with error code 1
Show Validate results
time=2024-04-25T13:55:23Z level=error msg=/home/runner/work/notification-terraform/notification-terraform/env/production/pinpoint_to_sqs_sms_callbacks/terragrunt.hcl:50,1-10: Duplicate terraform block; Only one terraform block is allowed. Another was defined at /home/runner/work/notification-terraform/notification-terraform/env/production/pinpoint_to_sqs_sms_callbacks/terragrunt.hcl:2,1-10.
time=2024-04-25T13:55:23Z level=error msg=Unable to determine underlying exit code, so Terragrunt will exit with error code 1
Show plan
time=2024-04-25T13:55:25Z level=error msg=/home/runner/work/notification-terraform/notification-terraform/env/production/pinpoint_to_sqs_sms_callbacks/terragrunt.hcl:50,1-10: Duplicate terraform block; Only one terraform block is allowed. Another was defined at /home/runner/work/notification-terraform/notification-terraform/env/production/pinpoint_to_sqs_sms_callbacks/terragrunt.hcl:2,1-10.
time=2024-04-25T13:55:25Z level=error msg=Unable to determine underlying exit code, so Terragrunt will exit with error code 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant