Skip to content

Commit

Permalink
Moved code and image to devops-infra organization
Browse files Browse the repository at this point in the history
  • Loading branch information
ChristophShyper committed May 2, 2020
1 parent 5f3f269 commit da46956
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 40 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ FROM alpine:3.11
# And for https://help.github.com/en/actions/building-actions/metadata-syntax-for-github-actions
ARG NAME="IaaC dockerized framework for Terragrunt/Terragrunt"
ARG DESCRIPTION="Docker image with Terraform v${TF_VERSION}, Terragrunt v${TG_VERSION} and all needed components to easily manage cloud infrastructure."
ARG REPO_URL="https://github.com/ChristophShyper/docker-terragrunt"
ARG REPO_URL="https://github.com/devops-infra/docker-terragrunt"
ARG AUTHOR="Krzysztof Szyper <biotyk@mail.com>"
ARG HOMEPAGE="https://christophshyper.github.io/"
ARG BUILD_DATE=2020-04-01T00:00:00Z
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ VERSION_LATEST := tf-$(TF_LATEST)-tg-$(TG_LATEST)
CURRENT_BRANCH := $(shell echo $(GITHUB_REF) | sed 's/refs\/heads\///')
GITHUB_SHORT_SHA := $(shell echo $(GITHUB_SHA) | cut -c1-7)
DOCKER_USER_ID := christophshyper
DOCKER_ORG_NAME := devopsinfra
DOCKER_IMAGE := docker-terragrunt
DOCKER_NAME := $(DOCKER_USER_ID)/$(DOCKER_IMAGE)
DOCKER_NAME := $(DOCKER_ORG_NAME)/$(DOCKER_IMAGE)
BUILD_DATE := $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")

# Some cosmetics
Expand Down
76 changes: 38 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,53 +2,53 @@

Docker image with Terraform, Terragrunt, Python, Make, Docker, Git, and all needed components to easily manage cloud infrastructure.

