terraform-switcher
conftest
Our great sponsors
terraform-switcher | conftest | |
---|---|---|
9 | 9 | |
1,295 | 2,782 | |
- | 0.9% | |
2.6 | 8.5 | |
3 days ago | 5 days ago | |
Go | Go | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
terraform-switcher
-
Top Terraform Tools to Know in 2024
TFSwitch is a CLI tool that allows easy switching between different Terraform versions, simplifying workflows in environments where multiple Terraform versions are used.
- Breve guia de sobrevivência com Terraform
-
Asdf – the language tool version manager
tfswitch might help with particular issue of terraform versioning:
https://tfswitch.warrensbox.com/
Even then some versions of terraform providers are not compatible with M1 macs. Docker would help with that probably, but so can: https://github.com/kreuzwerker/m1-terraform-provider-helper
Perhaps these sort of issues support the benefits of per-module docker images?
-
Best strategy to upgrade Terraform code?
My approach is to change the version in the version.tf file, install the new version using tfswitch (https://tfswitch.warrensbox.com/) and execute a plan. If infrastructure matches the configuration I will asume there are no breaking changes...
-
New Lifecycle Options and Refactoring Capabilities in Terraform 1.1 and 1.2
Also, an excellent tool can help with fast switching between different Terraform versions while you’re experimenting — tfswitch.
- Managing multiple terraform versions across modules
-
Local credentials and MFA
https://tfswitch.warrensbox.com/ for switching between Terraform versions
-
VSCode plugin very slow at terraform fmt on save
It was easy. I didn't use terraform-version files like you, but there are similar ways to automatically switch versions. https://github.com/warrensbox/terraform-switcher
-
Terraforming in 2021 – new features, testing and compliance
Terraform Switcher - yet another project essentially doing the same written in go;
conftest
-
Validation on list(object) variables
I wrote following conftest.dev (OPA), sample policy
- The default.go file meaning
-
Introducing Conftest and setting up CI with Github Actions to automate reviewing of Terraform code
name: tf-plan-apply on: pull_request: branches: [ main ] env: TF_VERSION: 1.0.0 CONFTEST_VERSION: 0.28.3 WORKING_DIR: ./ jobs: terraform: name: aws-eureka-pairs-etc-s3 runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Install conftest run: | wget -O - 'https://github.com/open-policy-agent/conftest/releases/download/v${{ env.CONFTEST_VERSION }}/conftest_${{ env.CONFTEST_VERSION }}_Linux_x86_64.tar.gz' | tar zxvf - ./conftest --version //❶ - name: Setup Terraform uses: hashicorp/setup-terraform@v1 with: terraform_wrapper: false //❷ terraform_version: ${{ env.TF_VERSION }} cli_config_credentials_token: ${{ secrets.YOUR_CRED_NAME}} - name: Terraform Init ${{ env.WORKING_DIR }} working-directory: ${{ env.WORKING_DIR }} run: terraform init - name: Terraform Plan ${{ env.WORKING_DIR }} if: github.event_name == 'pull_request' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} working-directory: ${{ env.WORKING_DIR }} id: plan run: terraform plan -out=tfplan -no-color -lock=false -parallelism=50 - name: Convert terraform plan result to json formmat if: github.event_name == 'pull_request' id: convert working-directory: ${{ env.WORKING_DIR }} run: terraform show -json tfplan > tfplan.json - name: conftest test if: github.event_name == 'pull_request' id: conftest run: ./conftest test --no-color ${{ env.WORKING_DIR }}/tfplan.json //❸
-
Kubernetes Security Checklist 2021
Workload configuration should be audited regularly (Kics, Kubeaudit, Kubescape, Conftest, Kubesec, Checkov)
-
Don't let your Terraform go rogue with Conftest and the Open Policy Agent
Insert Conftest! As they state in their GitHub description, Conftest tests against structured configuration data using the Open Policy Agent Rego query language. In the case of Terraform, this means we're actually running unit tests against sample JSON and actual tests against the Terraform state JSON.
-
Using Open Policy Agent and Conftest to Validate Your Openshift 4 IPI Configuration
While Rego is the policy language we use to assemble our policies, we still need something to run those policies with. If you have a cluster and you want to actively evaluate policies, you can end up running an instance of Open Policy Agent and it's associated tooling. However in our case, we just want to check things at runtime (or just on some recurring basis such as when changes get checked in or a pull request is submitted). In the latter instance, we are able to use another tool from the Open Policy Agent project called ConfTest. What ConfTest allows us to do is to specify a file or directory of files that we want to inspect along with the set of policies we want to inspect them with. It then takes all of that and dumps out the associated outputs from those policies and tell us the results (i.e. the messages, how many policies were checked and the results of those policies). This tool is much better suited for our use case, so this is what we will proceed with. To grab the latest version of ConfTest, you can grab the latest release from here.
-
!!!*IMP: Conftest Integration with AWS or Other*!!!!
OR HOW TO RUN https://github.com/open-policy-agent/conftest AS CI/CD in Circle CI to apply policies?
-
Terraforming in 2021 – new features, testing and compliance
If you like terraform-compliance, Conftest might also be worth having a look. It has its own DSL to write policies, and allows you to test multiple frameworks. We found this blog post from Lennard Eijsackers very informative, and would thus rather recommend you to check it out.
-
Mental models for understanding Kubernetes Pod Security Policy PSP
Can Gatekeeper and Conftest single-source the same set of rules? I'm looking at https://github.com/open-policy-agent/conftest/issues/54#issuecomment-528988831 and not seeing how.
What are some alternatives?
tfenv - Terraform version manager
checkov - Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.
netmaker-gui - An alternate UI for Netmaker (https://github.com/gravitl/netmaker)
terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
terraform-ls - Terraform Language Server
tfsec - Security scanner for your Terraform code [Moved to: https://github.com/aquasecurity/tfsec]
tflint - A Pluggable Terraform Linter
aws-vault - A vault for securely storing and accessing AWS credentials in development environments
inspec - InSpec: Auditing and Testing Framework
gatekeeper-library - 📚 The OPA Gatekeeper policy library