From 1bbe9f1e212a44a9ce1ea9ac9e1df52a70bd1279 Mon Sep 17 00:00:00 2001 From: Matteo Vitali Date: Thu, 20 Apr 2023 14:21:32 +0200 Subject: [PATCH] Add terraform fmt and validate in precommit --- .pre-commit-config.yaml | 10 ++++++++++ .../.pre-commit-config.yaml | 10 ++++++++++ {{cookiecutter.project_dirname}}/Dockerfile | 6 ++++++ 3 files changed, 26 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d89bd23..a30fa05 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -62,3 +62,13 @@ repos: hooks: - id: pip-audit args: ["--require-hashes", "--requirement", "requirements/local.txt"] + - repo: https://github.com/antonbabenko/pre-commit-terraform + rev: "v1.77.2" + hooks: + - id: terraform_fmt + - id: terraform_validate + args: + - --tf-init-args=-backend=false + - --tf-init-args=-lock=false + - --tf-init-args=-upgrade + - --hook-config=--retry-once-with-cleanup=true diff --git a/{{cookiecutter.project_dirname}}/.pre-commit-config.yaml b/{{cookiecutter.project_dirname}}/.pre-commit-config.yaml index fdca333..ba9c3bb 100644 --- a/{{cookiecutter.project_dirname}}/.pre-commit-config.yaml +++ b/{{cookiecutter.project_dirname}}/.pre-commit-config.yaml @@ -69,6 +69,16 @@ repos: hooks: - id: pip-audit args: ["--require-hashes", "--requirement", "requirements/remote.txt"] + - repo: https://github.com/antonbabenko/pre-commit-terraform + rev: "v1.77.2" + hooks: + - id: terraform_fmt + - id: terraform_validate + args: + - --tf-init-args=-backend=false + - --tf-init-args=-lock=false + - --tf-init-args=-upgrade + - --hook-config=--retry-once-with-cleanup=true - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.9.0.2 hooks: diff --git a/{{cookiecutter.project_dirname}}/Dockerfile b/{{cookiecutter.project_dirname}}/Dockerfile index fc1e679..1c75eb5 100644 --- a/{{cookiecutter.project_dirname}}/Dockerfile +++ b/{{cookiecutter.project_dirname}}/Dockerfile @@ -68,6 +68,12 @@ RUN apt-get update \ make \ openssh-client \ postgresql-client-13 +RUN curl https://apt.releases.hashicorp.com/gpg | \ + gpg --dearmor > /usr/share/keyrings/hashicorp-archive-keyring.gpg +RUN gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint +RUN echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \ + tee /etc/apt/sources.list.d/hashicorp.list +RUN apt-get update && apt-get --assume-yes install terraform USER $APPUSER COPY --chown=$APPUSER ./requirements/local.txt requirements/local.txt RUN python3 -m pip install --user --no-cache-dir -r requirements/local.txt