Skip to content

Commit 12325bc

Browse files
BFD-4276: Upgrade opentofu to 1.12 and prevent destruction of ephemeral resources (#3147)
1 parent cb643a9 commit 12325bc

53 files changed

Lines changed: 230 additions & 170 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.opentofu-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.10.6
1+
1.12.1

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ The high-level purpose and location of each piece of the project is listed below
3737
* [bfd-model-idr](apps/bfd-model-idr) - data models and synthetic data generation used for mapping IDR data
3838
* [bfd-pipeline-idr](apps/bfd-pipeline-idr) - ETL pipeline for transforming and loading IDR data
3939
* [bfd-server-ng](apps/bfd-server-ng) - New version of the BFD REST API, serving FHIR data
40-
* [bfd-db-migrator-ng](apps/bfd-db-migrator-ng) - simple facade for running flyway migrations using maven
40+
* [bfd-db-migrator-ng](apps/bfd-db-migrator-ng) - simple facade for running flyway migrations against the Postgres DB using maven
41+
* [bfd-db-migrator-synthetic](apps/bfd-db-migrator-synthetic) - simple facade for running flyway migrations against the dev Snowflake DB using maven
4142
* [insights](insights) - contains documentation and resources for maintaining BFD Insights, a platform using AWS Cloudwatch to provide analytics and metrics for BFD applications
4243
* [ops](ops) - contains the scripts and resources required for packaging and deploying BFD applications
4344
* [rfcs](docs/rfcs) - holds the archived and active RFC (Request for Comment) documents for BFD

ops/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# BFD Ops
2+
3+
This module contains the infrastructure configuration for BFD.
4+
5+
## Updating documentation
6+
7+
To update the OpenTofu module documentation, run `./utils/scripts/update-tofu-docs`

ops/images/bfd-platform-codebuild-runner/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ RUN dnf install jq unzip tar gzip libicu aws-cli git gettext java-25-amazon-corr
44

55
FROM dnf as opentofu
66

7-
ARG opentofu_version=1.10.6
8-
ARG opentofu_checksum=a32f653d686a8cad9b9be82101eb5b5e834fbfa8d095842fa1820c5d27fad967
7+
ARG opentofu_version=1.12.1
8+
ARG opentofu_checksum=1a53dd57697dc04d243ddb81a0f70e44ab83c256f15dde173e5538120dc6a0bb
99

1010
RUN curl -fsSL -o /tmp/tofu.zip https://github.com/opentofu/opentofu/releases/download/v${opentofu_version}/tofu_${opentofu_version}_linux_arm64.zip \
1111
&& checksum=$(sha256sum /tmp/tofu.zip | cut -f 1 -d ' ') \

ops/platform/000-bootstrap/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ Following these steps ensures that the boostrapped resources are stored in state
2626
## Requirements
2727

2828
| Name | Version |
29-
|------|---------|
30-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.10.0 |
29+
| ---- | ------- |
30+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.12.0 |
3131
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 6 |
3232

3333
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -38,7 +38,7 @@ Following these steps ensures that the boostrapped resources are stored in state
3838
## Inputs
3939

4040
| Name | Description | Type | Default | Required |
41-
|------|-------------|------|---------|:--------:|
41+
| ---- | ----------- | ---- | ------- | :------: |
4242
| <a name="input_account_type"></a> [account\_type](#input\_account\_type) | The account type being targeted to create platform resources within. Will correspond with<br/>`terraform.workspace`. Necessary on `tofu init` and `tofu workspace select` \_only\_. In all other<br/>situations, the account type will be divined from `terraform.workspace`. | `string` | `null` | no |
4343
| <a name="input_region"></a> [region](#input\_region) | n/a | `string` | `"us-east-1"` | no |
4444
| <a name="input_secondary_region"></a> [secondary\_region](#input\_secondary\_region) | n/a | `string` | `"us-west-2"` | no |
@@ -51,7 +51,7 @@ Following these steps ensures that the boostrapped resources are stored in state
5151
## Modules
5252

5353
| Name | Source | Version |
54-
|------|--------|---------|
54+
| ---- | ------ | ------- |
5555
| <a name="module_bucket_tf_state"></a> [bucket\_tf\_state](#module\_bucket\_tf\_state) | ../../terraform-modules/general/secure-bucket | n/a |
5656
| <a name="module_terraservice"></a> [terraservice](#module\_terraservice) | ../../terraform-modules/bfd/bfd-platform-service | n/a |
5757

@@ -63,7 +63,7 @@ Following these steps ensures that the boostrapped resources are stored in state
6363
## Resources
6464

6565
| Name | Type |
66-
|------|------|
66+
| ---- | ---- |
6767
| [aws_cloudwatch_log_group.runner](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |
6868
| [aws_codebuild_project.runner](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/codebuild_project) | resource |
6969
| [aws_codebuild_source_credential.github](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/codebuild_source_credential) | resource |

ops/platform/01-config/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
2121
## Requirements
2222

2323
| Name | Version |
24-
|------|---------|
24+
| ---- | ------- |
25+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.12.0 |
2526
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 6 |
2627
| <a name="requirement_sops"></a> [sops](#requirement\_sops) | ~> 1.2.0 |
2728

@@ -33,7 +34,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
3334
## Inputs
3435

3536
| Name | Description | Type | Default | Required |
36-
|------|-------------|------|---------|:--------:|
37+
| ---- | ----------- | ---- | ------- | :------: |
3738
| <a name="input_account_type"></a> [account\_type](#input\_account\_type) | The account type being targeted to create platform resources within. Will correspond with<br/>`terraform.workspace`. Necessary on `tofu init` and `tofu workspace select` \_only\_. In all other<br/>situations, the account type will be divined from `terraform.workspace`. | `string` | `null` | no |
3839
| <a name="input_region"></a> [region](#input\_region) | n/a | `string` | `"us-east-1"` | no |
3940
| <a name="input_secondary_region"></a> [secondary\_region](#input\_secondary\_region) | n/a | `string` | `"us-west-2"` | no |
@@ -46,7 +47,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
4647
## Modules
4748

4849
| Name | Source | Version |
49-
|------|--------|---------|
50+
| ---- | ------ | ------- |
5051
| <a name="module_terraservice"></a> [terraservice](#module\_terraservice) | ../../terraform-modules/bfd/bfd-platform-service | n/a |
5152

5253
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -57,7 +58,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
5758
## Resources
5859

5960
| Name | Type |
60-
|------|------|
61+
| ---- | ---- |
6162
| [aws_ssm_parameter.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ssm_parameter) | resource |
6263
| [external_external.account_sops_yaml](https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/external) | data source |
6364
| [external_external.root_sops_yaml](https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/external) | data source |

ops/platform/02-alerting/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
2020
## Requirements
2121

2222
| Name | Version |
23-
|------|---------|
23+
| ---- | ------- |
24+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.12.0 |
2425
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 6 |
2526

2627
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -31,7 +32,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
3132
## Inputs
3233

3334
| Name | Description | Type | Default | Required |
34-
|------|-------------|------|---------|:--------:|
35+
| ---- | ----------- | ---- | ------- | :------: |
3536
| <a name="input_account_type"></a> [account\_type](#input\_account\_type) | The account type being targeted to create platform resources within. Will correspond with<br/>`terraform.workspace`. Necessary on `tofu init` and `tofu workspace select` \_only\_. In all other<br/>situations, the account type will be divined from `terraform.workspace`. | `string` | `null` | no |
3637
| <a name="input_region"></a> [region](#input\_region) | n/a | `string` | `"us-east-1"` | no |
3738
| <a name="input_secondary_region"></a> [secondary\_region](#input\_secondary\_region) | n/a | `string` | `"us-west-2"` | no |
@@ -44,7 +45,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
4445
## Modules
4546

4647
| Name | Source | Version |
47-
|------|--------|---------|
48+
| ---- | ------ | ------- |
4849
| <a name="module_terraservice"></a> [terraservice](#module\_terraservice) | ../../terraform-modules/bfd/bfd-platform-service | n/a |
4950

5051
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -55,7 +56,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
5556
## Resources
5657

5758
| Name | Type |
58-
|------|------|
59+
| ---- | ---- |
5960
| [aws_cloudwatch_event_rule.guardduty_runtime_health](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) | resource |
6061
| [aws_cloudwatch_event_target.guardduty_runtime_health](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource |
6162
| [aws_cloudwatch_log_group.slack_alerter](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |

ops/platform/02-backup/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
## Requirements
88

99
| Name | Version |
10-
|------|---------|
10+
| ---- | ------- |
11+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.12.0 |
1112
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 6 |
1213

1314
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -18,7 +19,7 @@
1819
## Inputs
1920

2021
| Name | Description | Type | Default | Required |
21-
|------|-------------|------|---------|:--------:|
22+
| ---- | ----------- | ---- | ------- | :------: |
2223
| <a name="input_account_type"></a> [account\_type](#input\_account\_type) | The account type being targeted to create platform resources within. Will correspond with<br/>`terraform.workspace`. Necessary on `tofu init` and `tofu workspace select` \_only\_. In all other<br/>situations, the account type will be divined from `terraform.workspace`. | `string` | `null` | no |
2324
| <a name="input_region"></a> [region](#input\_region) | n/a | `string` | `"us-east-1"` | no |
2425
| <a name="input_secondary_region"></a> [secondary\_region](#input\_secondary\_region) | n/a | `string` | `"us-west-2"` | no |
@@ -31,7 +32,7 @@
3132
## Modules
3233

3334
| Name | Source | Version |
34-
|------|--------|---------|
35+
| ---- | ------ | ------- |
3536
| <a name="module_terraservice"></a> [terraservice](#module\_terraservice) | ../../terraform-modules/bfd/bfd-platform-service | n/a |
3637

3738
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -42,7 +43,7 @@
4243
## Resources
4344

4445
| Name | Type |
45-
|------|------|
46+
| ---- | ---- |
4647
| [aws_backup_plan.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_plan) | resource |
4748
| [aws_backup_selection.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_selection) | resource |
4849
| [aws_backup_vault.dr](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/backup_vault) | data source |

ops/platform/02-ecr/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
2020
## Requirements
2121

2222
| Name | Version |
23-
|------|---------|
23+
| ---- | ------- |
24+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.12.0 |
2425
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 6 |
2526

2627
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -31,7 +32,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
3132
## Inputs
3233

3334
| Name | Description | Type | Default | Required |
34-
|------|-------------|------|---------|:--------:|
35+
| ---- | ----------- | ---- | ------- | :------: |
3536
| <a name="input_account_type"></a> [account\_type](#input\_account\_type) | The account type being targeted to create platform resources within. Will correspond with<br/>`terraform.workspace`. Necessary on `tofu init` and `tofu workspace select` \_only\_. In all other<br/>situations, the account type will be divined from `terraform.workspace`. | `string` | `null` | no |
3637
| <a name="input_region"></a> [region](#input\_region) | n/a | `string` | `"us-east-1"` | no |
3738
| <a name="input_secondary_region"></a> [secondary\_region](#input\_secondary\_region) | n/a | `string` | `"us-west-2"` | no |
@@ -44,7 +45,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
4445
## Modules
4546

4647
| Name | Source | Version |
47-
|------|--------|---------|
48+
| ---- | ------ | ------- |
4849
| <a name="module_terraservice"></a> [terraservice](#module\_terraservice) | ../../terraform-modules/bfd/bfd-platform-service | n/a |
4950

5051
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -55,7 +56,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
5556
## Resources
5657

5758
| Name | Type |
58-
|------|------|
59+
| ---- | ---- |
5960
| [aws_ecr_lifecycle_policy.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_lifecycle_policy) | resource |
6061
| [aws_ecr_repository.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_repository) | resource |
6162
| [aws_ecr_repository_policy.name](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_repository_policy) | resource |

ops/platform/02-network/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
2020
## Requirements
2121

2222
| Name | Version |
23-
|------|---------|
23+
| ---- | ------- |
24+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.12.0 |
2425
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 6 |
2526

2627
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -31,7 +32,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
3132
## Inputs
3233

3334
| Name | Description | Type | Default | Required |
34-
|------|-------------|------|---------|:--------:|
35+
| ---- | ----------- | ---- | ------- | :------: |
3536
| <a name="input_account_type"></a> [account\_type](#input\_account\_type) | The account type being targeted to create platform resources within. Will correspond with<br/>`terraform.workspace`. Necessary on `tofu init` and `tofu workspace select` \_only\_. In all other<br/>situations, the account type will be divined from `terraform.workspace`. | `string` | `null` | no |
3637
| <a name="input_region"></a> [region](#input\_region) | n/a | `string` | `"us-east-1"` | no |
3738
| <a name="input_secondary_region"></a> [secondary\_region](#input\_secondary\_region) | n/a | `string` | `"us-west-2"` | no |
@@ -44,7 +45,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
4445
## Modules
4546

4647
| Name | Source | Version |
47-
|------|--------|---------|
48+
| ---- | ------ | ------- |
4849
| <a name="module_terraservice"></a> [terraservice](#module\_terraservice) | ../../terraform-modules/bfd/bfd-platform-service | n/a |
4950

5051
<!--WARNING: GENERATED CONTENT with terraform-docs, e.g.
@@ -55,7 +56,7 @@ _Note: This does not include transitive dependencies (dependencies of dependenci
5556
## Resources
5657

5758
| Name | Type |
58-
|------|------|
59+
| ---- | ---- |
5960
| [aws_route53_record.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |
6061
| [aws_route53_zone.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_zone) | resource |
6162
| [aws_vpc.internal_r53_hz_vpcs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/vpc) | data source |

0 commit comments

Comments
 (0)