conftest

Description

This provider allows you to validate your configuration files against policies that you specify, using the conftest tool and Open Policy Agent rego query files. The provider creates Test action types of the same name, which allow you to specify files to validate.

Note that, in many cases, you'll actually want to use more specific providers that can automatically configure your conftest actions, e.g. the conftest-container and/or conftest-kubernetes providers. See the conftest example project for a simple usage example of the latter.

If those don't match your needs, you can use this provider directly and manually configure your conftest actions. Simply add this provider to your project configuration, and see the conftest action documentation for a detailed reference. Also, check out the below reference for how to configure default policies, default namespaces, and test failure thresholds for all conftest actions.

Below is the full schema reference for the provider configuration. For an introduction to configuring a Garden project with providers, please look at our configuration guide.

The reference is divided into two sections. The first section contains the complete YAML schema, and the second section describes each schema key.

Complete YAML Schema

The values in the schema below are the default values.

providers:
  - # The name of the provider plugin to use.
    name:

    # List other providers that should be resolved before this one.
    dependencies: []

    # If specified, this provider will only be used in the listed environments. Note that an empty array effectively
    # disables the provider. To use a provider in all environments, omit this field.
    environments:

    # Path to the default policy directory or rego file to use for `conftest` actions.
    policyPath: ./policy

    # Default policy namespace to use for `conftest` actions.
    namespace:

    # Set this to `"warn"` if you'd like tests to be marked as failed if one or more _warn_ rules are matched.
    # Set to `"none"` to always mark the tests as successful.
    testFailureThreshold: error

Configuration Keys

providers[]

TypeDefaultRequired

array[object]

[]

No

providers[].name

providers > name

The name of the provider plugin to use.

TypeRequired

string

Yes

Example:

providers:
  - name: "local-kubernetes"

providers[].dependencies[]

providers > dependencies

List other providers that should be resolved before this one.

TypeDefaultRequired

array[string]

[]

No

Example:

providers:
  - dependencies:
      - exec

providers[].environments[]

providers > environments

If specified, this provider will only be used in the listed environments. Note that an empty array effectively disables the provider. To use a provider in all environments, omit this field.

TypeRequired

array[string]

No

Example:

providers:
  - environments:
      - dev
      - stage

providers[].policyPath

providers > policyPath

Path to the default policy directory or rego file to use for conftest actions.

TypeDefaultRequired

posixPath

"./policy"

No

providers[].namespace

providers > namespace

Default policy namespace to use for conftest actions.

TypeRequired

string

No

providers[].testFailureThreshold

providers > testFailureThreshold

Set this to "warn" if you'd like tests to be marked as failed if one or more warn rules are matched. Set to "none" to always mark the tests as successful.

TypeDefaultRequired

string

"error"

No

Last updated