v1beta1

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 31, 2023 License: Apache-2.0 Imports: 13 Imported by: 3

Documentation

Overview

Package v1beta1 contains API Schema definitions for the kmm v1beta1 API group +kubebuilder:object:generate=true +groupName=kmm.sigs.x-k8s.io

Index

Constants

View Source
const (
	VerificationTrue          string = "True"
	VerificationFalse         string = "False"
	VerificationStageImage    string = "Image"
	VerificationStageBuild    string = "Build"
	VerificationStageSign     string = "Sign"
	VerificationStageRequeued string = "Requeued"
	VerificationStageDone     string = "Done"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "kmm.sigs.x-k8s.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Build

type Build struct {
	// +optional
	// BuildArgs is an array of build variables that are provided to the image building backend.
	BuildArgs []BuildArg `json:"buildArgs"`

	// ConfigMap that holds Dockerfile contents
	DockerfileConfigMap *v1.LocalObjectReference `json:"dockerfileConfigMap"`

	// +optional
	// BaseImageRegistryTLS contains settings determining how to access registries of the base images in the build-process' Dockerfile.
	BaseImageRegistryTLS TLSOptions `json:"baseImageRegistryTLS,omitempty"`

	// +optional
	// Secrets is an optional list of secrets to be made available to the build system.
	// Those secrets should be used for private resources such as a private Github repo.
	// For container registries auth use module.spec.imagePullSecret instead.
	Secrets []v1.LocalObjectReference `json:"secrets"`

	// +optional
	// KanikoParams is used to customize the building process of the image.
	KanikoParams *KanikoParams `json:"kanikoParams,omitempty"`

	// +optional
	// Selector describes on which nodes will run the building process.
	Selector map[string]string `json:"selector,omitempty"`
}

func (*Build) DeepCopy

func (in *Build) DeepCopy() *Build

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

func (*Build) DeepCopyInto

func (in *Build) DeepCopyInto(out *Build)

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

type BuildArg

type BuildArg struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

BuildArg represents a build argument used when building a container image.

func (*BuildArg) DeepCopy

func (in *BuildArg) DeepCopy() *BuildArg

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

func (*BuildArg) DeepCopyInto

func (in *BuildArg) DeepCopyInto(out *BuildArg)

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

type CRStatus

type CRStatus struct {
	// Status of Module CR verification: true (verified), false (verification failed),
	// error (error during verification process), unknown (verification has not started yet)
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=True;False
	VerificationStatus string `json:"verificationStatus"`

	// StatusReason contains a string describing the status source.
	// +optional
	StatusReason string `json:"statusReason,omitempty"`

	// Current stage of the verification process:
	// image (image existence verification), build(build process verification)
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=Image;Build;Sign;Requeued;Done
	VerificationStage string `json:"verificationStage"`

	// LastTransitionTime is the last time the CR status transitioned from one status to another.
	// This should be when the underlying status changed.  If that is not known, then using the time when the API field changed is acceptable.
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=date-time
	LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,4,opt,name=lastTransitionTime"`
}

func (*CRStatus) DeepCopy

func (in *CRStatus) DeepCopy() *CRStatus

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

func (*CRStatus) DeepCopyInto

func (in *CRStatus) DeepCopyInto(out *CRStatus)

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

type DaemonSetStatus

type DaemonSetStatus struct {
	// number of nodes that are targeted by the module selector
	NodesMatchingSelectorNumber int32 `json:"nodesMatchingSelectorNumber,omitempty"`
	// number of the pods that should be deployed for daemonset
	DesiredNumber int32 `json:"desiredNumber,omitempty"`
	// number of the actually deployed and running pods
	AvailableNumber int32 `json:"availableNumber,omitempty"`
}

DaemonSetStatus contains the status for a daemonset deployed during reconciliation loop

func (*DaemonSetStatus) DeepCopy

func (in *DaemonSetStatus) DeepCopy() *DaemonSetStatus

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

func (*DaemonSetStatus) DeepCopyInto

func (in *DaemonSetStatus) DeepCopyInto(out *DaemonSetStatus)

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

type DevicePluginContainerSpec

type DevicePluginContainerSpec struct {
	// Entrypoint array. Not executed within a shell.
	// The container image's ENTRYPOINT is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
	// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
	// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
	// of whether the variable exists or not. Cannot be updated.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	// +optional
	Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"`

	// Arguments to the entrypoint.
	// The container image's CMD is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
	// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
	// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
	// of whether the variable exists or not. Cannot be updated.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	// +optional
	Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"`

	// List of environment variables to set in the container.
	// Cannot be updated.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	Env []v1.EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"`

	// Image is the name of the container image that the device plugin container will run.
	Image string `json:"image"`

	// Image pull policy.
	// One of Always, Never, IfNotPresent.
	// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	// +optional
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty" protobuf:"bytes,14,opt,name=imagePullPolicy,casttype=PullPolicy"`

	// Compute Resources required by this container.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// +optional
	Resources v1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"`

	// VolumeMounts is a list of volume mounts that are appended to the default ones.
	// +optional
	VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`
}

func (*DevicePluginContainerSpec) DeepCopy

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

func (*DevicePluginContainerSpec) DeepCopyInto

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

type DevicePluginSpec

type DevicePluginSpec struct {
	Container DevicePluginContainerSpec `json:"container"`

	// +optional
	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	Volumes []v1.Volume `json:"volumes,omitempty"`
}

func (*DevicePluginSpec) DeepCopy

func (in *DevicePluginSpec) DeepCopy() *DevicePluginSpec

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

func (*DevicePluginSpec) DeepCopyInto

func (in *DevicePluginSpec) DeepCopyInto(out *DevicePluginSpec)

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

type KanikoParams

type KanikoParams struct {
	// +optional
	// Kaniko image tag to use when creating the build Job
	Tag string `json:"tag,omitempty"`
}

func (*KanikoParams) DeepCopy

func (in *KanikoParams) DeepCopy() *KanikoParams

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

func (*KanikoParams) DeepCopyInto

func (in *KanikoParams) DeepCopyInto(out *KanikoParams)

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

type KernelMapping

type KernelMapping struct {

	// +optional
	// Build enables in-cluster builds for this mapping and allows overriding the Module's build settings.
	Build *Build `json:"build"`

	// +optional
	// Sign enables in-cluster signing for this mapping
	Sign *Sign `json:"sign,omitempty"`

	// ContainerImage is the name of the DriverContainer image that should be used to deploy the module.
	ContainerImage string `json:"containerImage"`

	// +optional
	// Literal defines a literal target kernel version to be matched exactly against node kernels.
	Literal string `json:"literal"`

	// +optional
	// RegistryTLS set the TLS configs for accessing the registry of the module-loader's image.
	RegistryTLS *TLSOptions `json:"registryTLS"`

	// +optional
	// Regexp is a regular expression to be match against node kernels.
	Regexp string `json:"regexp"`

	// +optional
	// InTreeModuleToRemove specifies the in-tree kernel module that should be removed (if present)
	// before loading the kernel module from the ContainerImage
	InTreeModuleToRemove string `json:"inTreeModuleToRemove"`
}

KernelMapping pairs kernel versions with a DriverContainer image. Kernel versions can be matched literally or using a regular expression.

func (*KernelMapping) DeepCopy

func (in *KernelMapping) DeepCopy() *KernelMapping

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

func (*KernelMapping) DeepCopyInto

func (in *KernelMapping) DeepCopyInto(out *KernelMapping)

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

type ModprobeArgs

type ModprobeArgs struct {
	// Load is an optional list of arguments to be used when loading the kernel module.
	// +kubebuilder:validation:MinItems=1
	Load []string `json:"load,omitempty"`

	// Unload is an optional list of arguments to be used when unloading the kernel module.
	// +kubebuilder:validation:MinItems=1
	Unload []string `json:"unload,omitempty"`
}

func (*ModprobeArgs) DeepCopy

func (in *ModprobeArgs) DeepCopy() *ModprobeArgs

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

func (*ModprobeArgs) DeepCopyInto

func (in *ModprobeArgs) DeepCopyInto(out *ModprobeArgs)

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

type ModprobeSpec

type ModprobeSpec struct {
	// ModuleName is the name of the Module to be loaded.
	ModuleName string `json:"moduleName"`

	// Parameters is an optional list of kernel module parameters to be provided to modprobe.
	// They should be in the form of key=value and will be separated by spaces in the modprobe command.
	// The resulting loading command will be: `modprobe module_name ${Parameters}`.
	Parameters []string `json:"parameters,omitempty"`

	// DirName is the root directory for modules.
	// It adds `-d ${DirName}` to the modprobe command-line.
	// +kubebuilder:default=/opt
	DirName string `json:"dirName,omitempty"`

	// Args is an optional list of arguments to be passed to modprobe before the name of the kernel module.
	// The resulting commands will be: `modprobe ${Args} module_name`.
	// +optional
	Args *ModprobeArgs `json:"args,omitempty"`

	// If RawArgs are specified, they are passed straight to the modprobe binary; all other properties in this
	// object are ignored.
	// The resulting commands will be: `modprobe ${RawArgs}`.
	// +optional
	RawArgs *ModprobeArgs `json:"rawArgs,omitempty"`

	// FirmwarePath is the path of the firmware(s).
	// The firmware(s) will be copied to the host for the kernel to find them.
	// +optional
	FirmwarePath string `json:"firmwarePath,omitempty"`

	// ModulesLoadingOrder defines the dependency between kernel modules loading, in case
	// it was not created by depmod (independent kernel modules).
	// The list order should be: upmost module, then the module it depends on and so on.
	// Example: if moduleA depends on first loading moduleB, and moduleB depends on first loading moduleC
	// the entry should look:
	// ModulesLoadingOrder:
	//    - moduleA
	//    - moduleB
	//    - moduleC
	// In order to load all 3 modules, moduleA shoud be defined in the ModuleName parameter of this struct
	// +optional
	ModulesLoadingOrder []string `json:"modulesLoadingOrder,omitempty"`
}

func (*ModprobeSpec) DeepCopy

func (in *ModprobeSpec) DeepCopy() *ModprobeSpec

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

func (*ModprobeSpec) DeepCopyInto

func (in *ModprobeSpec) DeepCopyInto(out *ModprobeSpec)

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

type Module

type Module struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ModuleSpec   `json:"spec,omitempty"`
	Status ModuleStatus `json:"status,omitempty"`
}

Module describes how to load a module on different kernel versions +operator-sdk:csv:customresourcedefinitions:displayName="Module"

func (*Module) DeepCopy

func (in *Module) DeepCopy() *Module

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

func (*Module) DeepCopyInto

func (in *Module) DeepCopyInto(out *Module)

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

func (*Module) DeepCopyObject

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

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

func (*Module) SetupWebhookWithManager added in v1.1.0

func (m *Module) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Module) ValidateCreate added in v1.1.0

func (m *Module) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Module) ValidateDelete added in v1.1.0

func (m *Module) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Module) ValidateUpdate added in v1.1.0

func (m *Module) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ModuleList

type ModuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Module `json:"items"`
}

ModuleList contains a list of Module

func (*ModuleList) DeepCopy

func (in *ModuleList) DeepCopy() *ModuleList

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

func (*ModuleList) DeepCopyInto

func (in *ModuleList) DeepCopyInto(out *ModuleList)

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

func (*ModuleList) DeepCopyObject

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

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

type ModuleLoaderContainerSpec

type ModuleLoaderContainerSpec struct {
	// Build contains build instructions.
	// +optional
	Build *Build `json:"build,omitempty"`

	// +optional
	// Sign provides default kmod signing settings
	Sign *Sign `json:"sign,omitempty"`

	// Version defines the current version of the kernel module being used
	// Used for upgrading the currently loaded kernel module to a new version
	// +optional
	Version string `json:"version,omitempty"`

	// ContainerImage is a top-level field
	// +optional
	ContainerImage string `json:"containerImage,omitempty"`

	// Image pull policy.
	// One of Always, Never, IfNotPresent.
	// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	// +optional
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty" protobuf:"bytes,14,opt,name=imagePullPolicy,casttype=PullPolicy"`

	// KernelMappings is a list of kernel mappings.
	// When a node's labels match Selector, then the KMM Operator will look for the first mapping that matches its
	// kernel version, and use the corresponding container image to run the DriverContainer.
	// +kubebuilder:validation:MinItems=1
	KernelMappings []KernelMapping `json:"kernelMappings"`

	// Modprobe is a set of properties to customize which module modprobe loads and with which properties.
	Modprobe ModprobeSpec `json:"modprobe"`

	// +optional
	// RegistryTLS set the TLS configs for accessing the registry of the module-loader's image.
	RegistryTLS TLSOptions `json:"registryTLS"`

	// +optional
	// InTreeModuleToRemove specifies the in-tree kernel module that should be removed (if present)
	// before loading the kernel module from the ContainerImage
	InTreeModuleToRemove string `json:"inTreeModuleToRemove"`
}

func (*ModuleLoaderContainerSpec) DeepCopy

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

func (*ModuleLoaderContainerSpec) DeepCopyInto

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

type ModuleLoaderSpec

type ModuleLoaderSpec struct {
	// Container holds the properties for the module loader container that runs modprobe.
	Container ModuleLoaderContainerSpec `json:"container"`

	// +optional
	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

func (*ModuleLoaderSpec) DeepCopy

func (in *ModuleLoaderSpec) DeepCopy() *ModuleLoaderSpec

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

func (*ModuleLoaderSpec) DeepCopyInto

func (in *ModuleLoaderSpec) DeepCopyInto(out *ModuleLoaderSpec)

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

type ModuleSpec

type ModuleSpec struct {
	// DevicePlugin allows overriding some properties of the container that deploys the device plugin on the node.
	// Name is ignored and is set automatically by the KMM Operator.
	// +optional
	DevicePlugin *DevicePluginSpec `json:"devicePlugin"`

	// ModuleLoader allows overriding some properties of the container that loads the kernel module on the node.
	// Name and image are ignored and are set automatically by the KMM Operator.
	ModuleLoader ModuleLoaderSpec `json:"moduleLoader"`

	// ImageRepoSecret is an optional secret that is used to pull both the module loader and the device plugin, and
	// to push the resulting image from the module loader build, if enabled.
	// +optional
	ImageRepoSecret *v1.LocalObjectReference `json:"imageRepoSecret,omitempty"`

	// Selector describes on which nodes the Module should be loaded and optionally built.
	Selector map[string]string `json:"selector"`
}

ModuleSpec describes how the KMM operator should deploy a Module on those nodes that need it.

func (*ModuleSpec) DeepCopy

func (in *ModuleSpec) DeepCopy() *ModuleSpec

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

func (*ModuleSpec) DeepCopyInto

func (in *ModuleSpec) DeepCopyInto(out *ModuleSpec)

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

type ModuleStatus

type ModuleStatus struct {
	// DevicePlugin contains the status of the Device Plugin daemonset
	// if it was deployed during reconciliation
	DevicePlugin DaemonSetStatus `json:"devicePlugin,omitempty"`
	// ModuleLoader contains the status of the ModuleLoader daemonset
	ModuleLoader DaemonSetStatus `json:"moduleLoader"`
}

ModuleStatus defines the observed state of Module.

func (*ModuleStatus) DeepCopy

func (in *ModuleStatus) DeepCopy() *ModuleStatus

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

func (*ModuleStatus) DeepCopyInto

func (in *ModuleStatus) DeepCopyInto(out *ModuleStatus)

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

type PreflightValidation

type PreflightValidation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PreflightValidationSpec   `json:"spec,omitempty"`
	Status PreflightValidationStatus `json:"status,omitempty"`
}

PreflightValidation initiates a preflight validations for all Modules on the current Kubernetes cluster. +kubebuilder:resource:path=preflightvalidations,scope=Cluster +kubebuilder:resource:path=preflightvalidations,scope=Cluster,shortName=pfv +operator-sdk:csv:customresourcedefinitions:displayName="Preflight Validation"

func (*PreflightValidation) DeepCopy

func (in *PreflightValidation) DeepCopy() *PreflightValidation

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

func (*PreflightValidation) DeepCopyInto

func (in *PreflightValidation) DeepCopyInto(out *PreflightValidation)

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

func (*PreflightValidation) DeepCopyObject

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

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

type PreflightValidationList

type PreflightValidationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// List of PreflightValidation. More info:
	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
	Items []PreflightValidation `json:"items"`
}

