with one click
ipa-stack-codecommit
Deploy a CodeCommit repository for source code management.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Deploy a CodeCommit repository for source code management.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Deploy a backend tier stack: Lambda + API Gateway v2 + DynamoDB (feature-flagged).
Compose a deployment from stack skills and generate executable artifacts (Makefiles, security disposition). Use when the user says 'compose', 'generate deployment', or invokes /ipa-compose.
Initialize IPA project configuration
Deploy a CodePipeline CI/CD pipeline with CodeBuild for automated build/test/deploy.
Deploy a Terraform state backend (S3 + DynamoDB) via CloudFormation.
Deploy a Cognito User Pool stack with OAuth 2.0 Hosted UI and OIDC endpoints.
| name | ipa-stack-codecommit |
| description | Deploy a CodeCommit repository for source code management. |
Deploy a CodeCommit source code repository. Provides repository name, ARN, and clone URL outputs for the codepipeline stack and builder instructions.
| Property | Value |
|---|---|
| Stack name | {APP_NAMESPACE}-{APP_ENV}-codecommit |
| Template | infra/cfn/codecommit/codecommit.yml |
| Capabilities | none |
| Lifecycle | prepare (prerequisite stack) |
| Tier | codecommit |
| Parameter | Type | Default | Validation | Error Message |
|---|---|---|---|---|
| Namespace | String | — | /^[a-z][a-z0-9-]{0,11}$/ | "Invalid namespace — 1-12 chars, lowercase alphanumeric + hyphens, starts with letter" |
| Environment | String | — | /^[a-z][a-z0-9-]{0,11}$/ | "Must be 1-12 chars, lowercase letters/digits/hyphens, starts with letter" |
| RepositoryName | String | — | /^[a-zA-Z0-9._-]+$/ | "Only alphanumeric characters, dots, underscores, and hyphens allowed" |
| RepositoryDescription | String | IPA-managed source repository | — | — |
| KmsKeyArn | String | (empty) | /^(arn:aws:kms:[a-z0-9-]+:\d{12}:key\/[a-f0-9-]+)?$/ | "Invalid KMS key ARN format" |
All parameters are Configuration type — sourced from .env, builder input, or defaults.
No wirable parameters — all parameters are configuration type (sourced from .env or builder input).
Parameters prompted during /ipa-compose:
| Parameter | Prompt | Default | Validation |
|---|---|---|---|
| RepositoryName | "CodeCommit repository name?" | {APP_NAMESPACE}-{APP_ENV}-repo | /^[a-zA-Z0-9._-]+$/ |
| RepositoryDescription | — | IPA-managed source repository | — (use default) |
| Output | Description | Export Convention | Used By |
|---|---|---|---|
| RepositoryName | CodeCommit repository name | {StackName}-RepositoryName | ipa-stack-codepipeline (SourceRepoName parameter) |
| RepositoryArn | CodeCommit repository ARN | {StackName}-RepositoryArn | Security policy scoping |
| CloneUrlHttp | HTTPS clone URL for the repository | {StackName}-CloneUrlHttp | Builder (git remote add) |
Required IAM actions: codecommit:CreateRepository, DeleteRepository, GetRepository, UpdateRepositoryDescription, TagResource, UntagResource — scoped to arn:aws:codecommit:{Region}:{AccountId}:{RepositoryName}. Optional KMS actions when KmsKeyArn is provided.
Security controls: Optional KMS encryption at rest, no public access (CodeCommit is private by default)
Full advisory: See SECURITY.md
| Property | Value |
|---|---|
| Module path | infra/tf/codecommit/ |
| State key | {namespace}-{env}/codecommit/terraform.tfstate |
| Required version | >= 1.5.0 |
| Providers | hashicorp/aws >= 5.0 |
| Variable | Type | Default | Maps to CFN |
|---|---|---|---|
| namespace | string | — | Namespace |
| environment | string | — | Environment |
| region | string | — | (implicit) |
| state_bucket | string | — | (TF infrastructure) |
| repository_name | string | — | RepositoryName |
| repository_description | string | IPA-managed source repository | RepositoryDescription |
| Output | Maps to CFN |
|---|---|
| repository_name | RepositoryName |
| repository_arn | RepositoryArn |
| clone_url_http | CloneUrlHttp |