#terraform - December 2024

December 2024
Matthew Clark
Matthew Clarkalmost 2 years ago
Not sure which channel to post this. If this isn't correct spot, just let me know and I'll move it.

When disabling a transit gateway by setting enabled: false in hub.yaml and spoke.yaml - if the tgw already exists, we're seeing the following error:

│ Error: stack name pattern '{tenant}-{environment}-{stage}' includes '{environment}', but environment is not provided
│ 
│   with module.vpc["plat--dev-vpc"].data.utils_component_config.config[0],
│   on .terraform/modules/vpc/modules/remote-state/main.tf line 1, in data "utils_component_config" "config":
│    1: data "utils_component_config" "config" {

If we trace this back to components/terraform/tgw/[hub/spoke]/.terraform/modules/vpc/modules/remote-state/main.tf

Then to context-always.tf

module "always" {
  source  = "cloudposse/label/null"
  version = "0.25.0" # requires Terraform >= 0.13.0

  enabled             = true
  namespace           = var.namespace
  tenant              = var.tenant
  environment         = var.environment
  stage               = var.stage
  name                = var.name
  delimiter           = var.delimiter
  attributes          = var.attributes
  tags                = var.tags
  additional_tag_map  = var.additional_tag_map
  label_order         = var.label_order
  regex_replace_chars = var.regex_replace_chars
  id_length_limit     = var.id_length_limit
  label_key_case      = var.label_key_case
  label_value_case    = var.label_value_case
  descriptor_formats  = var.descriptor_formats
  labels_as_tags      = var.labels_as_tags

  context = var.context
}

var.environment is not defined. However this is nested deep into CP terraform. Have you all seen this issue in the past?
rss
rssalmost 2 years ago(edited)
v1.10.1
1.10.1 (December 4, 2024)
BUG FIXES:

cli: Complex variables values set via environment variables were parsed incorrectly during apply (#36121)
config: templatefile would panic if given and entirely unknown map of variables (<a href="https://github.com/hashicorp/terraform/issues/36118" data-hovercard-type="pull_request"...
Yangci Ou
Yangci Oualmost 2 years ago(edited)
Hey all! Looking for some suggestions on upgrading Terraform modules, more specifically the CloudPosse AWS RDS Cluster module. I'm currently using 1.12.0, which is good and all.

I'd like to upgrade to 1.14.0 which has a bug fix in an output that I'd like to utilize. BUT a PR merged for 1.13.0 is causing the DB instance to recreate due to the way the attribute is defined (even if the end result value isn't changing). See that PR here. What's the best way to go on about this without recreating the DB? (we all know that recreating a database is a PITA). hopefully wouldn't have to maintain a fork either 😬
Slackbot
Slackbotalmost 2 years ago
This message was deleted.
managedkaos
managedkaosalmost 2 years ago
If you are using the default terraform installation in GitHub actions then this update will affect you. Basically, terraform is being removed from the ubuntu-latest image…
Boris Dyga
Boris Dygaalmost 2 years ago
Hi there! Anybody had an error like this one? When I add a new context value (‘environment’ in my particular case) to an existing stack and try to deploy, I get:
… template: … executing … at <.environment>: map has no entry for key “environment
John Seekins
John Seekinsalmost 2 years ago
This is a relatively small change that shouldn't break existing functionality. Is this PR okay? (Also, is this the right place to ask about it?) https://github.com/cloudposse/terraform-aws-dynamic-subnets/pull/217
rss
rssalmost 2 years ago
v1.11.0-alpha20241211
1.11.0-alpha20241211 (December 11, 2024)
ENHANCEMENTS:

init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (https://github.com/hashicorp/terraform/pull/35843)

EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.

terraform...
rss
rssalmost 2 years ago(edited)
v1.10.2
1.10.2 (December 11, 2024)
BUG FIXES:

cli: variables in an auto-loaded tfvars file which were overridden during plan incorrectly show as changed during apply [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2727752663" data-permission-text="Title is private" data-url="https://github.com/hashicorp/terraform/issues/36180" data-hovercard-type="pull_request" data-hovercard-url="/hashicorp/terraform/pull/36180/hovercard"...
PePe Amengual
PePe Amengualalmost 2 years ago
Has anyone used Nginx as an API proxy with some mechanism to update the config to ingest OpenApi Docs? I saw this https://gist.github.com/nginx-gists/37ce65292a06219ff8d35d293c05e0b5#file-oas2nginx-sh I the related article https://www.f5.com/company/blog/nginx/deploying-nginx-plus-as-an-api-gateway-part-1 and is all very manual ( and yes, no nginx plus or NGXSaas) ( I will be deploying with Terraform)
Joe Perez
Joe Perezalmost 2 years ago
What are ppl using to get existing infrastructure into terraform? My team has inherited a couple of click-ops accounts and looking for the least painful way to get this work done. I’m aware of the import command and terraformer, but haven’t used the latter yet. There’s no standardized tagging right now, but I was planning on using terraformer’s import by tag feature after tagging the resources that I want to include, move the generated files to a module and use import blocks to import/reconcile the state
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 2 years ago
rss
rssalmost 2 years ago(edited)
v1.10.3
1.10.3 (December 18, 2024)
BUG FIXES:

Terraform could panic when encountering an error during plan encoding (#36212)
rss
rssalmost 2 years ago(edited)
v1.11.0-alpha20241218
1.11.0-alpha20241218 (December 18, 2024)
ENHANCEMENTS:

init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (https://github.com/hashicorp/terraform/pull/35843)
New command modules -json: Displays a full list of all installed modules in a working directory, including whether each module is currently referenced by...
suzuki-shunsuke
suzuki-shunsukealmost 2 years ago
I've released tfmv, a CLI to refactor Terraform resource names.
It renames Terraform resources, fixes their references, and creates moved blocks.
For instance, to replace hyphens (-) with underscores (_), you can run:
tfmv -r '-/_'

For more details, please check out the blog post and the repository:
https://dev.to/suzukishunsuke/refactor-terraform-resource-names-by-one-command-4amh