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 a module type of the same name, which allows you to specify files to validate. Each module then creates a Garden test that becomes part of your Stack Graph.
Note that, in many cases, you'll actually want to use more specific providers that can automatically configure your conftest
modules, 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
modules. Simply add this provider to your project configuration, and see the conftest module 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
modules.
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.
Configuration Keys
providers[]
providers[]
array[object]
[]
No
providers[].name
providers[].name
providers > name
The name of the provider plugin to use.
string
Yes
Example:
providers[].dependencies[]
providers[].dependencies[]
providers > dependencies
List other providers that should be resolved before this one.
array[string]
[]
No
Example:
providers[].environments[]
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.
array[string]
No
Example:
providers[].policyPath
providers[].policyPath
providers > policyPath
Path to the default policy directory or rego file to use for conftest
modules.
posixPath
"./policy"
No
providers[].namespace
providers[].namespace
providers > namespace
Default policy namespace to use for conftest
modules.
string
No
providers[].testFailureThreshold
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.
string
"error"
No
Last updated