PreflightValidationList is a list of PreflightValidation objects.

func (*PreflightValidationList) DeepCopy

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

func (*PreflightValidationList) DeepCopyInto

func (in *PreflightValidationList) DeepCopyInto(out *PreflightValidationList)

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

func (*PreflightValidationList) DeepCopyObject

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

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

type PreflightValidationSpec

type PreflightValidationSpec struct {
	// KernelVersion describes the kernel image that all Modules need to be checked against.
	// +kubebuilder:validation:Required
	KernelVersion string `json:"kernelVersion"`

	// Boolean flag that determines whether images build during preflight must also
	// be pushed to a defined repository
	// +optional
	PushBuiltImage bool `json:"pushBuiltImage"`
}

PreflightValidationSpec describes the desired state of the resource, such as the kernel version that Module CRs need to be verified against as well as the debug configuration of the logs More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status +kubebuilder:validation:Required

func (*PreflightValidationSpec) DeepCopy

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

func (*PreflightValidationSpec) DeepCopyInto

func (in *PreflightValidationSpec) DeepCopyInto(out *PreflightValidationSpec)

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

type PreflightValidationStatus

type PreflightValidationStatus struct {
	// CRStatuses contain observations about each Module's preflight upgradability validation
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	CRStatuses map[string]*CRStatus `json:"crStatuses,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PreflightValidationStatus is the most recently observed status of the PreflightValidation. It is populated by the system and is read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

func (*PreflightValidationStatus) DeepCopy

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

func (*PreflightValidationStatus) DeepCopyInto

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

type Sign

type Sign struct {
	// +optional
	// Image to sign, ignored if a Build is present, required otherwise
	UnsignedImage string `json:"unsignedImage,omitempty"`

	// +optional
	// UnsignedImageRegistryTLS contains settings determining how to access registries of the unsigned image.
	UnsignedImageRegistryTLS TLSOptions `json:"unsignedImageRegistryTLS,omitempty"`

	// a secret containing the private key used to sign kernel modules for secureboot
	KeySecret *v1.LocalObjectReference `json:"keySecret"`

	// a secret containing the public key used to sign kernel modules for secureboot
	CertSecret *v1.LocalObjectReference `json:"certSecret"`

	// +optional
	// paths inside the image for the kernel modules to sign (if ommited all kmods are signed)
	FilesToSign []string `json:"filesToSign,omitempty"`
}

func (*Sign) DeepCopy

func (in *Sign) DeepCopy() *Sign

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

func (*Sign) DeepCopyInto

func (in *Sign) DeepCopyInto(out *Sign)

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

type TLSOptions

type TLSOptions struct {

	// +optional
	// If Insecure is true, the operator will be able to access a registry in an insecure (plain HTTP) protocol.
	Insecure bool `json:"insecure,omitempty"`

	// +optional
	// If InsecureSkipTLSVerify, the operator will accept any certificate provided by the registry.
	InsecureSkipTLSVerify bool `json:"insecureSkipTLSVerify,omitempty"`
}

func (*TLSOptions) DeepCopy

func (in *TLSOptions) DeepCopy() *TLSOptions

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

func (*TLSOptions) DeepCopyInto

func (in *TLSOptions) DeepCopyInto(out *TLSOptions)

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

Jump to

Keyboard shortcuts

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