--- services: precommit: container_name: ${COMPOSE_PROJECT_NAME}_precommit image: ghcr.io/antonbabenko/pre-commit-terraform:${PRECOMMIT_IMAGE_TAG} environment: PRE_COMMIT_HOME: /tmp USERID: ${MY_UID}:${MY_GID} volumes: - ./${PROJECT_ROOT_DIR}:/project - /tmp:/tmp - /tmp:/.cache working_dir: ${DOCKER_WORKDIR} lint: container_name: ${COMPOSE_PROJECT_NAME}_lint image: ${DOCKER_REGISTRY}tflint:${TFLINT_IMAGE_TAG} # 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=${DOCKER_WORKDIR} env_file: - .env volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_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: - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} shell_lint: container_name: ${COMPOSE_PROJECT_NAME}_shell_lint image: pipelinecomponents/shellcheck:${SHELL_LINTER_IMAGE_TAG} user: ${MY_UID}:${MY_GID} environment: - HOME=${DOCKER_WORKDIR} env_file: - .env volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} yaml_lint: container_name: ${COMPOSE_PROJECT_NAME}_yaml_lint image: pipelinecomponents/yamllint:${YAML_LINTER_IMAGE_TAG} user: ${MY_UID}:${MY_GID} environment: - HOME=${DOCKER_WORKDIR} env_file: - .env volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} powershell_lint: container_name: ${COMPOSE_PROJECT_NAME}_powershell_lint image: cypher0n3/psscriptanalyzer-docker:${POWERSHELL_LINTER_IMAGE_TAG} volumes: - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} json_lint: container_name: ${COMPOSE_PROJECT_NAME}_json_lint image: pipelinecomponents/jsonlint:${JSON_LINTER_IMAGE_TAG} volumes: - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} trivy: container_name: ${COMPOSE_PROJECT_NAME}_trivy image: aquasec/trivy:${TRIVY_IMAGE_TAG} volumes: - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} terrascan: container_name: ${COMPOSE_PROJECT_NAME}_terrascan image: tenable/terrascan:${TERRASCAN_IMAGE_TAG} volumes: - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} 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 - ./configure.yaml:/configure.yaml compare_configuration: container_name: compare_configuration user: ${MY_UID}:${MY_GID} build: dockerfile: Dockerfile context: ./automation/CompareConfiguration/ volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} terraform_docs: container_name: ${COMPOSE_PROJECT_NAME}_terraform_docs image: ${DOCKER_REGISTRY}terraformdocs:${TERRAFORM_DOCS_IMAGE_TAG} # 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: ${DOCKER_WORKDIR} env_file: - .env volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} terraform_version_check: container_name: ${COMPOSE_PROJECT_NAME}_terraform_version_check image: tfverch/tfvc:${TERRAFORM_VERSION_CHECK_IMAGE_TAG} user: ${MY_UID}:${MY_GID} environment: HOME: ${DOCKER_WORKDIR} env_file: - .env volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR} scoutsuite: container_name: ${COMPOSE_PROJECT_NAME}_scoutsuite image: rossja/ncc-scoutsuite:aws-${SCOUTSUITE_VERSION} user: ${MY_UID}:${MY_GID} environment: HOME: "${DOCKER_WORKDIR:-DOCKER_WORKDIR}" AWS_ACCESS_KEY_ID: "${AWS_ACCESS_KEY_ID:-AWS_ACCESS_KEY_ID}" AWS_SECRET_ACCESS_KEY: "${AWS_SECRET_ACCESS_KEY:-AWS_SECRET_ACCESS_KEY}" AWS_SESSION_TOKEN: "${AWS_SESSION_TOKEN:-AWS_SESSION_TOKEN}" env_file: - .env volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro - ./${PROJECT_ROOT_DIR}:/project working_dir: ${DOCKER_WORKDIR}