Documentation
¶
Index ¶
Constants ¶
const ( DefaultKataArtifactsDir = "/opt/nvidia-gpu-operator/artifacts/runtimeclasses" DefaultCrioRuntime = "crun" // CRIO runtime CRIO Runtime = "crio" // Containerd runtime Containerd Runtime = "containerd" )
Variables ¶
This section is empty.
Functions ¶
func SanitizeConfig ¶
func SanitizeConfig(c *Config)
SanitizeConfig sanitizes the config struct and removes any invalid runtime class entries
Types ¶
type Artifacts ¶
type Artifacts struct {
// URL is the path to the OCI artifact (payload) containing all artifacts
// associated with a kata runtime class.
URL string `json:"url" yaml:"url"`
// PullSecret is the secret used to pull the OCI artifact.
// +optional
PullSecret string `json:"pullSecret,omitempty" yaml:"pullSecret,omitempty"`
}
Artifacts defines the path to an OCI artifact (payload) containing all artifacts associated with a kata RuntimeClass (e.g. kernel, guest image, initrd, kata configuration) +kubebuilder:object:generate=true
func (*Artifacts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Artifacts.
func (*Artifacts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Config ¶
type Config struct {
// ArtifactsDir is the directory where kata artifacts (e.g. kernel / guest images, configuration, etc.)
// are placed on the local filesystem.
// +kubebuilder:default=/opt/nvidia-gpu-operator/artifacts/runtimeclasses
ArtifactsDir string `json:"artifactsDir,omitempty" yaml:"artifactsDir,omitempty"`
// RuntimeClasses is a list of kata runtime classes to configure.
// +optional
RuntimeClasses []RuntimeClass `json:"runtimeClasses,omitempty" yaml:"runtimeClasses,omitempty"`
}
Config defines the configuration for the kata-manager +kubebuilder:object:root=true +kubebuilder:object:generate=true
func NewDefaultConfig ¶
func NewDefaultConfig() *Config
NewDefaultConfig returns a new default config.
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RuntimeClass ¶
type RuntimeClass struct {
// Name is the name of the kata runtime class.
Name string `json:"name" yaml:"name"`
// NodeSelector specifies the nodeSelector for the RuntimeClass object.
// This ensures pods running with the RuntimeClass only get scheduled
// onto nodes which support it.
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"`
// Artifacts are the kata artifacts associated with the runtime class.
Artifacts Artifacts `json:"artifacts" yaml:"artifacts"`
}
RuntimeClass defines the configuration for a kata RuntimeClass +kubebuilder:object:generate=true
func (*RuntimeClass) DeepCopy ¶
func (in *RuntimeClass) DeepCopy() *RuntimeClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeClass.
func (*RuntimeClass) DeepCopyInto ¶
func (in *RuntimeClass) DeepCopyInto(out *RuntimeClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.