Documentation

Index

Constants

View Source
const GroupName = "cinder.crit.sh"

GroupName is the group name used in this package.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
	// SchemeBuilder is a type to collect functions that add data to an API
	// object through a scheme.
	SchemeBuilder runtime.SchemeBuilder

	// AddToScheme applies all the stored functions in the localSchemeBuilder
	// to the scheme.
	AddToScheme = localSchemeBuilder.AddToScheme
)

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func SetDefaults_ClusterConfiguration

func SetDefaults_ClusterConfiguration(obj *ClusterConfiguration)

func SetObjectDefaults_ClusterConfiguration

func SetObjectDefaults_ClusterConfiguration(in *ClusterConfiguration)

Types

type ClusterConfiguration

type ClusterConfiguration struct {
	metav1.TypeMeta `json:",inline"`
	// Files specifies extra files to be passed to user_data upon creation.
	// +optional
	Files []File `json:"files,omitempty"`
	// PreCritCommands specifies extra commands to run before crit runs
	// +optional
	PreCritCommands []string `json:"preCritCommands,omitempty"`
	// PostCritCommands specifies extra commands to run after crit runs
	// +optional
	PostCritCommands []string `json:"postCritCommands,omitempty"`
	// +optional
	FeatureGates map[string]bool `json:"featureGates,omitempty"`
	// +optional
	ControlPlaneConfiguration *critconfig.ControlPlaneConfiguration `json:"controlPlaneConfiguration,omitempty"`
	// +optional
	WorkerConfiguration *critconfig.WorkerConfiguration `json:"workerConfiguration,omitempty"`
	// +optional
	ExtraMounts []*Mount `json:"extraMounts"`
	// +optional
	ExtraPortMappings []*PortMapping `json:"extraPortMappings"`
	// Name of local container registry. Used for DNS resolution.
	// Default: "cinderegg"
	// +optional
	LocalRegistryName string `json:"localRegistryName"`
	// Port of local container registry.
	// Default: 5000
	// +optional
	LocalRegistryPort int `json:"localRegistryPort"`
	// +optional
	RegistryMirrors map[string]string `json:"registryMirrors"`
}

func (*ClusterConfiguration) DeepCopy

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

func (*ClusterConfiguration) DeepCopyInto

func (in *ClusterConfiguration) DeepCopyInto(out *ClusterConfiguration)

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

func (*ClusterConfiguration) DeepCopyObject

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

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

type Encoding

type Encoding string

Encoding specifies the cloud-init file encoding. +kubebuilder:validation:Enum=base64;gzip;gzip+base64

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"
	// HostPath implies the contents is a file path that corresponds to an
	// actual file on the host.
	HostPath Encoding = "hostpath"
)

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.
	// +optional
	Encoding Encoding `json:"encoding,omitempty"`

	// Content is the actual content of the file.
	Content string `json:"content"`
}

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 Mount

type Mount struct {
	HostPath      string   `json:"hostPath"`
	ContainerPath string   `json:"containerPath"`
	ReadOnly      bool     `json:"readOnly"`
	Attrs         []string `json:"attrs"`
}

func (*Mount) DeepCopy

func (in *Mount) DeepCopy() *Mount

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

func (*Mount) DeepCopyInto

func (in *Mount) DeepCopyInto(out *Mount)

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

type PortMapping

type PortMapping struct {
	ContainerPort int32 `json:"containerPort,omitempty"`
	// +optional
	HostPort int32 `json:"hostPort,omitempty"`
	// +optional
	ListenAddress string `json:"listenAddress,omitempty"`
	// +optional
	Protocol PortMappingProtocol `json:"protocol,omitempty"`
}

func (*PortMapping) DeepCopy

func (in *PortMapping) DeepCopy() *PortMapping

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

func (*PortMapping) DeepCopyInto

func (in *PortMapping) DeepCopyInto(out *PortMapping)

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

type PortMappingProtocol

type PortMappingProtocol string

+kubebuilder:validation:Enum=TCP;UDP

const (
	// PortMappingProtocolTCP specifies TCP protocol
	PortMappingProtocolTCP PortMappingProtocol = "TCP"
	// PortMappingProtocolUDP specifies UDP protocol
	PortMappingProtocolUDP PortMappingProtocol = "UDP"
)