Skip to content

📝 Documentation: Add version pinning philosophy to README #29

@oldmanbendobot

Description

@oldmanbendobot

Context

Our modules use pessimistic version constraints (~> 6.0) for AWS provider instead of the more permissive pattern (>= 5.0) common in public registries.

Proposed Addition

Add a "Version Constraints" section to the README explaining this decision:

Version Constraints

This module uses pessimistic version constraints (~>) for the AWS provider to ensure predictable behavior across deployments:

required_providers {
  aws = {
    source  = "hashicorp/aws"
    version = "~> 6.0"  # Allows 6.x, prevents 7.0
  }
}

Why pessimistic constraints?

  • Prevents unexpected breaking changes from major provider updates
  • Ensures consistent behavior across environments
  • Makes upgrade impact predictable and controllable

When AWS provider v7.0 releases, this module will require an update to support it. This is intentional - we prefer explicit, tested upgrades over automatic major version bumps.

For consuming this module, you can use any AWS provider version that satisfies both your requirements and this module's constraints. Terraform's dependency resolver will find a compatible version automatically.

Benefits

  • Explains our opinionated approach
  • Sets expectations for module updates
  • Educates users on version constraint strategy

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions