--- default_language_version: # force all unspecified python hooks to run python3 python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.4.0 hooks: - id: check-case-conflict - id: check-executables-have-shebangs - id: check-json - id: check-merge-conflict - id: check-toml - id: check-xml - id: debug-statements - id: detect-aws-credentials args: - --allow-missing-credentials - id: detect-private-key - id: end-of-file-fixer exclude: files/(issue|motd) - id: mixed-line-ending args: - --fix=lf - id: pretty-format-json args: - --autofix - id: requirements-txt-fixer - id: trailing-whitespace # Text file hooks - repo: https://github.com/igorshubovych/markdownlint-cli rev: v0.26.0 hooks: - id: markdownlint args: - --config=.mdl_config.json - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.2.1 hooks: - id: prettier - repo: https://github.com/adrienverge/yamllint rev: v1.25.0 hooks: - id: yamllint args: - --strict # Shell script hooks - repo: https://github.com/detailyang/pre-commit-shell rev: 1.0.5 hooks: - id: shell-lint # Python hooks - repo: https://github.com/PyCQA/bandit rev: 1.7.0 hooks: - id: bandit args: - --config=.bandit.yml - repo: https://github.com/psf/black rev: 20.8b1 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: 3.8.4 hooks: - id: flake8 additional_dependencies: - flake8-docstrings - repo: https://github.com/PyCQA/isort rev: 5.7.0 hooks: - id: isort - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.790 hooks: - id: mypy - repo: https://github.com/asottile/pyupgrade rev: v2.7.4 hooks: - id: pyupgrade # Ansible hooks - repo: https://github.com/ansible-community/ansible-lint rev: v4.3.7 hooks: - id: ansible-lint # files: molecule/default/playbook.yml # Terraform hooks - repo: https://github.com/antonbabenko/pre-commit-terraform rev: v1.45.0 hooks: - id: terraform_fmt # There are ongoing issues with how this command works. This issue # documents the core issue: # https://github.com/hashicorp/terraform/issues/21408 # We have seen issues primarily with proxy providers and Terraform code # that uses remote state. The PR # https://github.com/hashicorp/terraform/pull/24887 # has been approved and is part of the 0.13 release to resolve the issue # with remote states. # The PR # https://github.com/hashicorp/terraform/pull/24896 # is a proprosed fix to deal with `terraform validate` with proxy # providers (among other configurations). # We have decided to disable the terraform_validate hook until the issues # above have been resolved, which we hope will be with the release of # Terraform 0.13. # - id: terraform_validate # Docker hooks - repo: https://github.com/IamTheFij/docker-pre-commit rev: v2.0.0 hooks: - id: docker-compose-check # Packer hooks - repo: https://github.com/cisagov/pre-commit-packer rev: v0.0.2 hooks: - id: packer_validate - id: packer_fmt