v1beta1

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: Apache-2.0 Imports: 15 Imported by: 3

Documentation

Overview

Package v1beta1 contains a v1beta1 api for bootstrap resources.

+k8s:deepcopy-gen=package

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

Index

Constants

View Source
const (
	// DataSecretGenerationFailedReason (Severity=Warning) documents a RKE2Config controller detecting
	// an error while generating a data secret; those kind of errors are usually due to misconfigurations
	// and user intervention is required to get them fixed.
	DataSecretGenerationFailedReason string = "DataSecretGenerationFailed"

	// WaitingForClusterInfrastructureReason (Severity=Info) document a bootstrap secret generation process
	// waiting for the cluster infrastructure to be ready.
	//
	// NOTE: Having the cluster infrastructure ready is a pre-condition for starting to create machines.
	WaitingForClusterInfrastructureReason string = "WaitingForClusterInfrastructure"
)
View Source
const (
	// CertificatesAvailableCondition documents the status of the certificates generation process.
	CertificatesAvailableCondition clusterv1.ConditionType = "CertificatesAvailable"

	// CertificatesGenerationFailedReason documents a RKE2Config controller detecting
	// an error while generating certificates; those kind of errors are usually due to misconfigurations
	// and user intervention is required to get them fixed.
	CertificatesGenerationFailedReason string = "CertificateGenerationFailed"
)
View Source
const (
	// DataSecretAvailableCondition documents the status of the bootstrap secret generation process.
	//
	// NOTE: When the DataSecret generation starts the process completes immediately and within the
	// same reconciliation, so the user will always see a transition from Wait to Generated without having
	// to wait for the next reconciliation.
	DataSecretAvailableCondition clusterv1.ConditionType = "Available"
)

Variables

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = schemeBuilder.AddToScheme
)
View Source
var RKE2configtemplatelog = logf.Log.WithName("RKE2configtemplate-resource")

RKE2configtemplatelog is for logging in this package.

Functions

func DefaultRKE2ConfigSpec

func DefaultRKE2ConfigSpec(spec *RKE2ConfigSpec)

DefaultRKE2ConfigSpec defaults the RKE2ConfigSpec.

func ValidateRKE2ConfigSpec

func ValidateRKE2ConfigSpec(_ string, spec *RKE2ConfigSpec) field.ErrorList

ValidateRKE2ConfigSpec validates the RKE2ConfigSpec.

Types

type AdditionalUserData

type AdditionalUserData struct {
	// In case of using ignition, the data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/
	// NOTE: All fields of the UserData that are managed by the RKE2Config controller will be ignored, this include "write_files", "runcmd", "ntp".
	// +optional
	Config string `json:"config,omitempty"`

	// Data allows to pass arbitrary set of key/value pairs consistent with
	// https://cloudinit.readthedocs.io/en/latest/reference/modules.html
	// to extend existing cloud-init configuration
	Data map[string]string `json:"data,omitempty"`

	// Strict controls if Config should be strictly parsed. If so, warnings are treated as errors.
	// +optional
	Strict bool `json:"strict,omitempty"`
}

AdditionalUserData is a field that allows users to specify additional cloud-init configuration . +kubebuilder:validation:XValidation:rule="!has(self.data) || !has(self.config)", message="Only config or data could be populated at once"

func (*AdditionalUserData) DeepCopy

func (in *AdditionalUserData) DeepCopy() *AdditionalUserData

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

func (*AdditionalUserData) DeepCopyInto

func (in *AdditionalUserData) DeepCopyInto(out *AdditionalUserData)

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

type CISProfile

type CISProfile string

CISProfile defines the CIS Benchmark profile to be activated in RKE2.

const (
	// CIS references RKE2's CIS Profile "cis".
	CIS CISProfile = "cis"

	// CIS1_23 references RKE2's CIS Profile "cis-1.23".
	CIS1_23 CISProfile = "cis-1.23"

	// CIS1_5 references RKE2's CIS Profile "cis-1.5".
	CIS1_5 CISProfile = "cis-1.5"

	// CIS1_6 references RKE2's CIS Profile "cis-1.6".
	CIS1_6 CISProfile = "cis-1.6"
)

