Skip to content

OpenSpec: Standardize Terraform resource naming#29

Open
eberrigan wants to merge 3 commits intomainfrom
feature/standardize-terraform-resource-naming
Open

OpenSpec: Standardize Terraform resource naming#29
eberrigan wants to merge 3 commits intomainfrom
feature/standardize-terraform-resource-naming

Conversation

@eberrigan
Copy link
Collaborator

Summary

Changes

New files in openspec/changes/standardize-resource-naming/:

  • proposal.md - Problem statement, breaking changes, impact analysis
  • design.md - Technical decisions and rationale for naming scheme
  • specs/infrastructure/spec.md - 4 requirements with 17 testable TDD scenarios
  • tasks.md - 56 implementation tasks across 11 sections

Key Decisions

  1. Two-variable naming: deployment_name (required) + environment
  2. Format: {deployment}-{resource-type}-{environment}
  3. Kebab-case everywhere (including IAM resources)
  4. Standard tags: Name, Environment, Project, ManagedBy, Repository

Test plan

  • Run openspec validate standardize-resource-naming --strict - passed
  • Team review of proposal and design decisions
  • Approve before implementation begins

Closes #28

🤖 Generated with Claude Code

eberrigan and others added 3 commits January 30, 2026 11:40
This proposal addresses issue #28 by introducing:
- Two naming variables: deployment_name (required) and environment
- Consistent naming format: {deployment}-{resource-type}-{environment}
- Kebab-case standardization across all resources (including IAM)
- Standard tags: Name, Environment, Project, ManagedBy, Repository

Includes TDD-focused spec with 17 testable scenarios and 56 implementation tasks.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add deployment_name and environment variables with validation
- Add repository variable for traceability tagging
- Add common_tags locals block for consistent AWS resource tagging
- Update all resource names to format: {deployment}-{resource-type}-{environment}
- Update CloudWatch metric filter patterns to reference new role names
- Add monitoring section to config.yaml (fixes budget.tf validation error)
- Update CI/CD workflows to pass deployment_name and environment variables
- Update example configs with monitoring section
- Remove obsolete eip.tag_name configuration

This enables multiple deployments in the same AWS account with unique,
queryable resource names and consistent tagging.

Closes #28

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Mark completed tasks for:
- Variables and locals setup (1.x)
- Resource naming updates (2.x-6.x)
- Configuration updates (7.2, 7.3)
- CI/CD updates (8.x)

Note: Route53 records don't support tags (AWS limitation)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Standardize Terraform resource naming for multi-deployment support

1 participant