-
Notifications
You must be signed in to change notification settings - Fork 7
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
chore: GCForms release v3.4.0 #507
Conversation
bc1df52
to
d83de38
Compare
99ba942
to
9fd08e0
Compare
bbd91e7
to
f85b976
Compare
f85b976
to
f846e71
Compare
Production: hosted_zone✅ Terraform Init: Plan: 1 to add, 0 to change, 0 to destroy Show summary
Show planResource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# aws_route53_zone.form_viewer has moved to aws_route53_zone.form_viewer[0]
resource "aws_route53_zone" "form_viewer" {
id = "Z1031499PBK3926Y7HKK"
name = "forms-formulaires.alpha.canada.ca"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (6 unchanged attributes hidden)
}
# aws_route53_zone.form_viewer[1] will be created
+ resource "aws_route53_zone" "form_viewer" {
+ arn = (known after apply)
+ comment = "Managed by Terraform"
+ force_destroy = false
+ id = (known after apply)
+ name = "forms-formulaires.canada.ca"
+ name_servers = (known after apply)
+ tags = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ tags_all = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ zone_id = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
- hosted_zone_id = "Z1031499PBK3926Y7HKK" -> null
+ hosted_zone_ids = [
+ "Z1031499PBK3926Y7HKK",
+ null,
]
- hosted_zone_name = "forms-formulaires.alpha.canada.ca" -> null
+ hosted_zone_names = [
+ "forms-formulaires.alpha.canada.ca",
+ "forms-formulaires.canada.ca",
]
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Releasing state lock. This may take a few moments...
Show Conftest results18 tests, 18 passed, 0 warnings, 0 failures, 0 exceptions
|
Production: cognito✅ Terraform Init: Plan: 0 to add, 1 to change, 0 to destroy Show summary
Show planResource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# aws_cognito_user_pool_client.forms will be updated in-place
~ resource "aws_cognito_user_pool_client" "forms" {
~ callback_urls = [
+ "https://forms-formulaires.canada.ca/api/auth/callback/cognito",
# (2 unchanged elements hidden)
]
id = "5rkjd3us3ocssieiitdbtjitiv"
name = "forms_client"
# (14 unchanged attributes hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Releasing state lock. This may take a few moments...
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.cognito_email_sender"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.cognito_pre_sign_up"]
WARN - plan.json - main - Missing Common Tags: ["aws_cognito_user_pool.forms"]
20 tests, 17 passed, 3 warnings, 0 failures, 0 exceptions
|
Production: load_balancer✅ Terraform Init: Plan: 5 to add, 2 to change, 3 to destroy Show summary
Show planResource actions are indicated with the following symbols:
+ create
~ update in-place
-/+ destroy and then create replacement
Terraform will perform the following actions:
# aws_route53_record.form_viewer[0] must be replaced
# (moved from aws_route53_record.form_viewer)
-/+ resource "aws_route53_record" "form_viewer" {
+ allow_overwrite = (known after apply)
~ fqdn = "forms-formulaires.alpha.canada.ca" -> (known after apply)
~ id = "Z1031499PBK3926Y7HKK_forms-formulaires.alpha.canada.ca_A" -> (known after apply)
name = "forms-formulaires.alpha.canada.ca"
- records = [] -> null
- ttl = 0 -> null
~ zone_id = "Z1031499PBK3926Y7HKK" -> "mocked_zone_id_forms-formulaires.alpha.canada.ca" # forces replacement
# (1 unchanged attribute hidden)
# (1 unchanged block hidden)
}
# aws_route53_record.form_viewer[1] will be created
+ resource "aws_route53_record" "form_viewer" {
+ allow_overwrite = (known after apply)
+ fqdn = (known after apply)
+ id = (known after apply)
+ name = "forms-formulaires.canada.ca"
+ type = "A"
+ zone_id = "mocked_zone_id_forms-formulaires.canada.ca"
+ alias {
+ evaluate_target_health = true
+ name = "form-viewer-1039776084.ca-central-1.elb.amazonaws.com"
+ zone_id = "ZQSVJUPU6J1EY"
}
}
# aws_route53_record.form_viewer_certificate_validation["forms-formulaires.alpha.canada.ca"] must be replaced
-/+ resource "aws_route53_record" "form_viewer_certificate_validation" {
~ fqdn = "_d790f6dfd9c2ba0c9fa129347a170b4c.forms-formulaires.alpha.canada.ca" -> (known after apply)
~ id = "Z1031499PBK3926Y7HKK__d790f6dfd9c2ba0c9fa129347a170b4c.forms-formulaires.alpha.canada.ca._CNAME" -> (known after apply)
name = "_d790f6dfd9c2ba0c9fa129347a170b4c.forms-formulaires.alpha.canada.ca"
~ zone_id = "Z1031499PBK3926Y7HKK" -> "mocked_zone_id_forms-formulaires.alpha.canada.ca" # forces replacement
# (4 unchanged attributes hidden)
}
# aws_shield_protection.route53_hosted_zone[0] must be replaced
# (moved from aws_shield_protection.route53_hosted_zone)
-/+ resource "aws_shield_protection" "route53_hosted_zone" {
~ arn = "arn:aws:shield::957818836222:protection/abb8c7ef-5e58-4b87-afe6-2eeb93734f51" -> (known after apply)
~ id = "abb8c7ef-5e58-4b87-afe6-2eeb93734f51" -> (known after apply)
name = "Route53HostedZone"
~ resource_arn = "arn:aws:route53:::hostedzone/Z1031499PBK3926Y7HKK" -> "arn:aws:route53:::hostedzone/mocked_zone_id_forms-formulaires.alpha.canada.ca" # forces replacement
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (1 unchanged attribute hidden)
}
# aws_shield_protection.route53_hosted_zone[1] will be created
+ resource "aws_shield_protection" "route53_hosted_zone" {
+ arn = (known after apply)
+ id = (known after apply)
+ name = "Route53HostedZone"
+ resource_arn = "arn:aws:route53:::hostedzone/mocked_zone_id_forms-formulaires.canada.ca"
+ tags = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ tags_all = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
}
# aws_wafv2_regex_pattern_set.forms_base_url will be updated in-place
~ resource "aws_wafv2_regex_pattern_set" "forms_base_url" {
id = "e1ceb832-c7e4-4b53-a818-44a55e27b3e4"
name = "forms_base_url"
tags = {}
# (5 unchanged attributes hidden)
- regular_expression {
- regex_string = "forms-formulaires.alpha.canada.ca$" -> null
}
+ regular_expression {
+ regex_string = "^forms-formulaires.alpha.canada.ca$"
}
+ regular_expression {
+ regex_string = "^forms-formulaires.canada.ca$"
}
}
# aws_wafv2_regex_pattern_set.valid_app_uri_paths will be updated in-place
~ resource "aws_wafv2_regex_pattern_set" "valid_app_uri_paths" {
id = "f3927a12-2101-47c6-9a47-7353ac95ba92"
name = "valid_app_uri_paths"
tags = {}
# (5 unchanged attributes hidden)
+ regular_expression {
+ regex_string = "^\\/?(BingSiteAuth\\.xml|googlef34bd8c094c26cb0\\.html)$"
}
# (4 unchanged blocks hidden)
}
Plan: 5 to add, 2 to change, 3 to destroy.
Warning: Argument is deprecated
with aws_s3_bucket.firehose_waf_logs,
on kinesis.tf line 30, in resource "aws_s3_bucket" "firehose_waf_logs":
30: resource "aws_s3_bucket" "firehose_waf_logs" {
Use the aws_s3_bucket_server_side_encryption_configuration resource instead
(and 5 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"
Releasing state lock. This may take a few moments...
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_wafv2_regex_pattern_set.forms_base_url"]
WARN - plan.json - main - Missing Common Tags: ["aws_wafv2_regex_pattern_set.valid_app_uri_paths"]
19 tests, 17 passed, 2 warnings, 0 failures, 0 exceptions
|
Production: app✅ Terraform Init: Plan: 12 to add, 8 to change, 12 to destroy Show summary
✂ Warning: plan has been truncated! See the full plan in the logs. Show planResource actions are indicated with the following symbols:
~ update in-place
-/+ destroy and then create replacement
<= read (data resources)
Terraform will perform the following actions:
# data.aws_iam_policy_document.lambda_app_invoke will be read during apply
# (depends on a resource or a module with changes pending)
<= data "aws_iam_policy_document" "lambda_app_invoke" {
+ id = (known after apply)
+ json = (known after apply)
+ statement {
+ actions = [
+ "lambda:InvokeFunction",
]
+ effect = "Allow"
+ resources = [
+ "arn:aws:lambda:ca-central-1:957818836222:function:Submission",
]
}
}
# data.template_file.form_viewer_task will be read during apply
# (depends on a resource or a module with changes pending)
<= data "template_file" "form_viewer_task" {
+ id = (known after apply)
+ rendered = (known after apply)
+ template = jsonencode(
[
+ {
+ environment = [
+ {
+ name = "METRIC_PROVIDER"
+ value = "${metric_provider}"
},
+ {
+ name = "TRACER_PROVIDER"
+ value = "${tracer_provider}"
},
+ {
+ name = "SUBMISSION_API"
+ value = "${submission_api}"
},
+ {
+ name = "NEXTAUTH_URL"
+ value = "${nextauth_url}"
},
+ {
+ name = "REDIS_URL"
+ value = "${redis_url}"
},
+ {
+ name = "RELIABILITY_FILE_STORAGE"
+ value = "${reliability_file_storage}"
},
+ {
+ name = "RECAPTCHA_V3_SITE_KEY"
+ value = "${recaptcha_public}"
},
+ {
+ name = "TEMPORARY_TOKEN_TEMPLATE_ID"
+ value = "${gc_temp_token_template_id}"
},
+ {
+ name = "TEMPLATE_ID"
+ value = "${gc_template_id}"
},
+ {
+ name = "VAULT_FILE_STORAGE"
+ value = "${vault_file_storage}"
},
+ {
+ name = "COGNITO_ENDPOINT_URL"
+ value = "${cognito_endpoint_url}"
},
+ {
+ name = "COGNITO_CLIENT_ID"
+ value = "${cognito_client_id}"
},
+ {
+ name = "EMAIL_ADDRESS_CONTACT_US"
+ value = "${email_address_contact_us}"
},
+ {
+ name = "EMAIL_ADDRESS_SUPPORT"
+ value = "${email_address_support}"
},
+ {
+ name = "REPROCESS_SUBMISSION_QUEUE_URL"
+ value = "${reprocess_submission_queue}"
},
+ {
+ name = "AUDIT_LOG_QUEUE_URL"
+ value = "${audit_log_queue_url}"
},
]
+ image = "${image}"
+ linuxParameters = {
+ capabilities = {
+ drop = [
+ "ALL",
]
}
}
+ logConfiguration = {
+ logDriver = "awslogs"
+ options = {
+ awslogs-group = "${awslogs-group}"
+ awslogs-region = "${awslogs-region}"
+ awslogs-stream-prefix = "${awslogs-stream-prefix}"
}
}
+ name = "form_viewer"
+ portMappings = [
+ {
+ containerPort = 3000
},
]
+ secrets = [
+ {
+ name = "NOTIFY_API_KEY"
+ valueFrom = "${notify_api_key}"
},
+ {
+ name = "RECAPTCHA_V3_SECRET_KEY"
+ valueFrom = "${recaptcha_secret}"
},
+ {
+ name = "DATABASE_URL"
+ valueFrom = "${database_url}"
},
+ {
+ name = "TOKEN_SECRET"
+ valueFrom = "${token_secret}"
},
+ {
+ name = "GC_NOTIFY_CALLBACK_BEARER_TOKEN"
+ valueFrom = "${gc_notify_callback_bearer_token}"
},
+ {
+ name = "FRESHDESK_API_KEY"
+ valueFrom = "${freshdesk_api_key}"
},
]
},
]
)
+ vars = {
+ "audit_log_queue_url" = "https://sqs.ca-central-1.amazonaws.com/957818836222/audit_log_queue"
+ "awslogs-group" = "Forms"
+ "awslogs-region" = "ca-central-1"
+ "awslogs-stream-prefix" = "ecs-form-viewer"
+ "cognito_client_id" = "5rkjd3us3ocssieiitdbtjitiv"
+ "cognito_endpoint_url" = "cognito-idp.ca-central-1.amazonaws.com/ca-central-1_eSTGTCw33"
+ "database_url" = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:server-database-url-jVtWGE"
+ "email_address_contact_us" = "[email protected]"
+ "email_address_support" = "[email protected]"
+ "freshdesk_api_key" = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:freshdesk_api_key-2Q118n"
+ "gc_notify_callback_bearer_token" = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:gc_notify_callback_bearer_token-0zuI6O"
+ "gc_temp_token_template_id" = "61cec9c4-64ca-4e4d-b4d2-a0e931c44422"
+ "gc_template_id" = "92096ac6-1cc5-40ae-9052-fffdb8439a90"
+ "image" = "957818836222.dkr.ecr.ca-central-1.amazonaws.com/form_viewer_production"
+ "metric_provider" = "stdout"
+ "nextauth_url" = "https://forms-formulaires.alpha.canada.ca"
+ "notify_api_key" = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:notify_api_key-sLtddr"
+ "recaptcha_public" = "6LfuLrQnAAAAAK9Df3gem4XLMRVY2Laq6t2fhZhZ"
+ "recaptcha_secret" = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:recaptcha_secret-LxfCjN"
+ "redis_url" = "gcforms-redis-rep-group.iyrckm.ng.0001.cac1.cache.amazonaws.com"
+ "reliability_file_storage" = "forms-production-reliability-file-storage"
+ "reprocess_submission_queue" = "https://sqs.ca-central-1.amazonaws.com/957818836222/reprocess_submission_queue.fifo"
+ "submission_api" = "arn:aws:lambda:ca-central-1:957818836222:function:Submission"
+ "token_secret" = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:token_secret-jw4Dou"
+ "tracer_provider" = "stdout"
+ "vault_file_storage" = "forms-production-vault-file-storage"
}
}
# aws_ecs_task_definition.form_viewer must be replaced
-/+ resource "aws_ecs_task_definition" "form_viewer" {
~ arn = "arn:aws:ecs:ca-central-1:957818836222:task-definition/form-viewer:30" -> (known after apply)
~ container_definitions = jsonencode(
[
- {
- cpu = 0
- environment = [
- {
- name = "AUDIT_LOG_QUEUE_URL"
- value = "https://sqs.ca-central-1.amazonaws.com/957818836222/audit_log_queue"
},
- {
- name = "COGNITO_CLIENT_ID"
- value = "5rkjd3us3ocssieiitdbtjitiv"
},
- {
- name = "COGNITO_ENDPOINT_URL"
- value = "cognito-idp.ca-central-1.amazonaws.com/ca-central-1_eSTGTCw33"
},
- {
- name = "EMAIL_ADDRESS_CONTACT_US"
- value = "[email protected]"
},
- {
- name = "EMAIL_ADDRESS_SUPPORT"
- value = "[email protected]"
},
- {
- name = "METRIC_PROVIDER"
- value = "stdout"
},
- {
- name = "NEXTAUTH_URL"
- value = "https://forms-formulaires.alpha.canada.ca"
},
- {
- name = "RECAPTCHA_V3_SITE_KEY"
- value = "6LfuLrQnAAAAAK9Df3gem4XLMRVY2Laq6t2fhZhZ"
},
- {
- name = "REDIS_URL"
- value = "gcforms-redis-rep-group.iyrckm.ng.0001.cac1.cache.amazonaws.com"
},
- {
- name = "RELIABILITY_FILE_STORAGE"
- value = "forms-production-reliability-file-storage"
},
- {
- name = "REPROCESS_SUBMISSION_QUEUE_URL"
- value = "https://sqs.ca-central-1.amazonaws.com/957818836222/reprocess_submission_queue.fifo"
},
- {
- name = "SUBMISSION_API"
- value = "arn:aws:lambda:ca-central-1:957818836222:function:Submission"
},
- {
- name = "TEMPLATE_ID"
- value = "92096ac6-1cc5-40ae-9052-fffdb8439a90"
},
- {
- name = "TEMPORARY_TOKEN_TEMPLATE_ID"
- value = "61cec9c4-64ca-4e4d-b4d2-a0e931c44422"
},
- {
- name = "TRACER_PROVIDER"
- value = "stdout"
},
- {
- name = "VAULT_FILE_STORAGE"
- value = "forms-production-vault-file-storage"
},
]
- essential = true
- image = "957818836222.dkr.ecr.ca-central-1.amazonaws.com/form_viewer_production"
- linuxParameters = {
- capabilities = {
- drop = [
- "ALL",
]
}
}
- logConfiguration = {
- logDriver = "awslogs"
- options = {
- awslogs-group = "Forms"
- awslogs-region = "ca-central-1"
- awslogs-stream-prefix = "ecs-form-viewer"
}
}
- mountPoints = []
- name = "form_viewer"
- portMappings = [
- {
- containerPort = 3000
- hostPort = 3000
- protocol = "tcp"
},
]
- secrets = [
- {
- name = "NOTIFY_API_KEY"
- valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:notify_api_key-sLtddr"
},
- {
- name = "RECAPTCHA_V3_SECRET_KEY"
- valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:recaptcha_secret-LxfCjN"
},
- {
- name = "DATABASE_URL"
- valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:server-database-url-jVtWGE"
},
- {
- name = "TOKEN_SECRET"
- valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:token_secret-jw4Dou"
},
- {
- name = "GC_NOTIFY_CALLBACK_BEARER_TOKEN"
- valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:gc_notify_callback_bearer_token-0zuI6O"
},
- {
- name = "FRESHDESK_API_KEY"
- valueFrom = "arn:aws:secretsmanager:ca-central-1:957818836222:secret:freshdesk_api_key-2Q118n"
},
]
- volumesFrom = []
},
] # forces replacement
) -> (known after apply)
~ id = "form-viewer" -> (known after apply)
~ revision = 30 -> (known after apply)
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (9 unchanged attributes hidden)
}
# aws_iam_policy.lambda_app_invoke will be updated in-place
~ resource "aws_iam_policy" "lambda_app_invoke" {
id = "arn:aws:iam::957818836222:policy/lambda_app_invoke"
name = "lambda_app_invoke"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = "lambda:InvokeFunction"
- Effect = "Allow"
- Resource = "arn:aws:lambda:ca-central-1:957818836222:function:Submission"
- Sid = ""
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (5 unchanged attributes hidden)
}
# aws_lambda_function.archive_form_templates will be updated in-place
~ resource "aws_lambda_function" "archive_form_templates" {
id = "ArchiveFormTemplates"
~ layers = [
- "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_lib_packages:2",
- "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_node_packages:5",
] -> (known after apply)
~ runtime = "nodejs14.x" -> "nodejs18.x"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (18 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# aws_lambda_function.archiver will be updated in-place
~ resource "aws_lambda_function" "archiver" {
id = "Archiver"
~ layers = [
- "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_lib_packages:1",
- "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_node_packages:8",
] -> (known after apply)
~ runtime = "nodejs14.x" -> "nodejs18.x"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (18 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# aws_lambda_function.audit_logs will be updated in-place
~ resource "aws_lambda_function" "audit_logs" {
id = "AuditLogs"
~ last_modified = "2023-09-19T18:58:02.000+0000" -> (known after apply)
~ layers = [
- "arn:aws:lambda:ca-central-1:957818836222:layer:audit_logs_node_packages:5",
] -> (known after apply)
~ runtime = "nodejs16.x" -> "nodejs18.x"
~ source_code_hash = "L0huilf9W9wqyXvWG8qNvrLEBYUOyWugGVxyaDbnrvE=" -> "D+znb19Vjp8Q9nqFkVJze635ACkzsT7CtKnPs4GHyS4="
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (16 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# aws_lambda_function.dead_letter_queue_consumer will be updated in-place
~ resource "aws_lambda_function" "dead_letter_queue_consumer" {
id = "DeadLetterQueueConsumer"
~ layers = [
- "arn:aws:lambda:ca-central-1:957818836222:layer:dead_letter_queue_consumer_node_packages:6",
] -> (known after apply)
~ runtime = "nodejs14.x" -> "nodejs18.x"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (18 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# aws_lambda_function.nagware will be updated in-place
~ resource "aws_lambda_function" "nagware" {
id = "Nagware"
~ layers = [
- "arn:aws:lambda:ca-central-1:957818836222:layer:nagware_lib_packages:4",
- "arn:aws:lambda:ca-central-1:957818836222:layer:nagware_node_packages:5",
] -> (known after apply)
~ runtime = "nodejs14.x" -> "nodejs18.x"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (18 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# aws_lambda_function.reliability will be updated in-place
~ resource "aws_lambda_function" "reliability" {
id = "Reliability"
~ layers = [
- "arn:aws:lambda:ca-central-1:957818836222:layer:reliability_lib_packages:17",
- "arn:aws:lambda:ca-central-1:957818836222:layer:reliability_node_packages:35",
] -> (known after apply)
~ runtime = "nodejs14.x" -> "nodejs18.x"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (18 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# aws_lambda_function.submission will be updated in-place
~ resource "aws_lambda_function" "submission" {
id = "Submission"
~ layers = [
- "arn:aws:lambda:ca-central-1:957818836222:layer:submission_node_packages:23",
] -> (known after apply)
~ runtime = "nodejs14.x" -> "nodejs18.x"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (18 unchanged attributes hidden)
# (2 unchanged blocks hidden)
}
# aws_lambda_layer_version.archive_form_templates_lib must be replaced
-/+ resource "aws_lambda_layer_version" "archive_form_templates_lib" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_lib_packages:2" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs14.x",
+ "nodejs18.x",
]
~ created_date = "2023-08-16T18:15:28.727+0000" -> (known after apply)
~ id = "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_lib_packages:2" -> (known after apply)
~ layer_arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_lib_packages" -> (known after apply)
+ signing_job_arn = (known after apply)
+ signing_profile_version_arn = (known after apply)
~ source_code_size = 1306 -> (known after apply)
~ version = "2" -> (known after apply)
# (4 unchanged attributes hidden)
}
# aws_lambda_layer_version.archive_form_templates_nodejs must be replaced
-/+ resource "aws_lambda_layer_version" "archive_form_templates_nodejs" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_node_packages:5" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs14.x",
+ "nodejs18.x",
]
~ created_date = "2023-09-19T18:57:41.037+0000" -> (known after apply)
~ id = "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_node_packages:5" -> (known after apply)
~ layer_arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archive_form_templates_node_packages" -> (known after apply)
+ signing_job_arn = (known after apply)
+ signing_profile_version_arn = (known after apply)
~ source_code_hash = "U7YTzsbYATYmRnzFQ2nphx91ATD+XeGW0/0eq7JO374=" -> "1s0LHTtXUYI1Z/t9D3Ub7cle8Ovvor2y0hKAPUnUmFs=" # forces replacement
~ source_code_size = 2444541 -> (known after apply)
~ version = "5" -> (known after apply)
# (3 unchanged attributes hidden)
}
# aws_lambda_layer_version.archiver_lib must be replaced
-/+ resource "aws_lambda_layer_version" "archiver_lib" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_lib_packages:1" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs12.x",
- "nodejs14.x",
+ "nodejs18.x",
]
~ created_date = "2023-04-17T14:28:01.282+0000" -> (known after apply)
~ id = "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_lib_packages:1" -> (known after apply)
~ layer_arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_lib_packages" -> (known after apply)
+ signing_job_arn = (known after apply)
+ signing_profile_version_arn = (known after apply)
~ source_code_size = 830 -> (known after apply)
~ version = "1" -> (known after apply)
# (4 unchanged attributes hidden)
}
# aws_lambda_layer_version.archiver_nodejs must be replaced
-/+ resource "aws_lambda_layer_version" "archiver_nodejs" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_node_packages:8" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs12.x",
- "nodejs14.x",
+ "nodejs18.x",
]
~ created_date = "2023-09-19T18:57:54.745+0000" -> (known after apply)
~ id = "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_node_packages:8" -> (known after apply)
~ layer_arn = "arn:aws:lambda:ca-central-1:957818836222:layer:archiver_node_packages" -> (known after apply)
+ signing_job_arn = (known after apply)
+ signing_profile_version_arn = (known after apply)
~ source_code_hash = "5U9x5dCmwJ6xIpguaeoTzEw2t6BZiEhws8ZozxMZ5Hw=" -> "6QJJlOaMJJPU7yEW6Q7ZGpqZ6Nwz35wFOl0+wpg0Uis=" # forces replacement
~ source_code_size = 4619618 -> (known after apply)
~ version = "8" -> (known after apply)
# (3 unchanged attributes hidden)
}
# aws_lambda_layer_version.audit_logs_lib must be replaced
-/+ resource "aws_lambda_layer_version" "audit_logs_lib" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:audit_logs_node_packages:5" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs16.x",
+ "nodejs18.x",
]
~ created_date = "2023-09-19T18:58:01.277+0000" -> (known after apply)
~ id = "arn:aws:lambda:ca-central-1:957818836222:layer:audit_logs_node_packages:5" -> (known after apply)
~ layer_arn = "arn:aws:lambda:ca-central-1:957818836222:layer:audit_logs_node_packages" -> (known after apply)
+ signing_job_arn = (known after apply)
+ signing_profile_version_arn = (known after apply)
~ source_code_hash = "vduYlNH7TwZ3UIpgcQk3oMNmQh6TNJCXN7J0rLAnrdg=" -> "eKVFhdUWemRZ7m6bU4ZKUGrJ2+Yxad3g5qvEpsVbWu8=" # forces replacement
~ source_code_size = 3180135 -> (known after apply)
~ version = "5" -> (known after apply)
# (3 unchanged attributes hidden)
}
# aws_lambda_layer_version.dead_letter_queue_consumer_lib must be replaced
-/+ resource "aws_lambda_layer_version" "dead_letter_queue_consumer_lib" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:dead_letter_queue_consumer_node_packages:6" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs14.x",
+ "nodejs18.x",
]
~ created_date = "2023-09-19T18:57:34.878+0000" -> (known after apply)
~ id = "arn:aws:lambda:ca-central-1:957818836222:layer:dead_letter_queue_consumer_node_packages:6" -> (known after apply)
~ layer_arn = "arn:aws:lambda:ca-central-1:957818836222:layer:dead_letter_queue_consumer_node_packages" -> (known after apply)
+ signing_job_arn = (known after apply)
+ signing_profile_version_arn = (known after apply)
~ source_code_hash = "MHuTntHaUrwEUfSxCwtR0AxiqeGbHXWEwDZ8VsIle7Q=" -> "tuF2XONzbyECqK4CYu45UWE8yS8SonpGQkXtfJjJ+U8=" # forces replacement
~ source_code_size = 2400073 -> (known after apply)
~ version = "6" -> (known after apply)
# (3 unchanged attributes hidden)
}
# aws_lambda_layer_version.nagware_lib must be replaced
-/+ resource "aws_lambda_layer_version" "nagware_lib" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:nagware_lib_packages:4" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs12.x",
- "nodejs14.x",
+ "nodejs18.x",
]
~ created_date = "2023-08-16T18:15:44.081+0000" -> (known after apply)
~ id = "arn:aws:lambda:ca-central-1:957818836222:layer:nagware_lib_packages:4" -> (known after apply)
~ layer_arn = "arn:aws:lambda:ca-central-1:957818836222:layer:nagware_lib_packages" -> (known after apply)
+ signing_job_arn = (known after apply)
+ signing_profile_version_arn = (known after apply)
~ source_code_size = 4427 -> (known after apply)
~ version = "4" -> (known after apply)
# (4 unchanged attributes hidden)
}
# aws_lambda_layer_version.nagware_nodejs must be replaced
-/+ resource "aws_lambda_layer_version" "nagware_nodejs" {
~ arn = "arn:aws:lambda:ca-central-1:957818836222:layer:nagware_node_packages:5" -> (known after apply)
- compatible_architectures = [] -> null
~ compatible_runtimes = [ # forces replacement
- "nodejs12.x",
- "nodejs14.x",
+... Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_event_rule.cron_2am_every_day"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_event_rule.cron_3am_every_day"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_event_rule.cron_4am_every_day"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_event_rule.cron_5am_every_business_day"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.archive_form_templates"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.archiver"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.audit_logs"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.dead_letter_queue_consumer"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.nagware"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.reliability"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.submission"]
28 tests, 17 passed, 11 warnings, 0 failures, 0 exceptions
|
Production: alarms✅ Terraform Init: Plan: 2 to add, 2 to change, 0 to destroy Show summary
Show planResource actions are indicated with the following symbols:
+ create
~ update in-place
Terraform will perform the following actions:
# aws_cloudwatch_metric_alarm.ddos_detected_route53_warn[0] will be updated in-place
# (moved from aws_cloudwatch_metric_alarm.ddos_detected_route53_warn)
~ resource "aws_cloudwatch_metric_alarm" "ddos_detected_route53_warn" {
~ dimensions = {
~ "ResourceArn" = "arn:aws:route53:::hostedzone/Z1031499PBK3926Y7HKK" -> "mocked_zone_id_forms-formulaires.alpha.canada.ca"
}
id = "DDoSDetectedRoute53Warn"
tags = {
"CostCentre" = "forms-platform-production"
"Terraform" = "true"
}
# (17 unchanged attributes hidden)
}
# aws_cloudwatch_metric_alarm.ddos_detected_route53_warn[1] will be created
+ resource "aws_cloudwatch_metric_alarm" "ddos_detected_route53_warn" {
+ actions_enabled = true
+ alarm_actions = [
+ "arn:aws:sns:ca-central-1:957818836222:alert-warning",
]
+ alarm_description = "End User Forms Warning - AWS has detected a DDOS attack on the End User Forms's DNS Server"
+ alarm_name = "DDoSDetectedRoute53Warn"
+ arn = (known after apply)
+ comparison_operator = "GreaterThanThreshold"
+ dimensions = {
+ "ResourceArn" = "mocked_zone_id_forms-formulaires.canada.ca"
}
+ evaluate_low_sample_count_percentiles = (known after apply)
+ evaluation_periods = 1
+ id = (known after apply)
+ metric_name = "DDoSDetected"
+ namespace = "AWS/DDoSProtection"
+ period = 60
+ statistic = "Sum"
+ tags = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ tags_all = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
+ threshold = 0
+ treat_missing_data = "missing"
}
# aws_cloudwatch_metric_alarm.route53_ddos[0] will be updated in-place
# (moved from aws_cloudwatch_metric_alarm.route53_ddos)
~ resource "aws_cloudwatch_metric_alarm" "route53_ddos" {
~ dimensions = {
~ "ResourceArn" = "arn:aws:route53:::hostedzone/Z1031499PBK3926Y7HKK" -> "mocked_zone_id_forms-formulaires.alpha.canada.ca"
}
id = "Route53DDoS"
tags = {}
# (17 unchanged attributes hidden)
}
# aws_cloudwatch_metric_alarm.route53_ddos[1] will be created
+ resource "aws_cloudwatch_metric_alarm" "route53_ddos" {
+ actions_enabled = true
+ alarm_actions = [
+ "arn:aws:sns:us-east-1:957818836222:alert-warning",
]
+ alarm_description = "DDoS detection for Route53"
+ alarm_name = "Route53DDoS"
+ arn = (known after apply)
+ comparison_operator = "GreaterThanThreshold"
+ dimensions = {
+ "ResourceArn" = "mocked_zone_id_forms-formulaires.canada.ca"
}
+ evaluate_low_sample_count_percentiles = (known after apply)
+ evaluation_periods = 1
+ id = (known after apply)
+ metric_name = "DDoSDetected"
+ namespace = "AWS/DDoSProtection"
+ ok_actions = [
+ "arn:aws:sns:us-east-1:957818836222:alert-ok",
]
+ period = 60
+ statistic = "Sum"
+ tags_all = (known after apply)
+ threshold = 0
+ treat_missing_data = "notBreaching"
}
Plan: 2 to add, 2 to change, 0 to destroy.
Warning: Argument is deprecated
with module.athena_bucket.aws_s3_bucket.this,
on .terraform/modules/athena_bucket/S3/main.tf line 8, in resource "aws_s3_bucket" "this":
8: resource "aws_s3_bucket" "this" {
Use the aws_s3_bucket_logging resource instead
(and 8 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"
Releasing state lock. This may take a few moments...
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.notify_slack"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.alb_ddos"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.route53_ddos[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.route53_ddos[1]"]
21 tests, 17 passed, 4 warnings, 0 failures, 0 exceptions
|
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.
LGTM :)
🤖 I have created a release beep boop
3.4.0 (2023-10-25)
Features
Bug Fixes
Miscellaneous Chores
This PR was generated with Release Please. See documentation.