type ComponentConfig

type ComponentConfig struct {
	// ExtraEnv is a map of environment variables to pass on to a Kubernetes Component command.
	//+optional
	ExtraEnv map[string]string `json:"extraEnv,omitempty"`

	// ExtraArgs is a list of command line arguments (format: flag=value) to pass to a Kubernetes Component command.
	//+optional
	ExtraArgs []string `json:"extraArgs,omitempty"`

	// ExtraMounts is a map of volume mounts to be added for the Kubernetes component StaticPod
	//+optional
	ExtraMounts map[string]string `json:"extraMounts,omitempty"`

	// OverrideImage is a string that references a container image to override the default one for the Kubernetes Component
	//+optional
	OverrideImage string `json:"overrideImage,omitempty"`
}

ComponentConfig defines the configuration for a Kubernetes Component.

func (*ComponentConfig) DeepCopy

func (in *ComponentConfig) DeepCopy() *ComponentConfig

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

func (*ComponentConfig) DeepCopyInto

func (in *ComponentConfig) DeepCopyInto(out *ComponentConfig)

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

type Encoding

type Encoding string

Encoding specifies the cloud-init file encoding.

const (
	// Base64 implies the contents of the file are encoded as base64.
	Base64 Encoding = "base64"
	// Gzip implies the contents of the file are encoded with gzip.
	Gzip Encoding = "gzip"
	// GzipBase64 implies the contents of the file are first base64 encoded and then gzip encoded.
	GzipBase64 Encoding = "gzip+base64"
)

type File

type File struct {
	// Path specifies the full path on disk where to store the file.
	Path string `json:"path"`

	// Owner specifies the ownership of the file, e.g. "root:root".
	//+optional
	Owner string `json:"owner,omitempty"`

	// Permissions specifies the permissions to assign to the file, e.g. "0640".
	//+optional
	Permissions string `json:"permissions,omitempty"`

	// Encoding specifies the encoding of the file contents.
	// +kubebuilder:validation:Enum=base64;gzip;gzip+base64
	//+optional
	Encoding Encoding `json:"encoding,omitempty"`

	// Content is the actual content of the file.
	//+optional
	Content string `json:"content,omitempty"`

	// ContentFrom is a referenced source of content to populate the file.
	//+optional
	ContentFrom *FileSource `json:"contentFrom,omitempty"`
}

File defines the input for generating write_files in cloud-init.

func (*File) DeepCopy

func (in *File) DeepCopy() *File

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

func (*File) DeepCopyInto

func (in *File) DeepCopyInto(out *File)

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

type FileSource

type FileSource struct {
	// SecretFileSource represents a secret that should populate this file.
	Secret SecretFileSource `json:"secret"`
}

FileSource is a union of all possible external source types for file data. Only one field may be populated in any given instance. Developers adding new sources of data for target systems should add them here.

func (*FileSource) DeepCopy

func (in *FileSource) DeepCopy() *FileSource

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

func (*FileSource) DeepCopyInto

func (in *FileSource) DeepCopyInto(out *FileSource)

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

type Format

type Format string

Format specifies the output format of the bootstrap data +kubebuilder:validation:Enum=cloud-config;ignition

const (
	// CloudConfig make the bootstrap data to be of cloud-config format.
	CloudConfig Format = "cloud-config"

	// Ignition make the bootstrap data to be of Ignition format.
	Ignition Format = "ignition"
)

type Mirror

type Mirror struct {
	// Endpoints are endpoints for a namespace. CRI plugin will try the endpoints
	// one by one until a working one is found. The endpoint must be a valid url
	// with host specified.
	// The scheme, host and path from the endpoint URL will be used.
	//+optional
	Endpoint []string `json:"endpoint,omitempty"`

	// Rewrites are repository rewrite rules for a namespace. When fetching image resources
	// from an endpoint and a key matches the repository via regular expression matching
	// it will be replaced with the corresponding value from the map in the resource request.
	//+optional
	Rewrite map[string]string `json:"rewrite,omitempty"`
}

