An open API service indexing awesome lists of open source software.

https://github.com/trussworks/terraform-aws-iam-ecr-ci

Creates an IAM user/group for CI to use to push images to ECR
https://github.com/trussworks/terraform-aws-iam-ecr-ci

aws-ecr terraform terraform-modules

Last synced: 6 months ago
JSON representation

Creates an IAM user/group for CI to use to push images to ECR

Awesome Lists containing this project

README

          

Creates an IAM user/group for CI to use to push images to ECR.

Creates the following resources:

* IAM user, group, and policy.

## Usage

```hcl
module "ecr_ci_myapp" {
source = "trussworks/iam-ecr-ci/aws"

ecr_repo = "myapp"
ci_name = "CircleCI"
}
```

## Requirements

| Name | Version |
|------|---------|
| terraform | >= 1.0 |
| aws | >= 3.0 |

## Providers

| Name | Version |
|------|---------|
| aws | >= 3.0 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_iam_group.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group) | resource |
| [aws_iam_group_membership.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_membership) | resource |
| [aws_iam_group_policy_attachment.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_policy_attachment) | resource |
| [aws_iam_policy.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_user.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user) | resource |
| [aws_ecr_repository.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ecr_repository) | data source |
| [aws_iam_policy_document.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| ci\_name | Name of the CI system (e.g., CircleCI, Jenkins, …). | `string` | n/a | yes |
| ci\_project | Name of the project being built. Uses ecr\_repo name by default. | `string` | `""` | no |
| ecr\_repo | Name of the ECR repository. | `string` | n/a | yes |

## Outputs

No outputs.

## Developer Setup

Install dependencies (macOS)

```shell
brew install pre-commit go terraform terraform-docs
```