v1alpha1
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group.
Resource Types¶
Configuration
¶
Configuration is the resource that contains the configuration used to run tests.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
apiVersion | string | chainsaw.kyverno.io/v1alpha1 | ||
kind | string | Configuration | ||
metadata | meta/v1.ObjectMeta | Standard object's metadata. | ||
spec | ConfigurationSpec | Configuration spec. |
Test
¶
Test is the resource that contains aa test definition.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
apiVersion | string | chainsaw.kyverno.io/v1alpha1 | ||
kind | string | Test | ||
metadata | meta/v1.ObjectMeta | Standard object's metadata. | ||
spec | TestSpec | Test spec. |
TestStep
¶
TestStep is the resource that contains the testStep used to run tests.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
apiVersion | string | chainsaw.kyverno.io/v1alpha1 | ||
kind | string | TestStep | ||
metadata | meta/v1.ObjectMeta | Standard object's metadata. | ||
spec | TestStepSpec | TestStep spec. |
Apply
¶
Appears in:
Apply represents a set of configurations or resources that should be applied during testing.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
FileRefOrResource | FileRefOrResource | FileRefOrResource provides a reference to the file containing the resources to be applied. | ||
dryRun | bool | DryRun determines whether the file should be applied in dry run mode. | ||
expect | []Expectation | Expect defines a list of matched checks to validate the operation outcome. |
Assert
¶
Appears in:
Assert represents a test condition that is expected to hold true during the testing process.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
FileRef | FileRef | FileRef provides a reference to the file containing the assertion. |
Catch
¶
Appears in:
Catch defines actions to be executed on failure.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
timeout | meta/v1.Duration | Timeout for the operation. Overrides the global timeout set in the Configuration. | ||
podLogs | PodLogs | PodLogs determines the pod logs collector to execute. | ||
events | Events | Events determines the events collector to execute. | ||
command | Command | Command defines a command to run. | ||
script | Script | Script defines a script to run. |
Command
¶
Appears in:
Command describes a command to run as a part of a test step.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
entrypoint | string | Entrypoint is the command entry point to run. | ||
args | []string | Args is the command arguments. | ||
skipLogOutput | bool | SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise. | ||
check | github.com/kyverno/kyverno-json/pkg/apis/v1alpha1.Any | Check is an assertion tree to validate the operation outcome. |
ConfigurationSpec
¶
Appears in:
ConfigurationSpec contains the configuration used to run tests.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
timeouts | Timeouts | Global timeouts configuration. Applies to all tests/test steps if not overridden. | ||
testDirs | []string | Directories containing test cases to run. | ||
skipDelete | bool | If set, do not delete the resources after running the tests (implies SkipClusterDelete). | ||
failFast | bool | FailFast determines whether the test should stop upon encountering the first failure. | ||
parallel | int | The maximum number of tests to run at once. | ||
reportFormat | ReportFormatType | ReportFormat determines test report format (JSON | ||
reportName | string | ReportName defines the name of report to create. It defaults to "chainsaw-report". | ||
namespace | string | Namespace defines the namespace to use for tests. If not specified, every test will execute in a random ephemeral namespace unless the namespace is overridden in a the test spec. | ||
fullName | bool | FullName makes use of the full test case folder path instead of the folder name. | ||
excludeTestRegex | string | ExcludeTestRegex is used to exclude tests based on a regular expression. | ||
includeTestRegex | string | IncludeTestRegex is used to include tests based on a regular expression. | ||
repeatCount | int | RepeatCount indicates how many times the tests should be executed. | ||
testFile | string | TestFile is the name of the file containing the test to run. | ||
forceTerminationGracePeriod | meta/v1.Duration | ForceTerminationGracePeriod forces the termination grace period on pods, statefulsets, daemonsets and deployments. |
Create
¶
Appears in:
Create represents a set of resources that should be created. If a resource already exists in the cluster it will fail.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
FileRefOrResource | FileRefOrResource | FileRefOrResource provides a reference to the file containing the resources to be created. | ||
dryRun | bool | DryRun determines whether the file should be applied in dry run mode. | ||
expect | []Expectation | Expect defines a list of matched checks to validate the operation outcome. |
Delete
¶
Appears in:
Delete is a reference to an object that should be deleted
Field | Type | Required | Inline | Description |
---|---|---|---|---|
ref | ObjectReference | ObjectReference determines objects to be deleted. | ||
check | github.com/kyverno/kyverno-json/pkg/apis/v1alpha1.Any | Check is an assertion tree to validate the operation outcome. |
Error
¶
Appears in:
Error represents an anticipated error condition that may arise during testing. Instead of treating such an error as a test failure, it acknowledges it as expected.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
FileRef | FileRef | FileRef provides a reference to the file containing the expected error. |
Events
¶
Appears in:
Events defines how to collects events.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
namespace | string | Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ | ||
name | string | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | ||
selector | string | Selector defines labels selector. |
Expectation
¶
Appears in:
Expectation represents a check to be applied on the result of an operation with a match filter to determine if the verification should be considered.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
match | github.com/kyverno/kyverno-json/pkg/apis/v1alpha1.Any | Match defines the matching statement. | ||
check | github.com/kyverno/kyverno-json/pkg/apis/v1alpha1.Any | Match defines the matching statement. |
FileRef
¶
Appears in:
FileRef represents a file reference.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
file | string | File is the path to the referenced file. |
FileRefOrResource
¶
Appears in:
FileRefOrResource represents a file reference or resource.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
FileRef | FileRef | FileRef provides a reference to the file containing the resources to be applied. | ||
resource | meta/v1/unstructured.Unstructured | Resource provides a resource to be applied. |
Finally
¶
Appears in:
Finally defines actions to be executed at the end of a test.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
timeout | meta/v1.Duration | Timeout for the operation. Overrides the global timeout set in the Configuration. | ||
podLogs | PodLogs | PodLogs determines the pod logs collector to execute. | ||
events | Events | Events determines the events collector to execute. | ||
command | Command | Command defines a command to run. | ||
script | Script | Script defines a script to run. |
ObjectReference
¶
Appears in:
ObjectReference represents one or more objects with a specific apiVersion and kind. For a single object name and namespace are used to identify the object. For multiple objects use labels.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
ObjectSelector | ObjectSelector | ObjectSelector determines the selection process of referenced objects. | ||
apiVersion | string | API version of the referent. | ||
kind | string | Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
ObjectSelector
¶
Appears in:
ObjectSelector represents a strategy to select objects. For a single object name and namespace are used to identify the object. For multiple objects use labels.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
namespace | string | Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ | ||
name | string | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | ||
labels | map[string]string | Label selector to match objects to delete |
Operation
¶
Appears in:
Operation defines a single operation, only one action is permitted for a given operation.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
timeout | meta/v1.Duration | Timeout for the operation. Overrides the global timeout set in the Configuration. | ||
continueOnError | bool | ContinueOnError determines whether a test should continue or not in case the operation was not successful. Even if the test continues executing, it will still be reported as failed. | ||
apply | Apply | Apply represents resources that should be applied for this test step. This can include things like configuration settings or any other resources that need to be available during the test. | ||
assert | Assert | Assert represents an assertion to be made. It checks whether the conditions specified in the assertion hold true. | ||
command | Command | Command defines a command to run. | ||
create | Create | Create represents a creation operation. | ||
delete | Delete | Delete represents a creation operation. | ||
error | Error | Error represents the expected errors for this test step. If any of these errors occur, the test will consider them as expected; otherwise, they will be treated as test failures. | ||
script | Script | Script defines a script to run. |
PodLogs
¶
Appears in:
PodLogs defines how to collects pod logs.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
namespace | string | Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ | ||
name | string | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | ||
selector | string | Selector defines labels selector. | ||
container | string | Container in pod to get logs from else --all-containers is used. | ||
tail | int | Tail is the number of last lines to collect from pods. If omitted or zero, then the default is 10 if you use a selector, or -1 (all) if you use a pod name. This matches default behavior of |
ReportFormatType
¶
(Alias of string
)
Appears in:
Script
¶
Appears in:
Script describes a script to run as a part of a test step.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
content | string | Content defines a shell script (run with "sh -c ..."). | ||
skipLogOutput | bool | SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise. | ||
check | github.com/kyverno/kyverno-json/pkg/apis/v1alpha1.Any | Check is an assertion tree to validate the operation outcome. |
TestSpec
¶
Appears in:
TestSpec contains the test spec.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
timeouts | Timeouts | Timeouts for the test. Overrides the global timeouts set in the Configuration on a per operation basis. | ||
skip | bool | Skip determines whether the test should skipped. | ||
concurrent | bool | Concurrent determines whether the test should run concurrently with other tests. | ||
skipDelete | bool | SkipDelete determines whether the resources created by the test should be deleted after the test is executed. | ||
namespace | string | Namespace determines whether the test should run in a random ephemeral namespace or not. | ||
steps | []TestSpecStep | Steps defining the test. |
TestSpecStep
¶
Appears in:
TestSpecStep contains the test step definition used in a test spec.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
name | string | Name of the step. | ||
Spec | TestStepSpec | Spec of the step. |
TestStepSpec
¶
Appears in:
TestStepSpec defines the desired state and behavior for each test step.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
timeouts | Timeouts | Timeouts for the test step. Overrides the global timeouts set in the Configuration and the timeouts eventually set in the Test. | ||
skipDelete | bool | SkipDelete determines whether the resources created by the step should be deleted after the test step is executed. | ||
try | []Operation | Try defines what the step will try to execute. | ||
catch | []Catch | Catch defines what the step will execute when an error happens. | ||
finally | []Finally | Finally defines what the step will execute after the step is terminated. |
Timeouts
¶
Appears in:
Timeouts contains timeouts per operation.
Field | Type | Required | Inline | Description |
---|---|---|---|---|
apply | meta/v1.Duration | Apply defines the timeout for the apply operation | ||
assert | meta/v1.Duration | Assert defines the timeout for the assert operation | ||
error | meta/v1.Duration | Error defines the timeout for the error operation | ||
delete | meta/v1.Duration | Delete defines the timeout for the delete operation | ||
cleanup | meta/v1.Duration | Cleanup defines the timeout for the cleanup operation | ||
exec | meta/v1.Duration | Exec defines the timeout for exec operations |