Mirror contains the config related to the registry mirror.

func (*Mirror) DeepCopy

func (in *Mirror) DeepCopy() *Mirror

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

func (*Mirror) DeepCopyInto

func (in *Mirror) DeepCopyInto(out *Mirror)

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

type NTP

type NTP struct {
	// Servers specifies which NTP servers to use
	// +optional
	Servers []string `json:"servers,omitempty"`

	// Enabled specifies whether NTP should be enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
}

NTP defines input for generated ntp in cloud-init.

func (*NTP) DeepCopy

func (in *NTP) DeepCopy() *NTP

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

func (*NTP) DeepCopyInto

func (in *NTP) DeepCopyInto(out *NTP)

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

type RKE2AgentConfig

type RKE2AgentConfig struct {
	// DataDir Folder to hold state.
	//+optional
	DataDir string `json:"dataDir,omitempty"`

	// NodeLabels  Registering and starting kubelet with set of labels.
	//+optional
	NodeLabels []string `json:"nodeLabels,omitempty"`

	// NodeAnnotations  are annotations that are created on nodes post bootstrap phase.
	// Unfortunately it is not possible to apply annotations via kubelet
	// using current bootstrap configurations.
	// Issue: https://github.com/kubernetes/kubernetes/issues/108046
	//+optional
	NodeAnnotations map[string]string `json:"nodeAnnotations,omitempty"`

	// NodeTaints Registering kubelet with set of taints.
	//+optional
	NodeTaints []string `json:"nodeTaints,omitempty"`

	// NodeNamePrefix Prefix to the Node Name that CAPI will generate.
	//+optional
	NodeNamePrefix string `json:"nodeName,omitempty"`

	// NTP specifies NTP configuration
	// +optional
	NTP *NTP `json:"ntp,omitempty"`

	// ImageCredentialProviderConfigMap is a reference to the ConfigMap that contains credential provider plugin config
	// The config map should contain a key "credential-config.yaml" with YAML file content and
	// a key "credential-provider-binaries" with the a path to the binaries for the credential provider.
	//+optional
	ImageCredentialProviderConfigMap *corev1.ObjectReference `json:"imageCredentialProviderConfigMap,omitempty"`

	// ContainerRuntimeEndpoint Disable embedded containerd and use alternative CRI implementation.
	//+optional
	ContainerRuntimeEndpoint string `json:"containerRuntimeEndpoint,omitempty"`

	// Snapshotter override default containerd snapshotter (default: "overlayfs").
	//+optional
	Snapshotter string `json:"snapshotter,omitempty"`

	// CISProfile activates CIS compliance of RKE2 for a certain profile
	// +kubebuilder:validation:Enum=cis;cis-1.23;cis-1.5;cis-1.6
	//+optional
	CISProfile CISProfile `json:"cisProfile,omitempty"`

	// PodSecurityPolicyConfigFile contains the path to the PodSecurityPolicy configuration file. The file can be passed through
	// spec.Files field.
	//+optional
	PodSecurityAdmissionConfigFile string `json:"podSecurityAdmissionConfigFile,omitempty"`

	// ResolvConf is a reference to a ConfigMap containing resolv.conf content for the node.
	//+optional
	ResolvConf *corev1.ObjectReference `json:"resolvConf,omitempty"`

	// ProtectKernelDefaults defines Kernel tuning behavior. If true, error if kernel tunables are different than kubelet defaults.
	// if false, kernel tunable can be different from kubelet defaults
	//+optional
	ProtectKernelDefaults bool `json:"protectKernelDefaults,omitempty"`

	// SystemDefaultRegistry Private registry to be used for all system images.
	//+optional
	SystemDefaultRegistry string `json:"systemDefaultRegistry,omitempty"`

	// EnableContainerdSElinux defines the policy for enabling SELinux for Containerd
	// if value is true, Containerd will run with selinux-enabled=true flag
	// if value is false, Containerd will run without the above flag
	//+optional
	EnableContainerdSElinux bool `json:"enableContainerdSElinux,omitempty"`

	// KubeletPath Override kubelet binary path.
	//+optional
	KubeletPath string `json:"kubeletPath,omitempty"`

	// KubeletArgs Customized flag for kubelet process.
	//+optional
	Kubelet *ComponentConfig `json:"kubelet,omitempty"`

	// KubeProxyArgs Customized flag for kube-proxy process.
	//+optional
	KubeProxy *ComponentConfig `json:"kubeProxy,omitempty"`

	// RuntimeImage override image to use for runtime binaries (containerd, kubectl, crictl, etc).
	//+optional
	RuntimeImage string `json:"runtimeImage,omitempty"`

	// LoadBalancerPort local port for supervisor client load-balancer. If the supervisor and apiserver are
	// not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer (default: 6444).
	//+optional
	LoadBalancerPort int `json:"loadBalancerPort,omitempty"`

	// AirGapped is a boolean value to define if the bootstrapping should be air-gapped,
	// basically supposing that online container registries and RKE2 install scripts are not reachable.
	AirGapped bool `json:"airGapped,omitempty"`

	// AirGappedChecksum is a string value with a sha256sum checksum to compare with checksum
	// of existing sha256sum-<arch>.txt file for packages already available on the machine
	// before performing air-gapped installation.
	//+optional
	AirGappedChecksum string `json:"airGappedChecksum,omitempty"`

	// Format specifies the output format of the bootstrap data. Defaults to cloud-config.
	// +optional
	Format Format `json:"format,omitempty"`

	// AdditionalUserData is a field that allows users to specify additional cloud-init or ignition configuration to be included in the
	// generated cloud-init/ignition script.
	//+optional
	AdditionalUserData AdditionalUserData `json:"additionalUserData,omitempty"`
}

