Terraform bit (Including creating the kubernetes cluster)
Also considering if we want 1 or 2 Terraform environments.
Also consider to what extent we want this to be DRY (e.g. refactoring code that is common to both prod and staging into modules)
Terraform bit (Including creating the kubernetes cluster)
Also considering if we want 1 or 2 Terraform environments.
Also consider to what extent we want this to be DRY (e.g. refactoring code that is common to both prod and staging into modules)
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | None | T297603 [INITIATIVE] Deploy a production environment for wikibase.cloud | |||
Resolved | Tarrow | T299502 [EPIC] Pre-launch version of Wikibase.cloud goes live | |||
Resolved | Tarrow | T300137 Create TF Code for wikibase.cloud |
@Tarrow lead a session looking into this task, here are some (incomplete) notes.
These checkboxes could be added to the task description if confirmed to be part of the work needed to complete this task
commit 8f753c23d5f022e2f8b3892bbab3df0aca9ae3d5 (HEAD -> main, origin/main, origin/HEAD) Author: Thomas Arrow <thomas.arrow_ext@wikimedia.de> Date: Wed Jan 26 18:13:00 2022 +0000 TF: Delete old state bucket commit f0e08f5d609475356a867be844bcb8d0e1077f6e Author: Thomas Arrow <thomas.arrow_ext@wikimedia.de> Date: Wed Jan 26 18:11:01 2022 +0000 TF: allow deletion of old state bucket commit 0f8b93f34f30f48dbc23796cfac24f038a5287e2 (tfProdToStaging) Author: Thomas Arrow <thomas.arrow_ext@wikimedia.de> Date: Wed Jan 26 17:29:49 2022 +0000 Remove old staging bucket commit a23896a92cffdddb32312ee6e911ced195cebdce Author: Thomas Arrow <thomas.arrow_ext@wikimedia.de> Date: Wed Jan 26 17:21:32 2022 +0000 TF: switch staging state to staging bucket commit 0deb3e1ac1eb9d4170b01a91551690ae74504635 Author: Thomas Arrow <thomas.arrow_ext@wikimedia.de> Date: Wed Jan 26 17:14:41 2022 +0000 TF: add new staging state bucket commit eac57daa211a631ebebff0e026f3f8105aa929ab Author: Thomas Arrow <tarrow@users.noreply.github.com> Date: Wed Jan 26 17:12:14 2022 +0000 TF: Rename prod to staging (#142)
All the prod TF resources have now been created following option 1 from Ollie's comment to avoid rabbit holes. The exception to this is the cert-manager secrets because the cert-manager k8s namespace doesn't exist until we run the helmfile stuff.
The remaining work for this task involves migrating some DNS settings from the "staging" definitions to the "production" ones.
This should be done by defining them in both places first; then importing the resources into the "production" definition before removing them from the staging state. See: https://www.terraform.io/cli/commands/state/rm and https://www.terraform.io/cli/commands/import
Finally we need to add the new DNS resources which are required. These will mimic the staging ones (e.g. NS records, A records etc.)