**Docker image is available at [DockerHub](https://hub.docker.com/) under [christophshyper/docker-terragrunt](https://hub.docker.com/repository/docker/christophshyper/docker-terragrunt).**
**Docker image is available at [DockerHub](https://hub.docker.com/) under [devopsinfra/docker-terragrunt](https://hub.docker.com/repository/docker/devopsinfra/docker-terragrunt).**
<br>
Tag of Docker image tells which version of Terraform and Terragrunt it contains and which public cloud provider CLI it's bundled with or not (see below).
<br>
For example:
* `christophshyper/docker-terragrunt:tf-0.12.24-tg-0.23.13` means it's Terraform v0.12.24 and Terragrunt v0.23.13 without additional CLI.
* `christophshyper/docker-terragrunt:aws-tf-0.12.24-tg-0.23.13` means it's Terraform v0.12.24 and Terragrunt v0.23.13 with AWS CLI.
* `devopsinfra/docker-terragrunt:tf-0.12.24-tg-0.23.13` means it's Terraform v0.12.24 and Terragrunt v0.23.13 without additional CLI.
* `devopsinfra/docker-terragrunt:aws-tf-0.12.24-tg-0.23.13` means it's Terraform v0.12.24 and Terragrunt v0.23.13 with AWS CLI.

**Source code is available at [ChristophShyper/docker-terragrunt](https://github.com/ChristophShyper/docker-terragrunt).**
**Source code is available at [devopsinfra/docker-terragrunt](https://github.com/devopsinfra/docker-terragrunt).**

Dockerfile is based on two images made by [cytopia](https://github.com/cytopia): [docker-terragrunt](https://github.com/cytopia/docker-terragrunt/tree/1bc1a2c6de42c6d19f7e91f64f30256c24fd386f) and [docker-terragrunt-fmt](https://github.com/cytopia/docker-terragrunt-fmt/tree/3f8964bea0db043a05d4a8d622f94a07f109b5a7).
<br>
Original README files are included in this repository: [docker-terragrunt](https://github.com/ChristophShyper/docker-terragrunt/blob/master/README.docker-terragrunt.md) and [docker-terragrunt-fmt](https://github.com/ChristophShyper/docker-terragrunt/blob/master/README.docker-terragrunt-fmt.md).
Original README files are included in this repository: [docker-terragrunt](https://github.com/devopsinfra/docker-terragrunt/blob/master/README.docker-terragrunt.md) and [docker-terragrunt-fmt](https://github.com/devopsinfra/docker-terragrunt/blob/master/README.docker-terragrunt-fmt.md).

This project grew much bigger than the original ones and is intended to be a framework for cloud Infrastructure-as-a-Code.


## Badge swag
[
![GitHub](https://img.shields.io/badge/github-ChristophShyper%2Fdocker--terragrunt-brightgreen.svg?style=flat-square&logo=github)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/christophshyper/docker-terragrunt?color=brightgreen&label=Code%20size&style=flat-square&logo=github)
![GitHub last commit](https://img.shields.io/github/last-commit/christophshyper/docker-terragrunt?color=brightgreen&label=Last%20commit&style=flat-square&logo=github)
](https://github.com/christophshyper/docker-terragrunt "shields.io")
[![Push to master](https://img.shields.io/github/workflow/status/christophshyper/docker-terragrunt/Push%20to%20master?color=brightgreen&label=Master%20branch&logo=github&style=flat-square)
](https://github.com/ChristophShyper/docker-terragrunt/actions?query=workflow%3A%22Push+to+master%22)
[![Push to other](https://img.shields.io/github/workflow/status/christophshyper/docker-terragrunt/Push%20to%20other?color=brightgreen&label=Pull%20requests&logo=github&style=flat-square)
](https://github.com/ChristophShyper/docker-terragrunt/actions?query=workflow%3A%22Push+to+other%22)
![GitHub](https://img.shields.io/badge/github-devops--infra%2Fdocker--terragrunt-brightgreen.svg?style=flat-square&logo=github)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/devops-infra/docker-terragrunt?color=brightgreen&label=Code%20size&style=flat-square&logo=github)
![GitHub last commit](https://img.shields.io/github/last-commit/devops-infra/docker-terragrunt?color=brightgreen&label=Last%20commit&style=flat-square&logo=github)
](https://github.com/devops-infra/docker-terragrunt "shields.io")
[![Push to master](https://img.shields.io/github/workflow/status/devops-infra/docker-terragrunt/Push%20to%20master?color=brightgreen&label=Master%20branch&logo=github&style=flat-square)
](https://github.com/devops-infra/docker-terragrunt/actions?query=workflow%3A%22Push+to+master%22)
[![Push to other](https://img.shields.io/github/workflow/status/devops-infra/docker-terragrunt/Push%20to%20other?color=brightgreen&label=Pull%20requests&logo=github&style=flat-square)
](https://github.com/devops-infra/docker-terragrunt/actions?query=workflow%3A%22Push+to+other%22)
<br>
[
![DockerHub](https://img.shields.io/badge/docker-christophshyper%2Fdocker--terragrunt-blue.svg?style=flat-square&logo=docker)
![Image size](https://img.shields.io/docker/image-size/christophshyper/docker-terragrunt/latest?label=Image%20size&style=flat-square&logo=docker)
![Dockerfile size](https://img.shields.io/github/size/christophshyper/docker-terragrunt/Dockerfile?label=Dockerfile%20size&style=flat-square&logo=docker)
![Docker Pulls](https://img.shields.io/docker/pulls/christophshyper/docker-terragrunt?color=blue&label=Pulls&logo=docker&style=flat-square)
](https://hub.docker.com/r/christophshyper/docker-terragrunt "shields.io")
![DockerHub](https://img.shields.io/badge/docker-devopsinfra%2Fdocker--terragrunt-blue.svg?style=flat-square&logo=docker)
![Image size](https://img.shields.io/docker/image-size/devopsinfra/docker-terragrunt/latest?label=Image%20size&style=flat-square&logo=docker)
![Dockerfile size](https://img.shields.io/github/size/devops-infra/docker-terragrunt/Dockerfile?label=Dockerfile%20size&style=flat-square&logo=docker)
![Docker Pulls](https://img.shields.io/docker/pulls/devopsinfra/docker-terragrunt?color=blue&label=Pulls&logo=docker&style=flat-square)
](https://hub.docker.com/r/devopsinfra/docker-terragrunt "shields.io")
<br>
[
![DockerHub](https://img.shields.io/badge/docker-christophshyper%2Fdocker--terragrunt:latest-blue.svg?style=flat-square&logo=docker)
![Docker version](https://img.shields.io/docker/v/christophshyper/docker-terragrunt/latest?color=blue&label=Version&logo=docker&style=flat-square)
![Image size](https://img.shields.io/docker/image-size/christophshyper/docker-terragrunt/latest?label=Image%20size&style=flat-square&logo=docker)
](https://hub.docker.com/r/christophshyper/docker-terragrunt "shields.io")
![DockerHub](https://img.shields.io/badge/docker-devopsinfra%2Fdocker--terragrunt:latest-blue.svg?style=flat-square&logo=docker)
![Docker version](https://img.shields.io/docker/v/devopsinfra/docker-terragrunt/latest?color=blue&label=Version&logo=docker&style=flat-square)
![Image size](https://img.shields.io/docker/image-size/devopsinfra/docker-terragrunt/latest?label=Image%20size&style=flat-square&logo=docker)
](https://hub.docker.com/r/devopsinfra/docker-terragrunt "shields.io")
<br>
[
![DockerHub](https://img.shields.io/badge/docker-christophshyper%2Fdocker--terragrunt:aws--latest-blue.svg?style=flat-square&logo=docker)
![Docker version](https://img.shields.io/docker/v/christophshyper/docker-terragrunt/aws-latest?color=blue&label=Version&logo=docker&style=flat-square)
![Image size](https://img.shields.io/docker/image-size/christophshyper/docker-terragrunt/aws-latest?label=Image%20size&style=flat-square&logo=docker)
](https://hub.docker.com/r/christophshyper/docker-terragrunt "shields.io")
<!-- ![Docker Pulls](https://img.shields.io/docker/pulls/christophshyper/docker-terragrunt/aws-latest?color=blue&label=Pulls&logo=docker&style=flat-square) -->
![DockerHub](https://img.shields.io/badge/docker-devopsinfra%2Fdocker--terragrunt:aws--latest-blue.svg?style=flat-square&logo=docker)
![Docker version](https://img.shields.io/docker/v/devopsinfra/docker-terragrunt/aws-latest?color=blue&label=Version&logo=docker&style=flat-square)
![Image size](https://img.shields.io/docker/image-size/devopsinfra/docker-terragrunt/aws-latest?label=Image%20size&style=flat-square&logo=docker)
](https://hub.docker.com/r/devopsinfra/docker-terragrunt "shields.io")
<!-- ![Docker Pulls](https://img.shields.io/docker/pulls/devopsinfra/docker-terragrunt/aws-latest?color=blue&label=Pulls&logo=docker&style=flat-square) -->


# Summary
Expand All @@ -62,20 +62,20 @@ Furthermore, versioning labels of images contain versions of said software to em
### Available flavours
Docker image | Terraform version | Terragrunt version | Additional software
:--- | :--- | :--- | :---
`christophshyper/docker-terragrunt:latest`<br>`christophshyper/docker-terragrunt:tf-0.12.24-tg-0.23.13` | v0.12.24 | v0.23.13 | N/A
`christophshyper/docker-terragrunt:aws-latest`<br>`christophshyper/docker-terragrunt:aws-tf-0.12.24-tg-0.23.13` | v0.12.24 | v0.23.13 | [awscli](https://github.com/aws/aws-cli) - For interacting with AWS infrastructure, e.g. for publishing Lambda packages to S3.<br>[boto3](https://github.com/boto/boto3) - Python library for interacting with AWS infrastructure in scripts.
`devopsinfra/docker-terragrunt:latest`<br>`devopsinfra/docker-terragrunt:tf-0.12.24-tg-0.23.13` | v0.12.24 | v0.23.13 | N/A
`devopsinfra/docker-terragrunt:aws-latest`<br>`devopsinfra/docker-terragrunt:aws-tf-0.12.24-tg-0.23.13` | v0.12.24 | v0.23.13 | [awscli](https://github.com/aws/aws-cli) - For interacting with AWS infrastructure, e.g. for publishing Lambda packages to S3.<br>[boto3](https://github.com/boto/boto3) - Python library for interacting with AWS infrastructure in scripts.

**Without public cloud provider CLIs**<br>
Use for example `christophshyper/docker-terragrunt:latest`.
Use for example `devopsinfra/docker-terragrunt:latest`.

**Amazon Web Services**<br>
Use for example `christophshyper/docker-terragrunt:aws-latest`.
Use for example `devopsinfra/docker-terragrunt:aws-latest`.

_Google Cloud Platform - TO BE ADDED_<br>
~~Use for example `christophshyper/docker-terragrunt:gcp-latest`.~~
~~Use for example `devopsinfra/docker-terragrunt:gcp-latest`.~~

_Microsoft Azure - TO BE ADDED_<br>
~~Use for example `christophshyper/docker-terragrunt:azure-latest`.~~
~~Use for example `devopsinfra/docker-terragrunt:azure-latest`.~~


# Usage
Expand All @@ -90,7 +90,7 @@ For example:
docker run --rm \
--user $(id -u):$(id -g) \
--volume $(pwd):/data \
christophshyper/docker-terragrunt:latest format-hcl
devopsinfra/docker-terragrunt:latest format-hcl

# Plan terraform deployment in AWS for files in current directory.
docker run --rm \
Expand All @@ -101,30 +101,30 @@ docker run --rm \
--env AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} \
--user $(id -u):$(id -g) \
--volume $(pwd):/data \
christophshyper/docker-terragrunt:aws-latest terraform plan
devopsinfra/docker-terragrunt:aws-latest terraform plan

# Apply terragrunt deployment in subdirectory. With SSH access to GitHub using a private key.
docker run --rm \
--tty --interactive \
--user $(id -u):$(id -g) \
--volume $(pwd):/data \
--volume ~/.ssh/id_rsa_github_integration:/root/.ssh/id_rsa \
christophshyper/docker-terragrunt:aws-latest terragrunt apply --terragrunt-working-dir some/module
devopsinfra/docker-terragrunt:aws-latest terragrunt apply --terragrunt-working-dir some/module

# Run a Makefile target as orchestration script.
docker run --rm \
--tty --interactive \
--user $(id -u):$(id -g) \
--volume $(pwd):/data \
christophshyper/docker-terragrunt:aws-latest make build
devopsinfra/docker-terragrunt:aws-latest make build
```


# Additional software available in all images
### Scripts
Script name | Is included in PATH | Purpose | Source/Documentation
:--- | :---: | :--- | :---
`format-hcl` | Yes | For formatting all HCL files (`.hcl`, `.tf` and `.tfvars`) into format suggested by [Hashicorp](https://github.com/hashicorp/hcl). | [ChristophShyper](https://github.com/ChristophShyper/docker-terragrunt/blob/master/fmt/format-hcl)
`format-hcl` | Yes | For formatting all HCL files (`.hcl`, `.tf` and `.tfvars`) into format suggested by [Hashicorp](https://github.com/hashicorp/hcl). | [devops-infra](https://github.com/devops-infra/docker-terragrunt/blob/master/fmt/format-hcl)
`terragrunt-fmt.sh` | No | Dependency for `format-hcl` | [cytopia](https://github.com/cytopia/docker-terragrunt-fmt/blob/master/data/terragrunt-fmt.sh)


Expand Down

0 comments on commit da46956

Please sign in to comment.