orange-openSource--aws-terr.../docker-compose-tools.yml
2023-06-22 11:14:06 +02:00

140 lines
3.5 KiB
YAML

---
services:
precommit:
container_name: ${COMPOSE_PROJECT_NAME}_precommit
image: ghcr.io/antonbabenko/pre-commit-terraform:${PRECOMMIT_IMAGE_TAG}
user: root
environment:
PRE_COMMIT_HOME: /tmp
volumes:
- ./:/lint
- /tmp:/tmp
working_dir: /lint
lint:
container_name: ${COMPOSE_PROJECT_NAME}_lint
build:
dockerfile: automation/TFlint/Dockerfile
context: .
args:
- TFLINT_VERSION=0.46.1
- TFLINT_OS=linux
- TFLINT_ARCH=amd64
image: tflint:0.46.1
user: ${MY_UID}:${MY_GID}
environment:
- HOME=/workdir
env_file:
- .env
volumes:
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- ./:/workdir
working_dir: /workdir
dotenv-linter:
container_name: ${COMPOSE_PROJECT_NAME}_dotenv_linter
image: dotenvlinter/dotenv-linter:${DOTENV_LINTER_IMAGE_TAG}
volumes:
- .env:/app/.env
working_dir: /app
markdown_lint:
container_name: ${COMPOSE_PROJECT_NAME}_markdown_lint
image: pipelinecomponents/markdownlint:${MARKDOWN_LINTER_IMAGE_TAG}
volumes:
- ./:/md
working_dir: /md
shell_lint:
container_name: ${COMPOSE_PROJECT_NAME}_shell_lint
image: pipelinecomponents/shellcheck:${SHELL_LINTER_IMAGE_TAG}
user: ${MY_UID}:${MY_GID}
environment:
- HOME=/app
env_file:
- .env
volumes:
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- ./:/app
working_dir: /app
yaml_lint:
container_name: ${COMPOSE_PROJECT_NAME}_yaml_lint
image: pipelinecomponents/yamllint:${YAML_LINTER_IMAGE_TAG}
user: ${MY_UID}:${MY_GID}
environment:
- HOME=/app
env_file:
- .env
volumes:
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- ./:/code
working_dir: /code
powershell_lint:
container_name: ${COMPOSE_PROJECT_NAME}_powershell_lint
image: cypher0n3/psscriptanalyzer-docker:${POWERSHELL_LINTER_IMAGE_TAG}
volumes:
- ./:/app
working_dir: /app
json_lint:
container_name: ${COMPOSE_PROJECT_NAME}_json_lint
image: pipelinecomponents/jsonlint:${JSON_LINTER_IMAGE_TAG}
volumes:
- ./:/code
working_dir: /code
trivy:
container_name: ${COMPOSE_PROJECT_NAME}_trivy
image: aquasec/trivy:${TRIVY_IMAGE_TAG}
volumes:
- ./:/myapp
working_dir: /myapp
terrascan:
container_name: ${COMPOSE_PROJECT_NAME}_terrascan
image: tenable/terrascan:${TERRASCAN_IMAGE_TAG}
volumes:
- ./:/myapp
working_dir: /myapp
jinja2docker:
container_name: jinja2docker
build:
dockerfile: Dockerfile
context: ./automation/jinja2/
hostname: jinja2docker
entrypoint: python3 /scripts/entities/render.py
#entrypoint: tail -f /etc/alpine-release
env_file:
- .env
volumes:
- ./automation/jinja2/templates:/templates
- ./automation/jinja2/variables:/variables
- ./automation/jinja2/render.py:/script/entities/render.py
terraform_docs:
container_name: ${COMPOSE_PROJECT_NAME}_terraform_docs
build:
dockerfile: automation/TerraformDocs/Dockerfile
context: .
args:
- TERRAFORM_DOCS_VERSION=0.16.0
- TERRAFORM_DOCS_OS=linux
- TERRAFORM_DOCS_ARCH=amd64
image: terraforms-docs:0.16.0
user: ${MY_UID}:${MY_GID}
environment:
HOME: /workdir
env_file:
- .env
volumes:
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- ./:/workdir
working_dir: /workdir