Closed
Description
The puzzle 1268-64454c39
from #1268 has to be resolved:
mystamps/infra/terraform/versions.tf
Line 2 in adfb6ef
Tech debt for: adfb6ef (#1268)
TODO:
- https://www.hashicorp.com/blog/announcing-hashicorp-terraform-0-14-general-availability
- https://www.terraform.io/language/upgrade-guides/0-14
- https://github.com/hashicorp/terraform/blob/v0.14/CHANGELOG.md
- https://www.hashicorp.com/blog/terraform-0-14-adds-a-new-concise-diff-format-to-terraform-plans
- https://www.hashicorp.com/blog/terraform-0-14-adds-the-ability-to-redact-sensitive-values-in-console-output
- https://www.hashicorp.com/blog/terraform-0-14-introduces-a-dependency-lock-file-for-providers
- https://www.hashicorp.com/blog/announcing-hashicorp-terraform-0-15-general-availability
- variable
do_token
: adddescription
,type
andsensitive
(https://www.terraform.io/language/values/variables) (and mark as done a similar intem in my-stamps.ru: migrate away from DigitalOcean #1631) - execute
terraform init -upgrade
and commit.terraform.lock
file - revise TODOs from Update DigitalOcean Terraform Provider to 2.28.1 #1268
Upgrade instructions:
0.13
terraform plan
terraform apply
0.14
<update versions>
export HTTPS_PROXY=socks5://127.0.0.1:1122 # optionally
tfenv install
terraform init -upgrade
terraform providers lock -platform=darwin_amd64 -platform=linux_amd64
git add .terraform.lock.hcl
terraform plan <...>
terraform apply <...>
encrypt tfstate && commit
tfenv uninstall 0.13.7
0.15
cd infra/terraform
vim .terraform-version
vim versions.tf
export HTTPS_PROXY=socks5://127.0.0.1:1122 # optionally
tfenv install
tfenv list
tfenv uninstall 0.14.11
terraform init
terraform plan -var-file terraform-data/terraform.tfvars -state terraform-data/terraform.tfstate -out terraform-data/terraform.tfplan
terraform apply -state terraform-data/terraform.tfstate terraform-data/terraform.tfplan
docker run -e VAULT_PASSWORD="$(cat ../../src/main/scripts/ci/ansible/ci-pass.txt)" -v "$PWD/terraform-data:/data/mystamps" -w /data/mystamps --rm -it ansible:2.10.17
ansible-vault encrypt --vault-password-file vault-pass.txt --output terraform.tfstate.enc terraform.tfstate
<exit shell>