gatekeeper-library VS conftest

Compare gatekeeper-library vs conftest and see what are their differences.

conftest

Write tests against structured configuration data using the Open Policy Agent Rego query language (by open-policy-agent)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
gatekeeper-library conftest
8 9
603 2,785
1.3% 1.0%
8.8 8.5
12 days ago 10 days ago
Open Policy Agent Go
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

gatekeeper-library

Posts with mentions or reviews of gatekeeper-library. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-10.
  • Multi-tenancy in Kubernetes
    13 projects | dev.to | 10 Apr 2023
    Here is a library or rules for the Open Policy Agent.
  • open-policy-agent/gatekeeper-library: The OPA Gatekeeper policy library.
    1 project | /r/devopsish | 8 Mar 2023
  • Security scanning of k8s manifest files vs running cluster
    1 project | /r/kubernetes | 28 Sep 2022
    https://github.com/open-policy-agent/gatekeeper-library is the library of OPA Gatekeeper policies.
  • OPA Rego is ridiculously confusing - best way to learn it?
    6 projects | /r/kubernetes | 20 Sep 2022
  • Container security best practices: Comprehensive guide
    17 projects | dev.to | 16 Nov 2021
    Many more examples are available in the OPA Gatekeeper library project!
  • Expose Open Policy Agent/Gatekeeper Constraint Violations for Kubernetes Applications with Prometheus and Grafana
    9 projects | dev.to | 18 Jun 2021
    by default and exposes metrics on path ```/metrics``` . It can run locally on your development box as long as you have a valid Kubernetes configuration in your home folder (i.e. if you can run kubectl and have the right permissions). When running on the cluster a ```incluster``` parameter is passed in so that it knows where to look up for the cluster credentials. Exporter program connects to Kubernetes API every 10 seconds to scrape data from Kubernetes API. We've used [this](https://medium.com/teamzerolabs/15-steps-to-write-an-application-prometheus-exporter-in-go-9746b4520e26) blog post as the base for the code. ## Demo Let's go ahead and prepare our components so that we have a Grafana dashboard to show us which constraints have been violated and how the number of violations evolve over time. ### 0) Required tools - [Git](https://git-scm.com/downloads): A git cli is required to checkout the repo and - [Kubectl](https://kubernetes.io/docs/tasks/tools/) and a working K8S cluster - [Ytt](https://carvel.dev/ytt/): This is a very powerful yaml templating tool, in our setup it's used for dynamically overlaying a key/value pair in all constraints. It's similar to Kustomize, it's more flexibel than Kustomize and heavily used in some [Tanzu](https://tanzu.vmware.com/tanzu) products. - [Kustomize](https://kustomize.io/): Gatekeeper-library relies on Kustomize, so we need it too. - [Helm](https://helm.sh/): We will install Prometheus and Grafana using helm - Optional: [Docker](https://www.docker.com/products/docker-desktop): Docker is only optional as we already publish the required image on dockerhub. ### 1) Git submodule update Run ```git submodule update --init``` to download gatekeeper-library dependency. This command will download the [gatekeeper-library](https://github.com/open-policy-agent/gatekeeper-library) dependency into folder ```gatekeeper-library/library``` . ### 2) Install OPA/Gatekeeper If your K8S cluster does not come with Gatekeeper preinstalled, you can use install it as explained [here](https://open-policy-agent.github.io/gatekeeper/website/docs/install/). If you are familiar with helm, the easiest way to install is as follows: ```bash helm repo add gatekeeper https://open-policy-agent.github.io/gatekeeper/charts helm install gatekeeper/gatekeeper --generate-name
  • Who is doing image scanning on an admission controller? (Open source)
    3 projects | /r/kubernetes | 12 Feb 2021
    Gatekeeper library has example policies for restricting image repositories: https://github.com/open-policy-agent/gatekeeper-library/tree/master/library/general
  • Mental models for understanding Kubernetes Pod Security Policy PSP
    4 projects | /r/kubernetes | 16 Jan 2021
    You should check out the Gatekeeper project. There's plenty of templates available for use without having to write a single line of rego for most use cases (e.g https://github.com/open-policy-agent/gatekeeper-library)

conftest

Posts with mentions or reviews of conftest. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-28.
  • Validation on list(object) variables
    1 project | /r/Terraform | 8 May 2023
    I wrote following conftest.dev (OPA), sample policy
  • The default.go file meaning
    1 project | /r/golang | 22 Apr 2023
  • Introducing Conftest and setting up CI with Github Actions to automate reviewing of Terraform code
    3 projects | dev.to | 28 Dec 2021
    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
    28 projects | dev.to | 18 Oct 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
    2 projects | dev.to | 25 Jun 2021
    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
    1 project | dev.to | 25 Jun 2021
    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*!!!!
    1 project | /r/devopsish | 18 Jun 2021
    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
    12 projects | dev.to | 2 May 2021
    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
    4 projects | /r/kubernetes | 16 Jan 2021
    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?

When comparing gatekeeper-library and conftest you can also consider the following projects:

OPA (Open Policy Agent) - Open Policy Agent (OPA) is an open source, general-purpose policy engine.

checkov - Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.

helm-charts - Prometheus community Helm charts

terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.

opa-scorecard

tfsec - Security scanner for your Terraform code [Moved to: https://github.com/aquasecurity/tfsec]

tfsec - Security scanner for your Terraform code

tflint - A Pluggable Terraform Linter

opa-image-scanner - Kubernetes Admission Controller for Image Scanning using OPA

inspec - InSpec: Auditing and Testing Framework

docker-bench-security - The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.

Kyverno - Kubernetes Native Policy Management