RKE2AgentConfig describes some attributes that are common to agent and server nodes.

func (*RKE2AgentConfig) DeepCopy

func (in *RKE2AgentConfig) DeepCopy() *RKE2AgentConfig

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

func (*RKE2AgentConfig) DeepCopyInto

func (in *RKE2AgentConfig) DeepCopyInto(out *RKE2AgentConfig)

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

type RKE2Config

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

	Spec   RKE2ConfigSpec   `json:"spec,omitempty"`
	Status RKE2ConfigStatus `json:"status,omitempty"`
}

RKE2Config is the Schema for the rke2configs API.

func (*RKE2Config) DeepCopy

func (in *RKE2Config) DeepCopy() *RKE2Config

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

func (*RKE2Config) DeepCopyInto

func (in *RKE2Config) DeepCopyInto(out *RKE2Config)

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

func (*RKE2Config) DeepCopyObject

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

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

func (*RKE2Config) Default

func (r *RKE2Config) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*RKE2Config) GetConditions

func (r *RKE2Config) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for a RKE2Config.

func (*RKE2Config) Hub

func (*RKE2Config) Hub()

Hub is a conversion hub for RKE2Config.

func (*RKE2Config) SetConditions

func (r *RKE2Config) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the conditions for a RKE2Config.

func (*RKE2Config) SetupWebhookWithManager

func (r *RKE2Config) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*RKE2Config) ValidateCreate

func (r *RKE2Config) ValidateCreate() (admission.Warnings, error)

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

func (*RKE2Config) ValidateDelete

func (r *RKE2Config) ValidateDelete() (admission.Warnings, error)

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

func (*RKE2Config) ValidateUpdate

func (r *RKE2Config) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

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

type RKE2ConfigList

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

RKE2ConfigList contains a list of RKE2Config.

func (*RKE2ConfigList) DeepCopy

func (in *RKE2ConfigList) DeepCopy() *RKE2ConfigList

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

func (*RKE2ConfigList) DeepCopyInto

func (in *RKE2ConfigList) DeepCopyInto(out *RKE2ConfigList)

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

func (*RKE2ConfigList) DeepCopyObject

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

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

func (*RKE2ConfigList) Hub

func (*RKE2ConfigList) Hub()

Hub is a conversion hub for RKE2ConfigList.

type RKE2ConfigSpec

