v1beta1

package
v0.0.0-...-f89bcde Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 9 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          = v1beta2.VerificationTrue
	VerificationFalse         = v1beta2.VerificationFalse
	VerificationStageImage    = v1beta2.VerificationStageImage
	VerificationStageBuild    = v1beta2.VerificationStageBuild
	VerificationStageSign     = v1beta2.VerificationStageSign
	VerificationStageRequeued = v1beta2.VerificationStageRequeued
	VerificationStageDone     = v1beta2.VerificationStageDone
)

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 = v1beta2.CRBaseStatus

+kubebuilder:object:generate=false

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

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

	// +optional
	// InTreeModulesToRemove specifies any number of  in-tree kernel modules that should be removed (if present)
	// before loading the kernel module from the ContainerImage
	InTreeModulesToRemove []string `json:"inTreeModulesToRemove"`
}

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.
	// This field can only be unset if rawArgs is set.
	// +optional
	ModuleName string `json:"moduleName,omitempty"`

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

type ModuleConfig

type ModuleConfig struct {
	KernelVersion  string `json:"kernelVersion"`
	ContainerImage string `json:"containerImage"`
	// When InsecurePull is true, the container image can be pulled without TLS.
	InsecurePull bool `json:"insecurePull"`
	//+optional
	InTreeModulesToRemove []string `json:"inTreeModulesToRemove,omitempty"`
	//+optional
	InTreeModuleToRemove string       `json:"inTreeModuleToRemove,omitempty"`
	Modprobe             ModprobeSpec `json:"modprobe"`
}

func (*ModuleConfig) DeepCopy

func (in *ModuleConfig) DeepCopy() *ModuleConfig

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

func (*ModuleConfig) DeepCopyInto

func (in *ModuleConfig) DeepCopyInto(out *ModuleConfig)

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

type ModuleItem

type ModuleItem struct {
	ImageRepoSecret    *v1.LocalObjectReference `json:"imageRepoSecret,omitempty"`
	Name               string                   `json:"name"`
	Namespace          string                   `json:"namespace"`
	ServiceAccountName string                   `json:"serviceAccountName"`
}

func (*ModuleItem) DeepCopy

func (in *ModuleItem) DeepCopy() *ModuleItem

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

func (*ModuleItem) DeepCopyInto

func (in *ModuleItem) DeepCopyInto(out *ModuleItem)

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

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

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

	// +optional
	// InTreeModulesToRemove specifies any number of  in-tree kernel modules that should be removed (if present)
	// before loading the kernel module from the ContainerImage
	InTreeModulesToRemove []string `json:"inTreeModulesToRemove"`
}

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 NodeModuleSpec

type NodeModuleSpec struct {
	ModuleItem `json:",inline"`

	Config ModuleConfig `json:"config"`
}

func (*NodeModuleSpec) DeepCopy

func (in *NodeModuleSpec) DeepCopy() *NodeModuleSpec

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

func (*NodeModuleSpec) DeepCopyInto

func (in *NodeModuleSpec) DeepCopyInto(out *NodeModuleSpec)

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

type NodeModuleStatus

type NodeModuleStatus struct {
	ModuleItem `json:",inline"`

	//+optional
	Config ModuleConfig `json:"config,omitempty"`
	//+optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

func (*NodeModuleStatus) DeepCopy

func (in *NodeModuleStatus) DeepCopy() *NodeModuleStatus

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

func (*NodeModuleStatus) DeepCopyInto

func (in *NodeModuleStatus) DeepCopyInto(out *NodeModuleStatus)

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

type NodeModulesConfig

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

	Spec   NodeModulesConfigSpec   `json:"spec,omitempty"`
	Status NodeModulesConfigStatus `json:"status,omitempty"`
}

NodeModulesConfig keeps spec and state of the KMM modules on a node. +kubebuilder:resource:path=nodemodulesconfigs,scope=Cluster +kubebuilder:resource:path=nodemodulesconfigs,scope=Cluster,shortName=nmc +operator-sdk:csv:customresourcedefinitions:displayName="Node Modules Config"

func (*NodeModulesConfig) DeepCopy

