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 Catch
- type Command
- type Configuration
- type ConfigurationSpec
- type Create
- type Delete
- type Error
- type Events
- type FileRef
- type Finally
- type ObjectReference
- type ObjectSelector
- type Operation
- type PodLogs
- type ReportFormatType
- type Script
- type Test
- type TestSpec
- type TestSpecStep
- type TestStep
- type TestStepSpec
- type Timeouts
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"` }
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"` }
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 Catch ¶ added in v0.0.4
type Catch 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"` // Command defines a command to run. // +optional Command *Command `json:"command,omitempty"` // Script defines a script to run. // +optional Script *Script `json:"script,omitempty"` }
Catch defines actions to be executed on failure.
func (*Catch) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Catch.
func (*Catch) DeepCopyInto ¶ added in v0.0.4
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"` // SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise. // +optional SkipLogOutput bool `json:"skipLogOutput,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 timeouts configuration. Applies to all tests/test steps if not overridden. // +optional Timeouts Timeouts `json:"timeouts"` // 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 Create ¶ added in v0.0.4
type Create 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"` }
Create represents a set of resources that should be created. If a resource already exists in the cluster it will fail.
func (*Create) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Create.
func (*Create) DeepCopyInto ¶ added in v0.0.4
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"` }
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"` }
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 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 Finally ¶ added in v0.0.4
type Finally 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"` // Command defines a command to run. // +optional Command *Command `json:"command,omitempty"` // Script defines a script to run. // +optional Script *Script `json:"script,omitempty"` }
Finally defines actions to be executed at the end of a test.
func (*Finally) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Finally.
func (*Finally) DeepCopyInto ¶ added in v0.0.4
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 Operation ¶ added in v0.0.4
type Operation struct { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,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"` // Assert represents an assertion to be made. It checks whether the conditions specified in the assertion hold true. // +optional Assert *Assert `json:"assert,omitempty"` // 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. // +optional Apply *Apply `json:"apply,omitempty"` // Create represents a creation operation. // +optional Create *Create `json:"create,omitempty"` // 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. // +optional Error *Error `json:"error,omitempty"` // Delete represents a creation operation. // +optional Delete *Delete `json:"delete,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"` }
func (*Operation) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Operation.
func (*Operation) DeepCopyInto ¶ added in v0.0.4
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"` // SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise. // +optional SkipLogOutput bool `json:"skipLogOutput,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 { // Timeouts for the test. Overrides the global timeouts set in the Configuration on a per operation basis. // +optional Timeouts Timeouts `json:"timeouts"` // 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:",inline"` }
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 { // Timeouts for the test step. Overrides the global timeouts set in the Configuration and the timeouts eventually set in the Test. // +optional Timeouts Timeouts `json:"timeouts"` // SkipDelete determines whether the resources created by the step should be deleted after the test step is executed. // +optional SkipDelete *bool `json:"skipDelete,omitempty"` // Try defines what the step will try to execute. Try []Operation `json:"try"` // Catch defines what the step will execute when an error happens. // +optional Catch []Catch `json:"catch,omitempty"` // Finally defines what the step will execute after the step is terminated. // +optional Finally []Finally `json:"finally,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.
type Timeouts ¶ added in v0.0.3
type Timeouts struct { // Apply defines the timeout for the apply operation Apply *metav1.Duration `json:"apply,omitempty"` // Assert defines the timeout for the assert operation Assert *metav1.Duration `json:"assert,omitempty"` // Error defines the timeout for the error operation Error *metav1.Duration `json:"error,omitempty"` // Delete defines the timeout for the delete operation Delete *metav1.Duration `json:"delete,omitempty"` // Cleanup defines the timeout for the cleanup operation Cleanup *metav1.Duration `json:"cleanup,omitempty"` // Exec defines the timeout for exec operations Exec *metav1.Duration `json:"exec,omitempty"` }
Timeouts contains timeouts per operation.
func (*Timeouts) DeepCopy ¶ added in v0.0.3
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeouts.
func (*Timeouts) DeepCopyInto ¶ added in v0.0.3
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- apply.go
- assert.go
- catch.go
- command.go
- configuration.go
- configuration_spec.go
- create.go
- delete.go
- doc.go
- error.go
- events.go
- file_ref.go
- finally.go
- object_reference.go
- object_selector.go
- operation.go
- pod_logs.go
- script.go
- test.go
- test_spec.go
- test_spec_step.go
- test_step.go
- test_step_spec.go
- timeouts.go
- zz_generated.deepcopy.go
- zz_generated.register.go