type RKE2ConfigSpec struct {
	// Files specifies extra files to be passed to user_data upon creation.
	//+optional
	Files []File `json:"files,omitempty"`

	// PreRKE2Commands specifies extra commands to run before rke2 setup runs.
	//+optional
	PreRKE2Commands []string `json:"preRKE2Commands,omitempty"`

	// PostRKE2Commands specifies extra commands to run after rke2 setup runs.
	//+optional
	PostRKE2Commands []string `json:"postRKE2Commands,omitempty"`

	// AgentConfig specifies configuration for the agent nodes.
	//+optional
	AgentConfig RKE2AgentConfig `json:"agentConfig,omitempty"`

	// PrivateRegistriesConfig defines the containerd configuration for private registries and local registry mirrors.
	//+optional
	PrivateRegistriesConfig Registry `json:"privateRegistriesConfig,omitempty"`
}

RKE2ConfigSpec defines the desired state of RKE2Config.

func (*RKE2ConfigSpec) DeepCopy

func (in *RKE2ConfigSpec) DeepCopy() *RKE2ConfigSpec

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

func (*RKE2ConfigSpec) DeepCopyInto

func (in *RKE2ConfigSpec) DeepCopyInto(out *RKE2ConfigSpec)

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

type RKE2ConfigStatus