func (in *NodeModulesConfig) DeepCopy() *NodeModulesConfig

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

func (*NodeModulesConfig) DeepCopyInto

func (in *NodeModulesConfig) DeepCopyInto(out *NodeModulesConfig)

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

func (*NodeModulesConfig) DeepCopyObject

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

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

type NodeModulesConfigList

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

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

NodeModulesConfigList is a list of NodeModulesConfig objects.

func (*NodeModulesConfigList) DeepCopy

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

func (*NodeModulesConfigList) DeepCopyInto

func (in *NodeModulesConfigList) DeepCopyInto(out *NodeModulesConfigList)

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

func (*NodeModulesConfigList) DeepCopyObject

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

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

type NodeModulesConfigSpec

type NodeModulesConfigSpec struct {
	// Modules list the spec of all the modules that need to be executed
	// on the node
	Modules []NodeModuleSpec `json:"modules,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

NodeModulesConfigSpec describes the desired state of modules on the node More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status +kubebuilder:validation:Required

func (*NodeModulesConfigSpec) DeepCopy

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

func (*NodeModulesConfigSpec) DeepCopyInto

func (in *NodeModulesConfigSpec) DeepCopyInto(out *NodeModulesConfigSpec)

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

type NodeModulesConfigStatus

type NodeModulesConfigStatus struct {
	// Modules contain observations about each Module's node state status
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Modules []NodeModuleStatus `json:"modules,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

NodeModuleConfigStatus is the most recently observed status of the KMM modules on node. 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 (*NodeModulesConfigStatus) DeepCopy

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

func (*NodeModulesConfigStatus) DeepCopyInto

func (in *NodeModulesConfigStatus) DeepCopyInto(out *NodeModulesConfigStatus)

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,shortName=pfv +kubebuilder:deprecatedversion +operator-sdk:csv:customresourcedefinitions:displayName="Preflight Validation"

func (*PreflightValidation) ConvertFrom

func (p *PreflightValidation) ConvertFrom(srcRaw conversion.Hub) error

func (*PreflightValidation) ConvertTo

func (p *PreflightValidation) ConvertTo(dstRaw conversion.Hub) error

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 PreflightValidationOCP

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

	Spec   v1beta2.PreflightValidationOCPSpec `json:"spec,omitempty"`
	Status PreflightValidationStatus          `json:"status,omitempty"`
}

PreflightValidationOCP initiates a preflight validations for all Modules on the current OCP cluster. +kubebuilder:resource:path=preflightvalidationsocp,scope=Cluster +kubebuilder:resource:path=preflightvalidationsocp,scope=Cluster,shortName=pfvo +operator-sdk:csv:customresourcedefinitions:displayName="Preflight Validation OCP"

func (*PreflightValidationOCP) ConvertFrom

func (p *PreflightValidationOCP) ConvertFrom(srcRaw conversion.Hub) error

func (*PreflightValidationOCP) ConvertTo

func (p *PreflightValidationOCP) ConvertTo(dstRaw conversion.Hub) error

func (*PreflightValidationOCP) DeepCopy

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

func (*PreflightValidationOCP) DeepCopyInto

func (in *PreflightValidationOCP) DeepCopyInto(out *PreflightValidationOCP)

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

func (*PreflightValidationOCP) DeepCopyObject

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

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

type PreflightValidationOCPList

type PreflightValidationOCPList 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 []PreflightValidationOCP `json:"items"`
}

PreflightValidationList is a list of PreflightValidation objects.

func (*PreflightValidationOCPList) DeepCopy

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

func (*PreflightValidationOCPList) DeepCopyInto

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

func (*PreflightValidationOCPList) DeepCopyObject

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

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

type PreflightValidationOCPSpec

type PreflightValidationOCPSpec = v1beta2.PreflightValidationOCPSpec

PreflightValidationOCPSpec describes the desired state of the resource, such as the OCP release image that Module CRs need to be verified against as well as the push image flag More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status +kubebuilder:validation:Required +kubebuilder:object:generate=false

type PreflightValidationSpec

type PreflightValidationSpec = v1beta2.PreflightValidationSpec

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 +kubebuilder:object:generate=false

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