https://github.com/shini4i/docker-atlantis
A custom atlantis docker image with built-in transcrypt, terragrunt and terragrunt-atlantis-config
https://github.com/shini4i/docker-atlantis
atlantis dockerfile terraform terragrunt transcrypt
Last synced: 26 days ago
JSON representation
A custom atlantis docker image with built-in transcrypt, terragrunt and terragrunt-atlantis-config
- Host: GitHub
- URL: https://github.com/shini4i/docker-atlantis
- Owner: shini4i
- Created: 2022-02-21T12:22:35.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-03T18:17:25.000Z (7 months ago)
- Last Synced: 2024-11-03T19:20:38.916Z (7 months ago)
- Topics: atlantis, dockerfile, terraform, terragrunt, transcrypt
- Language: Dockerfile
- Homepage:
- Size: 69.3 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# atlantis
A custom [atlantis](https://github.com/runatlantis/atlantis) docker image with built-in [infracost](https://github.com/infracost/infracost), [transcrypt](https://github.com/elasticdog/transcrypt), [terragrunt](https://github.com/gruntwork-io/terragrunt), [terragrunt-atlantis-config](https://github.com/transcend-io/terragrunt-atlantis-config) and [atlantis-emoji-gate](https://github.com/shini4i/atlantis-emoji-gate)


![]()
## Download latest built image
```bash
docker pull ghcr.io/shini4i/atlantis:v0.33.0
```## Configuration example
### Transcrypt
Custom workflow example utilizing transcrypt:
```yaml
workflows:
terraform-transcrypt:
plan:
steps:
- run: transcrypt -c aes-256-cbc -p "$TRANSCRYPT_PASSWORD" --yes || transcrypt -c aes-256-cbc -p "$TRANSCRYPT_PASSWORD" --upgrade --yes
- init
- plan
apply:
steps:
- apply
```
### Terragrunt
Atlantis server configuration example utilizing terragrunt + terragrunt-atlantis-config:
```yaml
repoConfig: |
---
repos:
- id: /.*/
apply_requirements: [mergeable, approved]
workflow: default
allowed_overrides: []
allow_custom_workflows: false
pre_workflow_hooks:
- run: terragrunt-atlantis-config generate --output atlantis.yaml --autoplan
workflows:
default:
plan:
steps:
# additional init step is required if you need to provide credentials for backend config
- run: terragrunt init -backend-config="username=$ATLANTIS_USER" -backend-config="password=$ATLANTIS_TOKEN"
- run: terragrunt plan -input=false -out=$PLANFILE
- run: terragrunt show -json $PLANFILE > $SHOWFILE
apply:
steps:
- run: terragrunt apply -input=false $PLANFILE
```### Atlantis-Emoji-Gate
This setup is useful only for setups running with Gitlab CE. It replaces non-working mandatory approvals with custom emoji-based approvals:
More info can be found [here](https://github.com/shini4i/atlantis-emoji-gate).
```yaml
workflows:
default:
plan:
steps:
- init
- plan
apply:
steps:
- run: atlantis-emoji-gate
- apply
```