140 lines
3.5 KiB
YAML
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
|