Skip to content

chore: Update Terraform minimum version to 1.12 #10

@posquit0

Description

@posquit0

Terraform Version Update

Current State

  • Current Minimum Version: 1.5 (folder module), 1.11 (other modules)
  • Target Version: 1.12.x
  • Affected Modules: All modules (account, data-set, data-source, folder, group, namespace, user, vpc-connection)

Version Analysis

Most modules are already at Terraform >= 1.11, but the folder module is still at >= 1.5. This update will standardize all modules to >= 1.12 for consistency and access to new features.

New Features in 1.12.x

  • Enhanced Testing Capabilities: -parallelism=n option for terraform test command
  • Improved Import Blocks: Support for importing via identity attribute
  • Better Error Handling: Short-circuiting logical binary operators
  • Performance Improvements: Better handling of high cardinality resources
  • Enhanced UI: Elapsed time display in mm:ss format

Required Changes

  • Update modules/folder/versions.tf from >= 1.5 to >= 1.12
  • Verify all modules work with Terraform 1.12.x
  • Run full test suite with new version
  • Update any CI/CD pipelines to use Terraform 1.12.x
  • Update documentation if needed

Migration Guide

  1. Update version constraints:

    terraform {
      required_version = ">= 1.12"
      # ... rest of configuration
    }
  2. Test the changes:

    terraform init -upgrade
    terraform plan
    terraform validate
  3. Run tests:

    terraform test
    pre-commit run --all-files

Breaking Changes ⚠️

  • Linux Kernel Requirement: Linux kernel version 3.2 or later now required (unlikely to affect most users)
  • Test Files: External variables in test files now require variable definition blocks (if using terraform test)

Benefits

  • Access to improved testing capabilities
  • Better performance for high cardinality resources
  • Enhanced import functionality
  • Consistent version requirements across all modules
  • Future-proofing for upcoming Terraform features

Metadata

Metadata

Assignees

Labels

size/SSmall size issue or PR.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions