-
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.20.0 #816
Conversation
ac18814
to
b4d1f98
Compare
b4d1f98
to
2a151b5
Compare
Production: load_balancer✅ Terraform Init: Plan: 1 to add, 1 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_wafv2_ip_set.ipv4_blocklist will be created
+ resource "aws_wafv2_ip_set" "ipv4_blocklist" {
+ arn = (known after apply)
+ id = (known after apply)
+ ip_address_version = "IPV4"
+ lock_token = (known after apply)
+ name = "ipv4_blocklist"
+ scope = "REGIONAL"
+ tags_all = {
+ "CostCentre" = "forms-platform-production"
+ "Terraform" = "true"
}
}
# aws_wafv2_web_acl.forms_acl will be updated in-place
~ resource "aws_wafv2_web_acl" "forms_acl" {
id = "88f61111-f91e-442b-9a19-c57c4f43ef7a"
name = "GCForms"
tags = {}
# (8 unchanged attributes hidden)
- rule {
- name = "AWSManagedRulesAmazonIpReputationList" -> null
- priority = 1 -> null
- override_action {
- none {}
}
- statement {
- managed_rule_group_statement {
- name = "AWSManagedRulesAmazonIpReputationList" -> null
- vendor_name = "AWS" -> null
# (1 unchanged attribute hidden)
}
}
- visibility_config {
- cloudwatch_metrics_enabled = true -> null
- metric_name = "AWSManagedRulesAmazonIpReputationList" -> null
- sampled_requests_enabled = true -> null
}
}
- rule {
- name = "AWSManagedRulesKnownBadInputsRuleSet" -> null
- priority = 40 -> null
- override_action {
- none {}
}
- statement {
- managed_rule_group_statement {
- name = "AWSManagedRulesKnownBadInputsRuleSet" -> null
- vendor_name = "AWS" -> null
# (1 unchanged attribute hidden)
}
}
- visibility_config {
- cloudwatch_metrics_enabled = true -> null
- metric_name = "AWSManagedRulesKnownBadInputsRuleSet" -> null
- sampled_requests_enabled = true -> null
}
}
- rule {
- name = "AWSManagedRulesLinuxRuleSet" -> null
- priority = 50 -> null
- override_action {
- none {}
}
- statement {
- managed_rule_group_statement {
- name = "AWSManagedRulesLinuxRuleSet" -> null
- vendor_name = "AWS" -> null
# (1 unchanged attribute hidden)
}
}
- visibility_config {
- cloudwatch_metrics_enabled = true -> null
- metric_name = "AWSManagedRulesLinuxRuleSet" -> null
- sampled_requests_enabled = true -> null
}
}
+ rule {
+ name = "BlockedIPv4"
+ priority = 80
+ action {
+ block {
}
}
+ statement {
+ ip_set_reference_statement {
+ arn = (known after apply)
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "BlockedIPv4"
+ sampled_requests_enabled = true
}
}
+ rule {
+ name = "AWSManagedRulesAmazonIpReputationList"
+ priority = 1
+ override_action {
+ none {}
}
+ statement {
+ managed_rule_group_statement {
+ name = "AWSManagedRulesAmazonIpReputationList"
+ vendor_name = "AWS"
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AWSManagedRulesAmazonIpReputationList"
+ sampled_requests_enabled = true
}
}
+ rule {
+ name = "AWSManagedRulesKnownBadInputsRuleSet"
+ priority = 40
+ override_action {
+ none {}
}
+ statement {
+ managed_rule_group_statement {
+ name = "AWSManagedRulesKnownBadInputsRuleSet"
+ vendor_name = "AWS"
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AWSManagedRulesKnownBadInputsRuleSet"
+ sampled_requests_enabled = true
}
}
+ rule {
+ name = "AWSManagedRulesLinuxRuleSet"
+ priority = 50
+ override_action {
+ none {}
}
+ statement {
+ managed_rule_group_statement {
+ name = "AWSManagedRulesLinuxRuleSet"
+ vendor_name = "AWS"
}
}
+ visibility_config {
+ cloudwatch_metrics_enabled = true
+ metric_name = "AWSManagedRulesLinuxRuleSet"
+ sampled_requests_enabled = true
}
}
# (7 unchanged blocks hidden)
}
Plan: 1 to add, 1 to change, 0 to destroy.
Changes to Outputs:
+ waf_ipv4_blocklist_arn = (known after apply)
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_acm_certificate.form_viewer"]
WARN - plan.json - main - Missing Common Tags: ["aws_acm_certificate.form_viewer_maintenance_mode"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudfront_distribution.maintenance_mode"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_role.firehose_waf_logs"]
WARN - plan.json - main - Missing Common Tags: ["aws_kinesis_firehose_delivery_stream.firehose_waf_logs"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb.form_viewer"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_listener.form_viewer_http"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_listener.form_viewer_https"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_target_group.form_viewer_1"]
WARN - plan.json - main - Missing Common Tags: ["aws_lb_target_group.form_viewer_2"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_bucket.maintenance_mode"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_css_files[\"style.css\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_html_files[\"index-fr.html\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_html_files[\"index.html\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_ico_files[\"favicon.ico\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_s3_object.maintenance_static_page_svg_files[\"site-unavailable.svg\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_shield_protection.alb"]
WARN - plan.json - main - Missing Common Tags: ["aws_shield_protection.route53_hosted_zone[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_wafv2_ip_set.ipv4_blocklist"]
WARN - plan.json - main - Missing Common Tags: ["aws_wafv2_regex_pattern_set.cognito_login_paths"]
WARN - plan.json - main - Missing Common Tags:... |
Production: alarms✅ Terraform Init: Plan: 3 to add, 3 to change, 2 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:
+ create
~ update in-place
-/+ destroy and then create replacement
Terraform will perform the following actions:
# aws_cloudwatch_dashboard.forms_service_health will be updated in-place
~ resource "aws_cloudwatch_dashboard" "forms_service_health" {
~ dashboard_body = jsonencode(
{
- widgets = [
- {
- height = 8
- properties = {
- metrics = [
- [
- "AWS/RDS",
- "CPUUtilization",
- "DBClusterIdentifier",
- "forms-db-cluster",
- {
- color = "#17becf"
- region = "ca-central-1"
},
],
]
- period = 60
- region = "ca-central-1"
- sparkline = true
- stacked = false
- stat = "Average"
- title = "DB: CPU use"
- view = "timeSeries"
}
- type = "metric"
- width = 6
- x = 0
- y = 111
},
- {
- height = 8
- properties = {
- metrics = [
- [
- "AWS/RDS",
- "FreeableMemory",
- "DBClusterIdentifier",
- "forms-db-cluster",
- {
- color = "#9467bd"
},
],
]
- period = 60
- region = "ca-central-1"
- sparkline = true
- stacked = false
- stat = "Average"
- title = "DB: freeable memory"
- view = "timeSeries"
}
- type = "metric"
- width = 6
- x = 6
- y = 111
},
- {
- height = 8
- properties = {
- metrics = [
- [
- "AWS/RDS",
- "ReadLatency",
- "DBClusterIdentifier",
- "forms-db-cluster",
- {
- color = "#c5b0d5"
},
],
]
- period = 60
- region = "ca-central-1"
- sparkline = true
- stacked = false
- stat = "Average"
- title = "DB: read latency"
- view = "timeSeries"
}
- type = "metric"
- width = 6
- x = 12
- y = 111
},
- {
- height = 8
- properties = {
- metrics = [
- [
- "AWS/RDS",
- "WriteLatency",
- "DBClusterIdentifier",
- "forms-db-cluster",
- {
- color = "#7f7f7f"
},
],
]
- period = 60
- region = "ca-central-1"
- sparkline = true
- stacked = false
- stat = "Average"
- title = "DB: write latency"
- view = "timeSeries"
}
- type = "metric"
- width = 6
- x = 18
- y = 111
},
- {
- height = 2
- properties = {
- background = "transparent"
- markdown = <<-EOT
# Form submissions
Tracking form submissions flow through the system.
EOT
}
- type = "text"
- width = 24
- x = 0
- y = 0
},
- {
- height = 6
- properties = {
- metrics = [
- [
- "AWS/SQS",
- "NumberOfMessagesReceived",
- "QueueName",
- "submission_processing.fifo",
- {
- color = "#8c564b"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- stat = "Sum"
- title = "Queue: submission messages"
- view = "timeSeries"
}
- type = "metric"
- width = 8
- x = 0
- y = 14
},
- {
- height = 6
- properties = {
- metrics = [
- [
- "AWS/SQS",
- "ApproximateAgeOfOldestMessage",
- "QueueName",
- "submission_processing.fifo",
- {
- color = "#7f7f7f"
- label = "Oldest message age"
- region = "ca-central-1"
},
],
]
- period = 300
- region = "ca-central-1"
- sparkline = true
- stat = "Average"
- title = "Queue: submission message age"
- view = "singleValue"
}
- type = "metric"
- width = 4
- x = 8
- y = 14
},
- {
- height = 3
- properties = {
- background = "transparent"
- markdown = <<-EOT
# Form responses
Tracking form response list, retrieval and confirm.
EOT
}
- type = "text"
- width = 24
- x = 0
- y = 20
},
- {
- height = 3
- properties = {
- background = "transparent"
- markdown = <<-EOT
## Lambdas
Performance metrics for the Submission and Reliability functions.
EOT
}
- type = "text"
- width = 24
- x = 0
- y = 83
},
- {
- height = 7
- properties = {
- metrics = [
- [
- "AWS/ECS",
- "CPUUtilization",
- "ServiceName",
- "form-viewer",
- "ClusterName",
- "Forms",
- {
- region = "ca-central-1"
- stat = "Minimum"
},
],
- [
- "...",
- {
- region = "ca-central-1"
- stat = "Maximum"
},
],
- [
- "...",
- {
- region = "ca-central-1"
- stat = "Average"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- title = "App: CPU use"
- view = "timeSeries"
}
- type = "metric"
- width = 8
- x = 0
- y = 76
},
- {
- height = 7
- properties = {
- metrics = [
- [
- "AWS/ECS",
- "MemoryUtilization",
- "ServiceName",
- "form-viewer",
- "ClusterName",
- "Forms",
- {
- stat = "Minimum"
},
],
- [
- "...",
- {
- stat = "Maximum"
},
],
- [
- "...",
- {
- stat = "Average"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- title = "App: memory use"
- view = "timeSeries"
}
- type = "metric"
- width = 8
- x = 8
- y = 76
},
- {
- height = 3
- properties = {
- background = "transparent"
- markdown = <<-EOT
## Load balancer
Requests, errors and response time for the app's load balancer.
EOT
}
- type = "text"
- width = 24
- x = 0
- y = 98
},
- {
- height = 6
- properties = {
- metrics = [
- [
- "AWS/Lambda",
- "Invocations",
- "FunctionName",
- "Submission",
- {
- region = "ca-central-1"
},
],
- [
- ".",
- "Throttles",
- ".",
- ".",
- {
- color = "#ffbb78"
- region = "ca-central-1"
},
],
- [
- ".",
- "Errors",
- ".",
- ".",
- {
- color = "#d62728"
- region = "ca-central-1"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- stat = "Sum"
- title = "Lambda: submission"
- view = "timeSeries"
}
- type = "metric"
- width = 18
- x = 0
- y = 86
},
- {
- height = 6
- properties = {
- metrics = [
- [
- "AWS/Lambda",
- "Duration",
- "FunctionName",
- "Submission",
- "Resource",
- "Submission",
- {
- color = "#555555"
- region = "ca-central-1"
},
],
]
- period = 300
- region = "ca-central-1"
- sparkline = true
- stacked = false
- stat = "Average"
- title = "Lambda: submission duration"
- view = "singleValue"
}
- type = "metric"
- width = 6
- x = 18
- y = 86
},
- {
- height = 6
- properties = {
- metrics = [
- [
- "AWS/Lambda",
- "Invocations",
- "FunctionName",
- "reliability",
- "Resource",
- "reliability",
- {
- region = "ca-central-1"
},
],
- [
- ".",
- "Throttles",
- ".",
- ".",
- ".",
- ".",
- {
- color = "#ffbb78"
- region = "ca-central-1"
},
],
- [
- ".",
- "Errors",
- ".",
- ".",
- ".",
- ".",
- {
- color = "#d62728"
- region = "ca-central-1"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- stat = "Sum"
- title = "Lambda: reliability"
- view = "timeSeries"
}
- type = "metric"
- width = 18
- x = 0
- y = 92
},
- {
- height = 6
- properties = {
- metrics = [
- [
- "AWS/Lambda",
- "Duration",
- "FunctionName",
- "reliability",
- "Resource",
- "reliability",
- {
- color = "#555"
},
],
]
- period = 300
- region = "ca-central-1"
- sparkline = true
- stacked = false
- stat = "Average"
- title = "Lambda: reliabiity duration"
- view = "singleValue"
}
- type = "metric"
- width = 6
- x = 18
- y = 92
},
- {
- height = 7
- properties = {
- metrics = [
- [
- "ECS/ContainerInsights",
- "NetworkRxBytes",
- "ClusterName",
- "Forms",
- {
- color = "#1f77b4"
- region = "ca-central-1"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- stat = "Sum"
- title = "App: network bytes"
- view = "timeSeries"
}
- type = "metric"
- width = 8
- x = 16
- y = 76
},
- {
- height = 7
- properties = {
- metrics = [
- [
- "AWS/ApplicationELB",
- "RequestCount",
- "LoadBalancer",
- "app/form-viewer/ef2ad28d416e7d87",
- {
- color = "#2ca02c"
- label = "Request count"
- region = "ca-central-1"
},
],
- [
- ".",
- "HTTPCode_ELB_4XX_Count",
- ".",
- ".",
- {
- color = "#ffbb78"
- label = "4XX response count"
- region = "ca-central-1"
},
],
- [
- ".",
- "HTTPCode_ELB_5XX_Count",
- ".",
- ".",
- {
- color = "#d62728"
- label = "5XX response count"
- region = "ca-central-1"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- stat = "Sum"
- title = "LB: requests"
- view = "timeSeries"
}
- type = "metric"
- width = 9
- x = 0
- y = 101
},
- {
- height = 7
- properties = {
- metrics = [
- [
- "AWS/ApplicationELB",
- "TargetResponseTime",
- "LoadBalancer",
- "app/form-viewer/ef2ad28d416e7d87",
- {
- color = "#8c564b"
- region = "ca-central-1"
},
],
]
- period = 300
- region = "ca-central-1"
- sparkline = true
- stacked = false
- stat = "Average"
- title = "LB: response time"
- view = "singleValue"
}
- type = "metric"
- width = 6
- x = 18
- y = 101
},
- {
- height = 3
- properties = {
- background = "transparent"
- markdown = <<-EOT
## Database
Performance metrics for the database cluster.
EOT
}
- type = "text"
- width = 24
- x = 0
- y = 108
},
- {
- height = 7
- properties = {
- metrics = [
- [
- "AWS/ApplicationELB",
- "ActiveConnectionCount",
- "LoadBalancer",
- "app/form-viewer/ef2ad28d416e7d87",
- {
- color = "#e377c2"
},
],
]
- period = 300
- region = "ca-central-1"
- stacked = false
- stat = "Average"
- title = "LB: connections"
- view = "timeSeries"
}
- type = "metric"
- width = 9
- x = 9
- y = 101
},
- {
- height = 8
- properties = {
- query = <<-EOT
SOURCE 'Forms' | SOURCE '/aws/lambda/Reliability' | SOURCE '/aws/lambda/Submission' | SOURCE '/aws/lambda/Nagware' | SOURCE '/aws/lambda/Response_Archiver' | SOURCE '/aws/lambda/Vault_Data_Integrity_Check' | fields @timestamp, @message, @logStream, @log
| filter level = 'error' or level = 'warn' or status = 'failed'
| filter @message not like /days since submission/
| sort @timestamp desc
| limit 1000
EOT
- region = "ca-central-1"
- stacked = false
- title = "Errors: app and lambdas"
- view = "table"
}
- type = "log"
- width = 20
- x = 0
- y = 64
},
- {
- height = 8
- properties = {
- alarms = [
- "arn:aws:cloudwatch:ca-central-1:957818836222:alarm:CpuUtilizationWarn",
- "arn:aws:cloudwatch:ca-central-1:957818836222:alarm:MemoryUtilizationWarn",
- "arn:aws:cloudwatch:ca-central-1:957818836222:alarm:HTTPCode_ELB_5XX_Count",
- "arn:aws:cloudwatch:ca-central-1:957818836222:alarm:ResponseTimeWarn",
- "arn:aws:cloudwatch:ca-central-1:957818836222:alarm:UnHealthyHostCount-TargetGroup1-SEV1",
- "arn:aws:cloudwatch:ca-central-1:957818836222:alarm:UnHealthyHostCount-TargetGroup2-SEV1",
- "arn:aws:cloudwatch:ca-central-1:957818836222:alarm:ReliabilityDeadLetterQueueWarn",
]
- title = "Alarms"
}
- type = "alarm"
- width = 4
- x = 20
- y = 64
},
- {
- height = 2
- properties = {
- background = "transparent"
- markdown = <<-EOT
# Performance
EOT
}
- type = "text"
- width = 24
- x = 0
- y = 72
},
- {
- height = 7
- properties = {
- query = <<-EOT
SOURCE 'Forms' | fields @message
| filter @message =~ /HealthCheck: cognito sign-up/
| parse @message "success" as @successCount
| parse @message "failure" as @failureCount
| stats count(@successCount) as Success, count(@failureCount) as Failed by bin(5m)
EOT
- region = "ca-central-1"
- stacked = false
... Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_athena_data_catalog.dynamodb"]
WARN - plan.json - main - Missing Common Tags: ["aws_athena_data_catalog.rds_data_catalog"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_event_rule.codedeploy_sns"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_log_group.notify_slack"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ELB_5xx_error_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ELB_healthy_hosts"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.UnHealthyHostCount-TargetGroup1"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.UnHealthyHostCount-TargetGroup2"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.alb_ddos"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.audit_log_dead_letter_queue_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.cognito_login_outside_canada_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.cognito_signin_exceeded"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ddos_detected_forms_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ddos_detected_route53_warn[0]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.forms_cpu_utilization_high_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.forms_memory_utilization_high_warn"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.healthcheck_lambda_form_archiver_invocations"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.healthcheck_lambda_nagware_invocations_schedule"]
WARN - plan.json - main - Missing Common Tags:... |
🤖 Created releases:
|
🤖 I have created a release beep boop
3.20.0 (2024-09-12)
Features
Bug Fixes
Miscellaneous Chores
This PR was generated with Release Please. See documentation.