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 Any
- type Apply
- type Assert
- type Binding
- type Catch
- type Check
- type Cluster
- type Command
- type Condition
- type Configuration
- type ConfigurationSpec
- type Create
- type Delete
- type Deletion
- type Describe
- type Error
- type Events
- type Expectation
- type FileRef
- type FileRefOrCheck
- type FileRefOrResource
- type Finally
- type For
- type Format
- type Get
- type JsonPath
- type Match
- type ObjectLabelsSelector
- type ObjectReference
- type ObjectSelector
- type ObjectType
- type Operation
- type Output
- type Patch
- type PodLogs
- type ReportFormatType
- type ResourceReference
- type Script
- type Sleep
- type Test
- type TestSpec
- type TestStep
- type TestStepSpec
- type Timeouts
- func (t Timeouts) ApplyDuration() time.Duration
- func (t Timeouts) AssertDuration() time.Duration
- func (t Timeouts) CleanupDuration() time.Duration
- func (t Timeouts) Combine(override *Timeouts) Timeouts
- func (in *Timeouts) DeepCopy() *Timeouts
- func (in *Timeouts) DeepCopyInto(out *Timeouts)
- func (t Timeouts) DeleteDuration() time.Duration
- func (t Timeouts) ErrorDuration() time.Duration
- func (t Timeouts) ExecDuration() time.Duration
- type Update
- type Wait
Constants ¶
const ( DefaultApplyTimeout = 5 * time.Second DefaultAssertTimeout = 30 * time.Second DefaultCleanupTimeout = 30 * time.Second DefaultDeleteTimeout = 15 * time.Second DefaultErrorTimeout = 30 * time.Second DefaultExecTimeout = 5 * time.Second )
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 { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Outputs defines output bindings. // +optional Outputs []Output `json:"outputs,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // FileRefOrResource provides a reference to the resources to be applied. FileRefOrResource `json:",inline"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,omitempty"` // DryRun determines whether the file should be applied in dry run mode. // +optional DryRun *bool `json:"dryRun,omitempty"` // Expect defines a list of matched checks to validate the operation outcome. // +optional Expect []Expectation `json:"expect,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 { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // FileRefOrAssert provides a reference to the assertion. FileRefOrCheck `json:",inline"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,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 Binding ¶ added in v0.1.7
type Binding struct { // Name the name of the binding. // +kubebuilder:validation:Pattern=`^(?:\w+|\(.+\))$` Name string `json:"name"` // Value value of the binding. // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Value Any `json:"value"` }
Binding represents a key/value set as a binding in an executing test.
func (*Binding) DeepCopy ¶ added in v0.1.7
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Binding.
func (*Binding) DeepCopyInto ¶ added in v0.1.7
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 { // Description contains a description of the operation. // +optional Description string `json:"description,omitempty"` // 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"` // Describe determines the resource describe collector to execute. // +optional Describe *Describe `json:"describe,omitempty"` // Wait determines the resource wait collector to execute. // +optional Wait *Wait `json:"wait,omitempty"` // Get determines the resource get collector to execute. // +optional Get *Get `json:"get,omitempty"` // Delete represents a deletion 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"` // Sleep defines zzzz. // +optional Sleep *Sleep `json:"sleep,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 Check ¶ added in v0.0.7
type Check = Any
Check represents a check to be applied on the result of an operation.
type Cluster ¶ added in v0.1.5
type Cluster struct { // Kubeconfig is the path to the referenced file. Kubeconfig string `json:"kubeconfig"` // Context is the name of the context to use. // +optional Context string `json:"context,omitempty"` }
Cluster defines cluster config and context.
func (*Cluster) DeepCopy ¶ added in v0.1.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶ added in v0.1.5
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 { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Outputs defines output bindings. // +optional Outputs []Output `json:"outputs,omitempty"` // Env defines additional environment variables. // +optional Env []Binding `json:"env,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // 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"` // Check is an assertion tree to validate the operation outcome. // +optional Check *Check `json:"check,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 Condition ¶ added in v0.1.7
type Condition struct { // Name defines the specific condition to wait for, e.g., "Available", "Ready". Name string `json:"name"` // Value defines the specific condition status to wait for, e.g., "True", "False". // +optional Value *string `json:"value,omitempty"` }
Condition represents parameters for waiting on a specific condition of a resource.
func (*Condition) DeepCopy ¶ added in v0.1.7
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶ added in v0.1.7
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"` // If set, do not delete the resources after running the tests (implies SkipClusterDelete). // +optional SkipDelete bool `json:"skipDelete,omitempty"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,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"` // ReportPath defines the path. // +optional ReportPath string `json:"reportPath,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"` // NamespaceTemplate defines a template to create the test namespace. // +optional NamespaceTemplate *Any `json:"namespaceTemplate,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"` // TestFile is the name of the file containing the test to run. // If no extension is provided, chainsaw will try with .yaml first and .yml if needed. // +kubebuilder:default:="chainsaw-test" // +optional TestFile string `json:"testFile,omitempty"` // ForceTerminationGracePeriod forces the termination grace period on pods, statefulsets, daemonsets and deployments. // +optional ForceTerminationGracePeriod *metav1.Duration `json:"forceTerminationGracePeriod,omitempty"` // DelayBeforeCleanup adds a delay between the time a test ends and the time cleanup starts. // +optional DelayBeforeCleanup *metav1.Duration `json:"delayBeforeCleanup,omitempty"` // Clusters holds a registry to clusters to support multi-cluster tests. // +optional Clusters map[string]Cluster `json:"clusters,omitempty"` // Catch defines what the tests steps will execute when an error happens. // This will be combined with catch handlers defined at the test and step levels. // +optional Catch []Catch `json:"catch,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 { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Outputs defines output bindings. // +optional Outputs []Output `json:"outputs,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // FileRefOrResource provides a reference to the file containing the resources to be created. FileRefOrResource `json:",inline"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,omitempty"` // DryRun determines whether the file should be applied in dry run mode. // +optional DryRun *bool `json:"dryRun,omitempty"` // Expect defines a list of matched checks to validate the operation outcome. // +optional Expect []Expectation `json:"expect,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 { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,omitempty"` // ObjectReference determines objects to be deleted. ObjectReference `json:"ref"` // Expect defines a list of matched checks to validate the operation outcome. // +optional Expect []Expectation `json:"expect,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 Deletion ¶ added in v0.1.7
type Deletion struct{}
Deletion represents parameters for waiting on a resource's deletion.
func (*Deletion) DeepCopy ¶ added in v0.1.7
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Deletion.
func (*Deletion) DeepCopyInto ¶ added in v0.1.7
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Describe ¶ added in v0.1.4
type Describe struct { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // ResourceReference referenced resource type. ResourceReference `json:",inline"` // ObjectLabelsSelector determines the selection process of referenced objects. ObjectLabelsSelector `json:",inline"` // Show Events indicates whether to include related events. // +optional ShowEvents *bool `json:"showEvents,omitempty"` }
Describe defines how to describe resources.
func (*Describe) DeepCopy ¶ added in v0.1.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Describe.
func (*Describe) DeepCopyInto ¶ added in v0.1.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Error ¶
type Error struct { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // FileRefOrAssert provides a reference to the expected error. FileRefOrCheck `json:",inline"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,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 { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // ObjectLabelsSelector determines the selection process of referenced objects. ObjectLabelsSelector `json:",inline"` // Format determines the output format (json or yaml). // +optional Format Format `json:"format,omitempty"` }
Events defines how to collect 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 Expectation ¶ added in v0.0.7
type Expectation struct { // Match defines the matching statement. // +optional Match *Match `json:"match,omitempty"` // Check defines the verification statement. Check Check `json:"check"` }
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.
func (*Expectation) DeepCopy ¶ added in v0.0.7
func (in *Expectation) DeepCopy() *Expectation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Expectation.
func (*Expectation) DeepCopyInto ¶ added in v0.0.7
func (in *Expectation) DeepCopyInto(out *Expectation)
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. This can be a direct path to a file // or an expression that matches multiple files, such as "manifest/*.yaml" for all YAML // files within the "manifest" directory. File string `json:"file,omitempty"` }
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 FileRefOrCheck ¶ added in v0.1.2
type FileRefOrCheck struct { // FileRef provides a reference to the file containing the resources to be applied. // +optional FileRef `json:",inline"` // Check provides a check used in assertions. // +optional Check *Check `json:"resource,omitempty"` }
FileRefOrCheck represents a file reference or resource.
func (*FileRefOrCheck) DeepCopy ¶ added in v0.1.2
func (in *FileRefOrCheck) DeepCopy() *FileRefOrCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileRefOrCheck.
func (*FileRefOrCheck) DeepCopyInto ¶ added in v0.1.2
func (in *FileRefOrCheck) DeepCopyInto(out *FileRefOrCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileRefOrResource ¶ added in v0.0.6
type FileRefOrResource struct { // FileRef provides a reference to the file containing the resources to be applied. // +optional FileRef `json:",inline"` // Resource provides a resource to be applied. // +kubebuilder:validation:XEmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields // +optional Resource *unstructured.Unstructured `json:"resource,omitempty"` }
FileRefOrResource represents a file reference or resource.
func (*FileRefOrResource) DeepCopy ¶ added in v0.0.6
func (in *FileRefOrResource) DeepCopy() *FileRefOrResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileRefOrResource.
func (*FileRefOrResource) DeepCopyInto ¶ added in v0.0.6
func (in *FileRefOrResource) DeepCopyInto(out *FileRefOrResource)
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 { // Description contains a description of the operation. // +optional Description string `json:"description,omitempty"` // 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"` // Describe determines the resource describe collector to execute. // +optional Describe *Describe `json:"describe,omitempty"` // Wait determines the resource wait collector to execute. // +optional Wait *Wait `json:"wait,omitempty"` // Get determines the resource get collector to execute. // +optional Get *Get `json:"get,omitempty"` // Delete represents a deletion 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"` // Sleep defines zzzz. // +optional Sleep *Sleep `json:"sleep,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 For ¶ added in v0.1.7
type For struct { // Deletion specifies parameters for waiting on a resource's deletion. // +optional Deletion *Deletion `json:"deletion,omitempty"` // Condition specifies the condition to wait for. // +optional Condition *Condition `json:"condition,omitempty"` // JsonPath specifies the json path condition to wait for. // +optional JsonPath *JsonPath `json:"jsonPath,omitempty"` }
For specifies the condition to wait for.
func (*For) DeepCopy ¶ added in v0.1.7
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new For.
func (*For) DeepCopyInto ¶ added in v0.1.7
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Format ¶ added in v0.1.5
type Format string
Format determines the output format (json or yaml). +kubebuilder:validation:Pattern=`^(?:json|yaml|\(.+\))$`
type Get ¶ added in v0.1.5
type Get struct { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // ResourceReference referenced resource type. ResourceReference `json:",inline"` // ObjectLabelsSelector determines the selection process of referenced objects. ObjectLabelsSelector `json:",inline"` // Format determines the output format (json or yaml). // +optional Format Format `json:"format,omitempty"` }
Get defines how to get resources.
func (*Get) DeepCopy ¶ added in v0.1.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Get.
func (*Get) DeepCopyInto ¶ added in v0.1.5
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JsonPath ¶ added in v0.2.0
type JsonPath struct { // Path defines the json path to wait for, e.g. '{.status.phase}'. Path string `json:"path"` // Value defines the expected value to wait for, e.g., "Running". Value string `json:"value"` }
JsonPath represents parameters for waiting on a json path of a resource.
func (*JsonPath) DeepCopy ¶ added in v0.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JsonPath.
func (*JsonPath) DeepCopyInto ¶ added in v0.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Match ¶ added in v0.1.4
type Match = Any
Match represents a match condition against an evaluated object.
type ObjectLabelsSelector ¶ added in v0.1.5
type ObjectLabelsSelector 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"` }
ObjectLabelsSelector represents a strategy to select objects. For a single object name and namespace are used to identify the object. For multiple objects use selector.
func (*ObjectLabelsSelector) DeepCopy ¶ added in v0.1.5
func (in *ObjectLabelsSelector) DeepCopy() *ObjectLabelsSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectLabelsSelector.
func (*ObjectLabelsSelector) DeepCopyInto ¶ added in v0.1.5
func (in *ObjectLabelsSelector) DeepCopyInto(out *ObjectLabelsSelector)
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 { // ObjectType determines the type of referenced objects. ObjectType `json:",inline"` // ObjectSelector determines the selection process of referenced objects. ObjectSelector `json:",inline"` }
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 ObjectType ¶ added in v0.1.8
type ObjectType struct { // 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"` }
ObjectType represents a specific apiVersion and kind.
func (*ObjectType) DeepCopy ¶ added in v0.1.8
func (in *ObjectType) DeepCopy() *ObjectType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectType.
func (*ObjectType) DeepCopyInto ¶ added in v0.1.8
func (in *ObjectType) DeepCopyInto(out *ObjectType)
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 { // Description contains a description of the operation. // +optional Description string `json:"description,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 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"` // Assert represents an assertion to be made. It checks whether the conditions specified in the assertion hold true. // +optional Assert *Assert `json:"assert,omitempty"` // Command defines a command to run. // +optional Command *Command `json:"command,omitempty"` // Create represents a creation operation. // +optional Create *Create `json:"create,omitempty"` // Delete represents a deletion operation. // +optional Delete *Delete `json:"delete,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"` // Patch represents a patch operation. // +optional Patch *Patch `json:"patch,omitempty"` // Script defines a script to run. // +optional Script *Script `json:"script,omitempty"` // Sleep defines zzzz. // +optional Sleep *Sleep `json:"sleep,omitempty"` // Update represents an update operation. // +optional Update *Update `json:"update,omitempty"` // Wait determines the resource wait collector to execute. // +optional Wait *Wait `json:"wait,omitempty"` }
Operation defines a single operation, only one action is permitted for a given operation.
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 Output ¶ added in v0.1.9
type Output struct { // Binding determines the binding to create when the match succeeds. Binding `json:",inline"` // Match defines the matching statement. // +optional Match *Match `json:"match,omitempty"` }
Output represents an output binding with a match to determine if the binding must be considered or not.
func (*Output) DeepCopy ¶ added in v0.1.9
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Output.
func (*Output) DeepCopyInto ¶ added in v0.1.9
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Patch ¶ added in v0.1.5
type Patch struct { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Outputs defines output bindings. // +optional Outputs []Output `json:"outputs,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // FileRefOrResource provides a reference to the file containing the resources to be patched. FileRefOrResource `json:",inline"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,omitempty"` // DryRun determines whether the file should be applied in dry run mode. // +optional DryRun *bool `json:"dryRun,omitempty"` // Expect defines a list of matched checks to validate the operation outcome. // +optional Expect []Expectation `json:"expect,omitempty"` }
Patch represents a set of resources that should be patched. If a resource doesn't exist yet in the cluster it will fail.
func (*Patch) DeepCopy ¶ added in v0.1.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patch.
func (*Patch) DeepCopyInto ¶ added in v0.1.5
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 { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // ObjectLabelsSelector determines the selection process of referenced objects. ObjectLabelsSelector `json:",inline"` // 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 collect 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 ResourceReference ¶ added in v0.1.8
type ResourceReference struct { // API version of the referent. // +optional APIVersion string `json:"apiVersion,omitempty"` // Kind of the referent. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional Kind string `json:"kind,omitempty"` // Resource name of the referent. // +optional Resource string `json:"resource,omitempty"` }
ResourceReference represents a resource (API), it can be represented with a resource or a kind. Optionally an apiVersion can be specified.
func (*ResourceReference) DeepCopy ¶ added in v0.1.8
func (in *ResourceReference) DeepCopy() *ResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.
func (*ResourceReference) DeepCopyInto ¶ added in v0.1.8
func (in *ResourceReference) DeepCopyInto(out *ResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Script ¶ added in v0.0.2
type Script struct { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Outputs defines output bindings. // +optional Outputs []Output `json:"outputs,omitempty"` // Env defines additional environment variables. // +optional Env []Binding `json:"env,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // 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"` // Check is an assertion tree to validate the operation outcome. // +optional Check *Check `json:"check,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 Sleep ¶ added in v0.0.8
type Sleep struct { // Duration is the delay used for sleeping. Duration metav1.Duration `json:"duration"` }
Sleep represents a duration while nothing happens.
func (*Sleep) DeepCopy ¶ added in v0.0.8
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sleep.
func (*Sleep) DeepCopyInto ¶ added in v0.0.8
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 a 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 { // Description contains a description of the test. // +optional Description string `json:"description,omitempty"` // Timeouts for the test. Overrides the global timeouts set in the Configuration on a per operation basis. // +optional Timeouts *Timeouts `json:"timeouts,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,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"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,omitempty"` // Namespace determines whether the test should run in a random ephemeral namespace or not. // +optional Namespace string `json:"namespace,omitempty"` // NamespaceTemplate defines a template to create the test namespace. // +optional NamespaceTemplate *Any `json:"namespaceTemplate,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Steps defining the test. Steps []TestStep `json:"steps"` // Catch defines what the steps will execute when an error happens. // This will be combined with catch handlers defined at the step level. // +optional Catch []Catch `json:"catch,omitempty"` // ForceTerminationGracePeriod forces the termination grace period on pods, statefulsets, daemonsets and deployments. // +optional ForceTerminationGracePeriod *metav1.Duration `json:"forceTerminationGracePeriod,omitempty"` // DelayBeforeCleanup adds a delay between the time a test ends and the time cleanup starts. // +optional DelayBeforeCleanup *metav1.Duration `json:"delayBeforeCleanup,omitempty"` }
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 TestStep ¶
type TestStep struct { // Name of the step. // +optional Name string `json:"name,omitempty"` // TestStepSpec of the step. TestStepSpec `json:",inline"` }
TestStep contains the test step definition used in a test spec.
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.
type TestStepSpec ¶
type TestStepSpec struct { // Description contains a description of the test step. // +optional Description string `json:"description,omitempty"` // 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,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,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"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Try defines what the step will try to execute. // +kubebuilder:validation:MinItems:=1 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"` // Cleanup defines the timeout for the cleanup operation Cleanup *metav1.Duration `json:"cleanup,omitempty"` // Delete defines the timeout for the delete operation Delete *metav1.Duration `json:"delete,omitempty"` // Error defines the timeout for the error operation Error *metav1.Duration `json:"error,omitempty"` // Exec defines the timeout for exec operations Exec *metav1.Duration `json:"exec,omitempty"` }
Timeouts contains timeouts per operation.
func (Timeouts) ApplyDuration ¶ added in v0.0.8
func (Timeouts) AssertDuration ¶ added in v0.0.8
func (Timeouts) CleanupDuration ¶ added in v0.0.8
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.
func (Timeouts) DeleteDuration ¶ added in v0.0.8
func (Timeouts) ErrorDuration ¶ added in v0.0.8
func (Timeouts) ExecDuration ¶ added in v0.0.8
type Update ¶ added in v0.1.9
type Update struct { // Timeout for the operation. Overrides the global timeout set in the Configuration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Bindings defines additional binding key/values. // +optional Bindings []Binding `json:"bindings,omitempty"` // Outputs defines output bindings. // +optional Outputs []Output `json:"outputs,omitempty"` // Cluster defines the target cluster (default cluster will be used if not specified and/or overridden). // +optional Cluster string `json:"cluster,omitempty"` // FileRefOrResource provides a reference to the file containing the resources to be created. FileRefOrResource `json:",inline"` // Template determines whether resources should be considered for templating. // +optional Template *bool `json:"template,omitempty"` // DryRun determines whether the file should be applied in dry run mode. // +optional DryRun *bool `json:"dryRun,omitempty"` // Expect defines a list of matched checks to validate the operation outcome. // +optional Expect []Expectation `json:"expect,omitempty"` }
Update represents a set of resources that should be updated. If a resource does not exist in the cluster it will fail.
func (*Update) DeepCopy ¶ added in v0.1.9
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Update.
func (*Update) DeepCopyInto ¶ added in v0.1.9
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Wait ¶ added in v0.1.7
type Wait struct { // Timeout for the operation. Specifies how long to wait for the condition to be met before timing out. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Cluster defines the target cluster where the wait operation will be performed (default cluster will be used if not specified). // +optional Cluster string `json:"cluster,omitempty"` // ResourceReference referenced resource type. ResourceReference `json:",inline"` // ObjectLabelsSelector determines the selection process of referenced objects. ObjectLabelsSelector `json:",inline"` // For specifies the condition to wait for. For `json:"for"` // Format determines the output format (json or yaml). // +optional Format Format `json:"format,omitempty"` }
Wait specifies how to perform wait operations on resources.
func (*Wait) DeepCopy ¶ added in v0.1.7
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Wait.
func (*Wait) DeepCopyInto ¶ added in v0.1.7
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- any.go
- apply.go
- assert.go
- binding.go
- catch.go
- check.go
- cluster.go
- command.go
- configuration.go
- configuration_spec.go
- create.go
- delete.go
- describe.go
- doc.go
- error.go
- events.go
- expectation.go
- file_ref.go
- file_ref_or_check.go
- file_ref_or_resource.go
- finally.go
- format.go
- get.go
- match.go
- object_labels_selector.go
- object_reference.go
- object_selector.go
- object_type.go
- operation.go
- output.go
- patch.go
- pod_logs.go
- resource_reference.go
- script.go
- sleep.go
- test.go
- test_spec.go
- test_spec_step.go
- test_step_spec.go
- timeouts.go
- update.go
- wait.go
- wait_condition.go
- wait_deletion.go
- wait_for.go
- wait_jsonpath.go
- zz_generated.deepcopy.go
- zz_generated.register.go