Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +k8s:deepcopy-gen=package +kubebuilder:object:generate=true +groupName=chainsaw.kyverno.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type Apply
- type Assert
- type Collect
- type Command
- type Configuration
- type ConfigurationSpec
- type Delete
- type Error
- type Events
- type Exec
- type ExecOperation
- type FileRef
- type ObjectReference
- type ObjectSelector
- type OnFailure
- type PodLogs
- type ReportFormatType
- type Script
- type Test
- type TestSpec
- type TestSpecStep
- type TestStep
- type TestStepSpec
Constants ¶
const GroupName = "chainsaw.kyverno.io"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Apply ¶
type Apply struct { // FileRef provides a reference to the file containing the FileRef `json:",inline"` // ShouldFail determines whether applying the file is expected to fail. // +optional ShouldFail *bool `json:"shouldFail,omitempty"` // 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. // +optional ContinueOnError *bool `json:"continueOnError,omitempty"` }
Apply represents a set of configurations or resources that should be applied during testing.
func (*Apply) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Apply.
func (*Apply) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Assert ¶
type Assert struct { // FileRef provides a reference to the file containing the assertion. FileRef `json:",inline"` // 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. // +optional ContinueOnError *bool `json:"continueOnError,omitempty"` }
Assert represents a test condition that is expected to hold true during the testing process.
func (*Assert) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Assert.
func (*Assert) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Collect ¶ added in v0.0.2
type Collect struct { // PodLogs determines the pod logs collector to execute. // +optional PodLogs *PodLogs `json:"podLogs,omitempty"` // Events determines the events collector to execute. // +optional Events *Events `json:"events,omitempty"` }
Collect defines a set of collectors.
func (*Collect) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Collect.
func (*Collect) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Command ¶ added in v0.0.2
type Command struct { // Entrypoint is the command entry point to run. Entrypoint string `json:"entrypoint"` // Args is the command arguments. // +optional Args []string `json:"args,omitempty"` }
Command describes a command to run as a part of a test step.
func (*Command) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Command.
func (*Command) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Configuration ¶
type Configuration struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Configuration spec. Spec ConfigurationSpec `json:"spec"` }
Configuration is the resource that contains the configuration used to run tests.
func (*Configuration) DeepCopy ¶
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶
func (in *Configuration) DeepCopyInto(out *Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Configuration) DeepCopyObject ¶
func (in *Configuration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationSpec ¶
type ConfigurationSpec struct { // Global timeout configuration. Applies to all tests/test steps if not overridden. // +optional // +kubebuilder:default:="30s" Timeout *metav1.Duration `json:"timeout,omitempty"` // Directories containing test cases to run. // +optional TestDirs []string `json:"testDirs,omitempty"` // If set, do not delete the resources after running the tests (implies SkipClusterDelete). // +optional SkipDelete bool `json:"skipDelete,omitempty"` // FailFast determines whether the test should stop upon encountering the first failure. // +optional FailFast bool `json:"failFast,omitempty"` // The maximum number of tests to run at once. // +kubebuilder:validation:Format:=int // +kubebuilder:validation:Minimum:=1 // +optional Parallel *int `json:"parallel,omitempty"` // ReportFormat determines test report format (JSON|XML|nil) nil == no report. // maps to report.Type, however we don't want generated.deepcopy to have reference to it. // +optional // +kubebuilder:validation:Enum=JSON;XML; ReportFormat ReportFormatType `json:"reportFormat,omitempty"` // ReportName defines the name of report to create. It defaults to "chainsaw-report". // +optional // +kubebuilder:default:="chainsaw-report" ReportName string `json:"reportName,omitempty"` // 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. // +optional Namespace string `json:"namespace,omitempty"` // FullName makes use of the full test case folder path instead of the folder name. // +optional FullName bool `json:"fullName,omitempty"` // ExcludeTestRegex is used to exclude tests based on a regular expression. // +optional ExcludeTestRegex string `json:"excludeTestRegex,omitempty"` // IncludeTestRegex is used to include tests based on a regular expression. // +optional IncludeTestRegex string `json:"includeTestRegex,omitempty"` // RepeatCount indicates how many times the tests should be executed. // +kubebuilder:validation:Format:=int // +kubebuilder:validation:Minimum:=1 // +optional RepeatCount *int `json:"repeatCount,omitempty"` }
ConfigurationSpec contains the configuration used to run tests.
func (*ConfigurationSpec) DeepCopy ¶
func (in *ConfigurationSpec) DeepCopy() *ConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationSpec.
func (*ConfigurationSpec) DeepCopyInto ¶
func (in *ConfigurationSpec) DeepCopyInto(out *ConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Delete ¶
type Delete struct { // ObjectReference determines objects to be deleted. ObjectReference `json:",inline"` // 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. // +optional ContinueOnError *bool `json:"continueOnError,omitempty"` }
Delete is a reference to an object that should be deleted
func (*Delete) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Delete.
func (*Delete) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Error ¶
type Error struct { // FileRef provides a reference to the file containing the expected error. FileRef `json:",inline"` // 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. // +optional ContinueOnError *bool `json:"continueOnError,omitempty"` }
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.
func (*Error) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Error.
func (*Error) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Events ¶ added in v0.0.2
type Events struct { // Namespace of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ // +optional Namespace string `json:"namespace,omitempty"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +optional Name string `json:"name,omitempty"` // Selector defines labels selector. // +optional Selector string `json:"selector,omitempty"` }
Events defines how to collects events.
func (*Events) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Events.
func (*Events) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Exec ¶ added in v0.0.2
type Exec struct { // Timeout for the command. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Command defines a command to run. // +optional Command *Command `json:"command,omitempty"` // Script defines a script to run. // +optional Script *Script `json:"script,omitempty"` }
Exec describes a command or script.
func (*Exec) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Exec.
func (*Exec) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecOperation ¶ added in v0.0.2
type ExecOperation struct { // Exec defines the command and/or script. // +optional Exec `json:",inline"` // SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise. // +optional SkipLogOutput bool `json:"skipLogOutput,omitempty"` // 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. // +optional ContinueOnError *bool `json:"continueOnError,omitempty"` }
Exec describes a command and/or script operation.
func (*ExecOperation) DeepCopy ¶ added in v0.0.2
func (in *ExecOperation) DeepCopy() *ExecOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecOperation.
func (*ExecOperation) DeepCopyInto ¶ added in v0.0.2
func (in *ExecOperation) DeepCopyInto(out *ExecOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileRef ¶
type FileRef struct { // File is the path to the referenced file. File string `json:"file"` }
FileRef represents a file reference.
func (*FileRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileRef.
func (*FileRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReference ¶ added in v0.0.2
type ObjectReference struct { // ObjectSelector determines the selection process of referenced objects. ObjectSelector `json:",inline"` // API version of the referent. APIVersion string `json:"apiVersion"` // Kind of the referent. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds Kind string `json:"kind"` }
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.
func (*ObjectReference) DeepCopy ¶ added in v0.0.2
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶ added in v0.0.2
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectSelector ¶ added in v0.0.2
type ObjectSelector struct { // Namespace of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ // +optional Namespace string `json:"namespace,omitempty"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +optional Name string `json:"name,omitempty"` // Label selector to match objects to delete // +optional Labels map[string]string `json:"labels,omitempty"` }
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.
func (*ObjectSelector) DeepCopy ¶ added in v0.0.2
func (in *ObjectSelector) DeepCopy() *ObjectSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectSelector.
func (*ObjectSelector) DeepCopyInto ¶ added in v0.0.2
func (in *ObjectSelector) DeepCopyInto(out *ObjectSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OnFailure ¶ added in v0.0.2
type OnFailure struct { // Collect define the collectors to run. // +optional Collect *Collect `json:"collect,omitempty"` // Exec define the commands and/or scripts to run. // +optional Exec *Exec `json:"exec,omitempty"` }
OnFailure defines actions to be executed on failure.
func (*OnFailure) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OnFailure.
func (*OnFailure) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodLogs ¶ added in v0.0.2
type PodLogs struct { // Namespace of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ // +optional Namespace string `json:"namespace,omitempty"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +optional Name string `json:"name,omitempty"` // Selector defines labels selector. // +optional Selector string `json:"selector,omitempty"` // Container in pod to get logs from else --all-containers is used. // +optional Container string `json:"container,omitempty"` // 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 `kubectl logs`. // +optional Tail *int `json:"tail,omitempty"` }
PodLogs defines how to collects pod logs.
func (*PodLogs) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodLogs.
func (*PodLogs) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReportFormatType ¶
type ReportFormatType string
const ( JSONFormat ReportFormatType = "JSON" XMLFormat ReportFormatType = "XML" NoReport ReportFormatType = "" )
type Script ¶ added in v0.0.2
type Script struct { // Content defines a shell script (run with "sh -c ..."). // +optional Content string `json:"content,omitempty"` }
Script describes a script to run as a part of a test step.
func (*Script) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Script.
func (*Script) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Test ¶
type Test struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Test spec. Spec TestSpec `json:"spec"` }
Test is the resource that contains aa test definition.
func (*Test) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Test.
func (*Test) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Test) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TestSpec ¶
type TestSpec struct { // Timeout for the test. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Skip determines whether the test should skipped. // +optional Skip *bool `json:"skip,omitempty"` // Concurrent determines whether the test should run concurrently with other tests. // +optional Concurrent *bool `json:"concurrent,omitempty"` // SkipDelete determines whether the resources created by the test should be deleted after the test is executed. // +optional SkipDelete *bool `json:"skipDelete,omitempty"` // Namespace determines whether the test should run in a random ephemeral namespace or not. // +optional Namespace string `json:"namespace,omitempty"` // Steps defining the test. Steps []TestSpecStep `json:"steps"` }
TestSpec contains the test spec.
func (*TestSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestSpec.
func (*TestSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestSpecStep ¶
type TestSpecStep struct { // Name of the step. // +optional Name string `json:"name,omitempty"` // Spec of the step. Spec TestStepSpec `json:"spec"` }
TestSpecStep contains the test step definition used in a test spec.
func (*TestSpecStep) DeepCopy ¶
func (in *TestSpecStep) DeepCopy() *TestSpecStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestSpecStep.
func (*TestSpecStep) DeepCopyInto ¶
func (in *TestSpecStep) DeepCopyInto(out *TestSpecStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestStep ¶
type TestStep struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // TestStep spec. Spec TestStepSpec `json:"spec"` }
TestStep is the resource that contains the testStep used to run tests.
func (*TestStep) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestStep.
func (*TestStep) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TestStep) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TestStepSpec ¶
type TestStepSpec struct { // Timeout for the test step. Overrides the global timeout set in the Configuration and the timeout eventually set in the Test. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // SkipDelete determines whether the resources created by the step should be deleted after the test step is executed. // +optional SkipDelete *bool `json:"skipDelete,omitempty"` // Assert represents the assertions to be made for this test step. It checks whether the conditions // specified in each assertion hold true. // +optional Assert []Assert `json:"assert,omitempty"` // Apply lists the 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. // +optional Apply []Apply `json:"apply,omitempty"` // Error lists 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. // +optional Error []Error `json:"error,omitempty"` // Delete provides a list of objects that should be deleted before this test step is executed. // This helps in ensuring that the environment is set up correctly before the test step runs. // +optional Delete []Delete `json:"delete,omitempty"` // Exec provides a list of commands and/or scripts that should be executed as a part of this test step. // +optional Exec []ExecOperation `json:"exec,omitempty"` // OnFailure defines actions to be executed in case of step failure. // +optional OnFailure []OnFailure `json:"onFailure,omitempty"` }
TestStepSpec defines the desired state and behavior for each test step.
func (*TestStepSpec) DeepCopy ¶
func (in *TestStepSpec) DeepCopy() *TestStepSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestStepSpec.
func (*TestStepSpec) DeepCopyInto ¶
func (in *TestStepSpec) DeepCopyInto(out *TestStepSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- apply.go
- assert.go
- collect.go
- command.go
- configuration.go
- configuration_spec.go
- delete.go
- doc.go
- error.go
- events.go
- exec.go
- exec_operation.go
- file_ref.go
- object_reference.go
- object_selector.go
- on_failure.go
- pod_logs.go
- script.go
- test.go
- test_spec.go
- test_spec_step.go
- test_step.go
- test_step_spec.go
- zz_generated.deepcopy.go
- zz_generated.register.go