Skip to content

feat: Add luthername max_length + modernize CI#57

Merged
sam-at-luther merged 3 commits into
mainfrom
feature/luthername-max-length
Feb 19, 2026
Merged

feat: Add luthername max_length + modernize CI#57
sam-at-luther merged 3 commits into
mainfrom
feature/luthername-max-length

Conversation

@sam-at-luther

Copy link
Copy Markdown
Member

Summary

  • luthername max_length: Add optional max_length variable to control generated name length. When set, truncates the prefix while preserving the ID suffix for uniqueness. Solves the problem of names exceeding AWS service limits (64-char IAM roles, 50-char backup rules) when downstream modules append suffixes like -exec, -role, -query-pol.
  • CI modernization: Rewrite the GitHub Actions workflow following the patterns from insideout-terraform-presets — dynamic module discovery, matrix-based parallel validation, separate jobs for format/validate/test, upgraded terraform (1.7.5) and actions versions.

Closes #56

Test plan

  • terraform fmt -check passes on all modified files
  • terraform init -backend=false && terraform validate passes in luthername/
  • CI workflow runs successfully on this PR (format-check, validate-modules, validate-examples jobs)
  • Spot-check: verify truncation math — name with max_length=N produces output of exactly N chars when raw name exceeds limit

🤖 Generated with Claude Code

sam-at-luther and others added 3 commits February 19, 2026 14:48
When downstream modules append suffixes (e.g., -exec, -role), names can
exceed AWS service limits. Add an optional max_length variable that
truncates the prefix while preserving the ID suffix for uniqueness.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…terns

- Dynamic module/example discovery with matrix strategy for parallel validation
- Upgrade from hashicorp/terraform:1.5.7 container to hashicorp/setup-terraform@v3 (1.7.5)
- Update actions/checkout v3 → v4
- Add push-to-main trigger alongside pull request trigger
- Separate jobs for modules, examples, format check, and terraform tests
- Use -backend=false for init to avoid backend configuration issues
- Support .validate-skip and .tftest.hcl patterns from insideout-terraform-presets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Skip modules with tests/ dirs from validate-modules (they use provider
  aliases that can't validate standalone, matching old validate.sh behavior)
- Remove validate-examples job (examples use SSH git sources unavailable in CI,
  matching old validate.sh which excluded examples)
- Fix pre-existing formatting in config.tfvars (now caught by -recursive flag)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sam-at-luther sam-at-luther merged commit f33da60 into main Feb 19, 2026
23 checks passed
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.

feat: luthername should support max_length parameter to prevent AWS name limit errors

1 participant