Skip to content

feat: Support external repository references for account customizations - #606

Open
chakeega wants to merge 1 commit into
aws-ia:mainfrom
chakeega:feature/account-customization-repos
Open

feat: Support external repository references for account customizations#606
chakeega wants to merge 1 commit into
aws-ia:mainfrom
chakeega:feature/account-customization-repos

Conversation

@chakeega

@chakeega chakeega commented Feb 2, 2026

Copy link
Copy Markdown

Summary

This PR enables the account_customizations_name field to reference external Git repositories, allowing independent versioning and release cycles per account customization without requiring all customizations to live in the aft-account-customizations repository.

Changes

Buildspec Updates (aft-account-customizations-terraform.yml)

  • Added is_repo_reference() to detect external repository references
  • Added parse_repo_reference() with support for three formats:
    • repo::owner/repo - simple prefix format
    • https://github.com/owner/repo - HTTPS URLs
    • git@github.com:owner/repo.git - SSH URLs
  • Added @ref suffix support for pinning to branches/tags
  • Added clone_external_repo() using existing VCS provider credentials
  • Added validate_customization_structure() to verify cloned repos have required terraform/ and api_helpers/ directories
  • Restructured install phase to check for repo references before folder lookup

Documentation

  • Updated README with usage examples and format documentation

Usage Examples

# External repo with version tag
account_customizations_name = "repo::acme/sandbox-customizations@v1.0.0"

# HTTPS URL
account_customizations_name = "https://github.com/acme/sandbox-customizations@main"

# SSH URL
account_customizations_name = "git@github.com:acme/sandbox-customizations.git@v2.0"

# Existing folder-based (unchanged)
account_customizations_name = "sandbox"

Backward Compatibility

Existing folder-based customizations continue to work unchanged. Values without repo::, https://, or git@ prefixes are treated as folder names.

Allow account_customizations_name to reference external Git repositories
using repo::, https://, or git@ prefixes with optional @ref for
branch/tag pinning. Existing folder-based customizations unchanged.
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.

1 participant