Helper image for Terraform module development in Gitpod.
Tags available:
latest
which is the recommended tag( Gitpod-official images uselatest
too)commit-$SHA
which is to be used for development
To use the image, set it in .gitpod.yml
:
image: vlaaaaaaad/gitpod-terraform:latest
The image comes with several helpful tools pre-installed:
bash
which is also configuredzsh
which is also configured, including zsh-syntax-highlighting and zsh-history-substring-search- latest version of Terraform installed by
tfenv
for a better user experience - pre-commit for pre-commit hooks like pre-commit-terraform
- terraform-docs for Terraform documentation generation
- tflint for Terraform best practices verification
- tfsec for security best practices
- conftest for running Open Policy Agent tests on Terraform code
- krypt.co for secure SSH and GPG key management
The scripts are saved in ~/helpers
:
~/helpers/setup.sh
which should provide a nice UI and call the others. Yet to be implemented~/helpers/setup-ssh-insecure.sh
to setup a SSH key fromENV_VAR_SSH_PRIVATE_KEY
~/helpers/setup-ssh-krypt.sh
to setup SSH using krypt.co~/helpers/setup-gpg-insecure.sh
which should setup a GPG key fromENV_VAR_GPG_PRIVATE_KEY
Yet to be implemented~/helpers/setup-gpg-krypt.sh
to setup GPG using krypt.co
For Terraform cloning of private modules, SSH keys are usually needed.
To help with this there are 2 helper scripts included, with two ways of setting SSH keys:
- insecure: having a private SSH key in
$ENV_VAR_SSH_PRIVATE_KEY
configured in personal Gitpod Environment Variables - using krypt.co for secure SSH key management with 2FA
For signature signing, GPG keys are needed.
To help with this there are 2 helper scripts included, with two ways of setting GPG keys:
- insecure: having a private GPG key in
$ENV_VAR_GPG_PRIVATE_KEY
configured in personal Gitpod Environment Variables - using krypt.co for secure GPG key management with 2FA
- Fork it (https://github.com/vlaaaaaaad/gitpod-terraform/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
This project is provided under the MIT License. See LICENSE for more information.