type RKE2ConfigStatus struct {
	// Ready indicates the BootstrapData field is ready to be consumed.
	Ready bool `json:"ready,omitempty"`

	// DataSecretName is the name of the secret that stores the bootstrap data script.
	//+optional
	DataSecretName *string `json:"dataSecretName,omitempty"`

	// FailureReason will be set on non-retryable errors.
	//+optional
	FailureReason string `json:"failureReason,omitempty"`

	// FailureMessage will be set on non-retryable errors.
	//+optional
	FailureMessage string `json:"failureMessage,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	//+optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions defines current service state of the RKE2Config.
	//+optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

RKE2ConfigStatus defines the observed state of RKE2Config.

func (*RKE2ConfigStatus) DeepCopy

func (in *RKE2ConfigStatus) DeepCopy() *RKE2ConfigStatus

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

func (*RKE2ConfigStatus) DeepCopyInto

func (in *RKE2ConfigStatus) DeepCopyInto(out *RKE2ConfigStatus)

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

type RKE2ConfigTemplate

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

	// Spec details the RKE2ConfigTemplate specification.
	Spec RKE2ConfigTemplateSpec `json:"spec"`
}

RKE2ConfigTemplate is the Schema for the RKE2configtemplates API.

func (*RKE2ConfigTemplate) DeepCopy

func (in *RKE2ConfigTemplate) DeepCopy() *RKE2ConfigTemplate

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

func (*RKE2ConfigTemplate) DeepCopyInto

func (in *RKE2ConfigTemplate) DeepCopyInto(out *RKE2ConfigTemplate)

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

func (*RKE2ConfigTemplate) DeepCopyObject

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

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

func (*RKE2ConfigTemplate) Default

func (r *RKE2ConfigTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*RKE2ConfigTemplate) Hub

func (*RKE2ConfigTemplate) Hub()

Hub is a conversion hub for RKE2ConfigTemplate.

func (*RKE2ConfigTemplate) SetupWebhookWithManager

func (r *RKE2ConfigTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*RKE2ConfigTemplate) ValidateCreate

func (r *RKE2ConfigTemplate) ValidateCreate() (admission.Warnings, error)

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

func (*RKE2ConfigTemplate) ValidateDelete

func (r *RKE2ConfigTemplate) ValidateDelete() (admission.Warnings, error)

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

func (*RKE2ConfigTemplate) ValidateUpdate

func (r *RKE2ConfigTemplate) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

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

type RKE2ConfigTemplateList

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

RKE2ConfigTemplateList contains a list of RKE2ConfigTemplate.

func (*RKE2ConfigTemplateList) DeepCopy

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

func (*RKE2ConfigTemplateList) DeepCopyInto

func (in *RKE2ConfigTemplateList) DeepCopyInto(out *RKE2ConfigTemplateList)

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

func (*RKE2ConfigTemplateList) DeepCopyObject

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

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

func (*RKE2ConfigTemplateList) Hub

func (*RKE2ConfigTemplateList) Hub()

Hub is a conversion hub for RKE2ConfigTemplateList.

type RKE2ConfigTemplateResource

type RKE2ConfigTemplateResource struct {
	// Spec is the RKE2ConfigSpec that should be used for the template.
	Spec RKE2ConfigSpec `json:"spec"`
}

RKE2ConfigTemplateResource is a struct that wraps the desired spec for the RKE2ConfigSpec inside the template field.

func (*RKE2ConfigTemplateResource) DeepCopy

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

func (*RKE2ConfigTemplateResource) DeepCopyInto

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

type RKE2ConfigTemplateSpec

type RKE2ConfigTemplateSpec struct {
	// Template references a RKE2ConfigTemplate, which is used to include an RKE2ConfigSpec struct.
	//	This is used to include a desired RKE2ConfigSpec configuration when an RKE2Config resource is generated by a MachineDeployment resource.
	Template RKE2ConfigTemplateResource `json:"template"`
}

RKE2ConfigTemplateSpec defines the specification of RKE2ConfigTemplate.

func (*RKE2ConfigTemplateSpec) DeepCopy

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

func (*RKE2ConfigTemplateSpec) DeepCopyInto

func (in *RKE2ConfigTemplateSpec) DeepCopyInto(out *RKE2ConfigTemplateSpec)

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

type Registry

type Registry struct {
	// Mirrors are namespace to mirror mapping for all namespaces.
	//+optional
	Mirrors map[string]Mirror `json:"mirrors,omitempty"`

	// Configs are configs for each registry.
	// The key is the FDQN or IP of the registry.
	//+optional
	Configs map[string]RegistryConfig `json:"configs,omitempty"`
}

Registry is registry settings including mirrors, TLS, and credentials.

func (*Registry) DeepCopy

func (in *Registry) DeepCopy() *Registry

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

func (*Registry) DeepCopyInto

func (in *Registry) DeepCopyInto(out *Registry)

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

type RegistryConfig

type RegistryConfig struct {
	// Auth is a reference to a Secret containing information to authenticate to the registry.
	// The Secret must provite a username and a password data entry.
	//+optional
	AuthSecret corev1.ObjectReference `json:"authSecret,omitempty"`
	// TLS is a pair of CA/Cert/Key which then are used when creating the transport
	// that communicates with the registry.
	//+optional
	TLS TLSConfig `json:"tls,omitempty"`
}

RegistryConfig contains configuration used to communicate with the registry.

func (*RegistryConfig) DeepCopy

func (in *RegistryConfig) DeepCopy() *RegistryConfig

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

func (*RegistryConfig) DeepCopyInto

func (in *RegistryConfig) DeepCopyInto(out *RegistryConfig)

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

type SecretFileSource

type SecretFileSource struct {
	// Name of the secret in the RKE2BootstrapConfig's namespace to use.
	Name string `json:"name"`

	// Key is the key in the secret's data map for this value.
	Key string `json:"key"`
}

SecretFileSource adapts a Secret into a FileSource.

The contents of the target Secret's Data field will be presented as files using the keys in the Data field as the file names.

func (*SecretFileSource) DeepCopy

func (in *SecretFileSource) DeepCopy() *SecretFileSource

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

func (*SecretFileSource) DeepCopyInto

func (in *SecretFileSource) DeepCopyInto(out *SecretFileSource)

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

type TLSConfig

type TLSConfig struct {
	// TLSConfigSecret is a reference to a secret of type `kubernetes.io/tls` thich has up to 3 entries: tls.crt, tls.key and ca.crt
	// which describe the TLS configuration necessary to connect to the registry.
	// +optional
	TLSConfigSecret corev1.ObjectReference `json:"tlsConfigSecret,omitempty"`

	// InsecureSkipVerify may be set to false to skip verifying the registry's certificate, default is true.
	//+optional
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}

TLSConfig contains the CA/Cert/Key used for a registry.

func (*TLSConfig) DeepCopy

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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