Skip to content

A multibranch repo to present pre-commit to a CCoE like team for its terraform deployment (and not only!)

License

Notifications You must be signed in to change notification settings

alexis-renard/pre-commit-terraform-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

pre-commit-terraform-demo

A lightweight demo repo to present pre-commit to some collegues, with a specific deepdive on the terraform development workflow.

3 branches are available for different scenarios

  • 0-pre-commit
    • First manipulations and checks done on a static file (json) and basic python script
  • 1-pre-commit-terraform
    • Our first basic terraform repo ! The code is verified and automatically formated thanks to our first pre-commit hooks.
  • 2-pre-commit-terraform-with-docs-and-sec
    • Finally adding some security checks and automatic doc generation.

pre-commit install

Ubuntu 20.04

  • pre-commit core :
    sudo apt update
    sudo apt install -y unzip software-properties-common python3 python3-pip
    python3 -m pip install --upgrade pip
    pip3 install --no-cache-dir -U pre-commit # be sure to have $HOME/.local/bin added to your $PATH
  • pre-commit terraform hooks :
     pip3 install -U checkov
     curl -L "$(curl -s https://api.github.com/repos/terraform-docs/terraform-docs/releases/latest | grep -o -E -m 1 "https://.+?-linux-amd64.tar.gz")" > terraform-docs.tgz && tar -xzf terraform-docs.tgz terraform-docs && rm terraform-docs.tgz && chmod +x terraform-docs && sudo mv terraform-docs /usr/bin/
     curl -L "$(curl -s https://api.github.com/repos/terraform-linters/tflint/releases/latest | grep -o -E -m 1 "https://.+?_linux_amd64.zip")" > tflint.zip && unzip tflint.zip && rm tflint.zip && sudo mv tflint /usr/bin/
     curl -L "$(curl -s https://api.github.com/repos/aquasecurity/trivy/releases/latest | grep -o -E -i -m 1 "https://.+?/trivy_.+?_Linux-64bit.tar.gz")" > trivy.tar.gz && tar -xzf trivy.tar.gz trivy && rm trivy.tar.gz && sudo mv trivy /usr/bin

🚀 Feel free to contribute ! Keep up in the meantime, 🦊

About

A multibranch repo to present pre-commit to a CCoE like team for its terraform deployment (and not only!)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published