v1alpha1

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

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

View Source
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
)
View Source
const GroupName = "chainsaw.kyverno.io"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
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 Any added in v0.1.4

type Any = v1alpha1.Any

Any represents any type.

type Apply

type Apply 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"`

	// 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

func (in *Apply) DeepCopy() *Apply

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Apply.

func (*Apply) DeepCopyInto

func (in *Apply) DeepCopyInto(out *Apply)

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"`

	// 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

func (in *Assert) DeepCopy() *Assert

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Assert.

func (*Assert) DeepCopyInto

func (in *Assert) DeepCopyInto(out *Assert)

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"`

	// 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

func (in *Catch) DeepCopy() *Catch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Catch.

func (*Catch) DeepCopyInto added in v0.0.4

func (in *Catch) DeepCopyInto(out *Catch)

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"`
}

func (*Cluster) DeepCopy added in v0.1.5

func (in *Cluster) DeepCopy() *Cluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.

func (*Cluster) DeepCopyInto added in v0.1.5

func (in *Cluster) DeepCopyInto(out *Cluster)

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"`

	// 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

func (in *Command) DeepCopy() *Command

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Command.

func (*Command) DeepCopyInto added in v0.0.2

func (in *Command) DeepCopyInto(out *Command)

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.
	// +kubebuilder:default:="chainsaw-test.yaml"
	// +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"`
}

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"`

	// 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

func (in *Create) DeepCopy() *Create

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Create.

func (*Create) DeepCopyInto added in v0.0.4

func (in *Create) DeepCopyInto(out *Create)

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"`

	// 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

func (in *Delete) DeepCopy() *Delete

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Delete.

func (*Delete) DeepCopyInto

func (in *Delete) DeepCopyInto(out *Delete)

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"`

	// Resource type.
	Resource string `json:"resource"`

	// 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

func (in *Describe) DeepCopy() *Describe

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Describe.

func (*Describe) DeepCopyInto added in v0.1.4

func (in *Describe) DeepCopyInto(out *Describe)

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"`

	// 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

func (in *Error) DeepCopy() *Error

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Error.

func (*Error) DeepCopyInto

func (in *Error) DeepCopyInto(out *Error)

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

func (in *Events) DeepCopy() *Events

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Events.

func (*Events) DeepCopyInto added in v0.0.2

func (in *Events) DeepCopyInto(out *Events)

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

func (in *FileRef) DeepCopy() *FileRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileRef.

func (*FileRef) DeepCopyInto

func (in *FileRef) DeepCopyInto(out *FileRef)

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"`

	// 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

func (in *Finally) DeepCopy() *Finally

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Finally.

func (*Finally) DeepCopyInto added in v0.0.4

func (in *Finally) DeepCopyInto(out *Finally)

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:Enum:=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"`

	// Resource type.
	Resource string `json:"resource"`

	// 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

func (in *Get) DeepCopy() *Get

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Get.

func (*Get) DeepCopyInto added in v0.1.5

func (in *Get) DeepCopyInto(out *Get)

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

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 {
	// 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 {
	// 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"`
}

Operation defines a single operation, only one action is permitted for a given operation.

func (*Operation) DeepCopy added in v0.0.4

func (in *Operation) DeepCopy() *Operation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Operation.

func (*Operation) DeepCopyInto added in v0.0.4

func (in *Operation) DeepCopyInto(out *Operation)

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"`

	// 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

func (in *Patch) DeepCopy() *Patch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patch.

func (*Patch) DeepCopyInto added in v0.1.5

func (in *Patch) DeepCopyInto(out *Patch)

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"`

	// 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 collect pod logs.

func (*PodLogs) DeepCopy added in v0.0.2

func (in *PodLogs) DeepCopy() *PodLogs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodLogs.

func (*PodLogs) DeepCopyInto added in v0.0.2

func (in *PodLogs) DeepCopyInto(out *PodLogs)

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 {
	// 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"`

	// 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

func (in *Script) DeepCopy() *Script

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Script.

func (*Script) DeepCopyInto added in v0.0.2

func (in *Script) DeepCopyInto(out *Script)

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

func (in *Sleep) DeepCopy() *Sleep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sleep.

func (*Sleep) DeepCopyInto added in v0.0.8

func (in *Sleep) DeepCopyInto(out *Sleep)

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

func (in *Test) DeepCopy() *Test

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Test.

func (*Test) DeepCopyInto

func (in *Test) DeepCopyInto(out *Test)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Test) DeepCopyObject

func (in *Test) DeepCopyObject() runtime.Object

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"`

	// Steps defining the test.
	Steps []TestSpecStep `json:"steps"`

	// 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

func (in *TestSpec) DeepCopy() *TestSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestSpec.

func (*TestSpec) DeepCopyInto

func (in *TestSpec) DeepCopyInto(out *TestSpec)

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"`

	// TestStepSpec of the step.
	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

func (in *TestStep) DeepCopy() *TestStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestStep.

func (*TestStep) DeepCopyInto

func (in *TestStep) DeepCopyInto(out *TestStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TestStep) DeepCopyObject

func (in *TestStep) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

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"`

	// 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 (t Timeouts) ApplyDuration() time.Duration

func (Timeouts) AssertDuration added in v0.0.8

func (t Timeouts) AssertDuration() time.Duration

func (Timeouts) CleanupDuration added in v0.0.8

func (t Timeouts) CleanupDuration() time.Duration

func (Timeouts) Combine added in v0.0.8

func (t Timeouts) Combine(override *Timeouts) Timeouts

func (*Timeouts) DeepCopy added in v0.0.3

func (in *Timeouts) DeepCopy() *Timeouts

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeouts.

func (*Timeouts) DeepCopyInto added in v0.0.3

func (in *Timeouts) DeepCopyInto(out *Timeouts)

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 (t Timeouts) DeleteDuration() time.Duration

func (Timeouts) ErrorDuration added in v0.0.8

func (t Timeouts) ErrorDuration() time.Duration

func (Timeouts) ExecDuration added in v0.0.8

func (t Timeouts) ExecDuration() time.Duration

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL