Documentation ¶
Overview ¶
Package v1alpha1 defines the v1alpha1 version of the OSM API
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type CloudInitModule
- type CloudProvider
- type CloudProviderSpec
- type ContainerRuntime
- type ContainerRuntimeSpec
- type DropIn
- type File
- type FileContent
- type FileContentInline
- type OSCConfig
- type OSPConfig
- type OperatingSystem
- type OperatingSystemConfig
- type OperatingSystemConfigList
- type OperatingSystemConfigSpec
- type OperatingSystemProfile
- type OperatingSystemProfileList
- type OperatingSystemProfileSpec
- type ProvisioningUtility
- type Unit
Constants ¶
const ( // OperatingSystemConfigResourceName represents "Resource" defined in Kubernetes OperatingSystemConfigResourceName = "operatingsystemconfigs" // OperatingSystemConfigKindName represents "Kind" defined in Kubernetes OperatingSystemConfigKindName = "OperatingSystemConfig" )
const ( // OperatingSystemProfileResourceName represents "Resource" defined in Kubernetes OperatingSystemProfileResourceName = "operatingsystemprofiles" // OperatingSystemProfileKindName represents "Kind" defined in Kubernetes OperatingSystemProfileKindName = "OperatingSystemProfile" )
const ( // GroupName is the group name used in this package GroupName = "operatingsystemmanager.k8c.io" // GroupVersion is the group version used in this package GroupVersion = "v1alpha1" )
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type CloudInitModule ¶ added in v0.2.0
type CloudInitModule struct { // BootCMD module runs arbitrary commands very early in the boot process, only slightly after a boothook would run. BootCMD []string `json:"bootcmd,omitempty"` // RHSubscription registers a Red Hat system either by username and password or activation and org RHSubscription map[string]string `json:"rh_subscription,omitempty"` // RunCMD Run arbitrary commands at a rc.local like level with output to the console. RunCMD []string `json:"runcmd,omitempty"` // YumRepos adds yum repository configuration to the system. YumRepos map[string]map[string]string `json:"yum_repos,omitempty"` // YumRepoDir the repo parts directory where individual yum repo config files will be written. Default: /etc/yum.repos.d YumRepoDir string `json:"yum_repo_dir,omitempty"` }
CloudInitModule contains the fields of the cloud init module.
func (*CloudInitModule) DeepCopy ¶ added in v0.2.0
func (in *CloudInitModule) DeepCopy() *CloudInitModule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudInitModule.
func (*CloudInitModule) DeepCopyInto ¶ added in v0.2.0
func (in *CloudInitModule) DeepCopyInto(out *CloudInitModule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudProvider ¶ added in v0.2.0
type CloudProvider string
CloudProvider represents supported cloud provider. +kubebuilder:validation:Enum=aws;azure;digitalocean;edge;gce;hetzner;kubevirt;linode;nutanix;openstack;equinixmetal;vsphere;fake;alibaba;anexia;scaleway;baremetal;external;vmware-cloud-director;opennebula
const ( CloudProviderAlibaba CloudProvider = "alibaba" CloudProviderAnexia CloudProvider = "anexia" CloudProviderAWS CloudProvider = "aws" CloudProviderAzure CloudProvider = "azure" CloudProviderBaremetal CloudProvider = "baremetal" CloudProviderDigitalocean CloudProvider = "digitalocean" CloudProviderEdge CloudProvider = "edge" CloudProviderEquinixMetal CloudProvider = "equinixmetal" CloudProviderExternal CloudProvider = "external" CloudProviderFake CloudProvider = "fake" CloudProviderGoogle CloudProvider = "gce" CloudProviderHetzner CloudProvider = "hetzner" CloudProviderKubeVirt CloudProvider = "kubevirt" CloudProviderLinode CloudProvider = "linode" CloudProviderNutanix CloudProvider = "nutanix" CloudProviderOpenNebula CloudProvider = "opennebula" CloudProviderOpenstack CloudProvider = "openstack" CloudProviderScaleway CloudProvider = "scaleway" CloudProviderVMwareCloudDirector CloudProvider = "vmware-cloud-director" CloudProviderVsphere CloudProvider = "vsphere" )
type CloudProviderSpec ¶
type CloudProviderSpec struct { // Name represents the name of the supported cloud provider Name CloudProvider `json:"name"` // Spec represents the os/image reference in the supported cloud provider // +kubebuilder:pruning:PreserveUnknownFields Spec runtime.RawExtension `json:"spec,omitempty"` }
CloudProviderSpec contains the os/image reference for a specific supported cloud provider
func (*CloudProviderSpec) DeepCopy ¶
func (in *CloudProviderSpec) DeepCopy() *CloudProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProviderSpec.
func (*CloudProviderSpec) DeepCopyInto ¶
func (in *CloudProviderSpec) DeepCopyInto(out *CloudProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerRuntime ¶ added in v0.3.0
type ContainerRuntime string
ContainerRuntime represents supported container runtime +kubebuilder:validation:Enum=docker;containerd
const ( ContainerRuntimeDocker ContainerRuntime = "docker" ContainerRuntimeContainerd ContainerRuntime = "containerd" )
type ContainerRuntimeSpec ¶ added in v0.2.0
type ContainerRuntimeSpec struct { // Name of the Container runtime Name ContainerRuntime `json:"name"` // Files to add to the main files list when the containerRuntime is selected Files []File `json:"files"` // Templates to add to the available templates when the containerRuntime is selected Templates map[string]string `json:"templates,omitempty"` }
ContainerRuntimeSpec aggregates information about a specific container runtime
func (*ContainerRuntimeSpec) DeepCopy ¶ added in v0.2.0
func (in *ContainerRuntimeSpec) DeepCopy() *ContainerRuntimeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeSpec.
func (*ContainerRuntimeSpec) DeepCopyInto ¶ added in v0.2.0
func (in *ContainerRuntimeSpec) DeepCopyInto(out *ContainerRuntimeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DropIn ¶
type DropIn struct { // Name is the name of the drop-in. Name string `json:"name"` // Content is the content of the drop-in. Content string `json:"content"` }
DropIn is a drop-in configuration for a systemd unit.
func (*DropIn) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DropIn.
func (*DropIn) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type File ¶
type File struct { // Path is the path of the file system where the file should get written to. Path string `json:"path"` // Permissions describes with which permissions the file should get written to the file system. // Should be in decimal base and without any leading zeroes. // +kubebuilder:default=644 Permissions int32 `json:"permissions,omitempty"` // Content describe the file's content. Content FileContent `json:"content"` }
File is a file that should get written to the host's file system. The content can either be inlined or referenced from a secret in the same namespace.
func (*File) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new File.
func (*File) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileContent ¶
type FileContent struct { // Inline is a struct that contains information about the inlined data. Inline *FileContentInline `json:"inline,omitempty"` }
FileContent can either reference a secret or contain inline configuration.
func (*FileContent) DeepCopy ¶
func (in *FileContent) DeepCopy() *FileContent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileContent.
func (*FileContent) DeepCopyInto ¶
func (in *FileContent) DeepCopyInto(out *FileContent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileContentInline ¶
type FileContentInline struct { // Encoding is the file's encoding (e.g. base64). Encoding string `json:"encoding,omitempty"` // Data is the file's data. Data string `json:"data"` }
FileContentInline contains keys for inlining a file content's data and encoding.
func (*FileContentInline) DeepCopy ¶
func (in *FileContentInline) DeepCopy() *FileContentInline
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileContentInline.
func (*FileContentInline) DeepCopyInto ¶
func (in *FileContentInline) DeepCopyInto(out *FileContentInline)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSCConfig ¶ added in v0.5.0
type OSCConfig struct { // Units a list of the systemd unit files which will run on the instance Units []Unit `json:"units,omitempty"` // Files is a list of files that should exist in the instance Files []File `json:"files,omitempty"` // UserSSHKeys is a list of attached user ssh keys UserSSHKeys []string `json:"userSSHKeys,omitempty"` // CloudInitModules contains the supported cloud-init modules // +optional CloudInitModules *CloudInitModule `json:"modules,omitempty"` }
func (*OSCConfig) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSCConfig.
func (*OSCConfig) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSPConfig ¶ added in v0.5.0
type OSPConfig struct { // SupportedContainerRuntimes represents the container runtimes supported by the given OS. // Docker has been deprecated and is no-op. SupportedContainerRuntimes []ContainerRuntimeSpec `json:"supportedContainerRuntimes,omitempty"` // Templates to be included in units and files Templates map[string]string `json:"templates,omitempty"` // Units a list of the systemd unit files which will run on the instance Units []Unit `json:"units,omitempty"` // Files is a list of files that should exist in the instance Files []File `json:"files,omitempty"` // CloudInitModules field contains the optional cloud-init modules which are supported by OSM // +optional CloudInitModules *CloudInitModule `json:"modules,omitempty"` }
func (*OSPConfig) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSPConfig.
func (*OSPConfig) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatingSystem ¶ added in v0.2.0
type OperatingSystem string
OperatingSystem represents supported operating system. +kubebuilder:validation:Enum=flatcar;rhel;centos;ubuntu;amzn2;rockylinux
const ( OperatingSystemFlatcar OperatingSystem = "flatcar" OperatingSystemRHEL OperatingSystem = "rhel" OperatingSystemCentOS OperatingSystem = "centos" OperatingSystemUbuntu OperatingSystem = "ubuntu" OperatingSystemAmazonLinux2 OperatingSystem = "amzn2" OperatingSystemRockyLinux OperatingSystem = "rockylinux" )
type OperatingSystemConfig ¶
type OperatingSystemConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // OperatingSystemConfigSpec represents the operating system configuration spec. Spec OperatingSystemConfigSpec `json:"spec"` }
OperatingSystemConfig is the object that represents the OperatingSystemConfig
func (*OperatingSystemConfig) DeepCopy ¶
func (in *OperatingSystemConfig) DeepCopy() *OperatingSystemConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemConfig.
func (*OperatingSystemConfig) DeepCopyInto ¶
func (in *OperatingSystemConfig) DeepCopyInto(out *OperatingSystemConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatingSystemConfig) DeepCopyObject ¶
func (in *OperatingSystemConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatingSystemConfigList ¶
type OperatingSystemConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []OperatingSystemConfig `json:"items"` }
OperatingSystemConfigList is a list of OperatingSystemConfigs
func (*OperatingSystemConfigList) DeepCopy ¶
func (in *OperatingSystemConfigList) DeepCopy() *OperatingSystemConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemConfigList.
func (*OperatingSystemConfigList) DeepCopyInto ¶
func (in *OperatingSystemConfigList) DeepCopyInto(out *OperatingSystemConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatingSystemConfigList) DeepCopyObject ¶
func (in *OperatingSystemConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatingSystemConfigSpec ¶
type OperatingSystemConfigSpec struct { // OSType represent the operating system name e.g: ubuntu OSName OperatingSystem `json:"osName"` // OSVersion the version of the operating system OSVersion string `json:"osVersion"` // CloudProvider represent the cloud provider that support the given operating system version CloudProvider CloudProviderSpec `json:"cloudProvider"` // BootstrapConfig is used for initial configuration of machine and to fetch the kubernetes secret that contains the provisioning config. BootstrapConfig OSCConfig `json:"bootstrapConfig"` // ProvisioningConfig is used for provisioning the worker node. ProvisioningConfig OSCConfig `json:"provisioningConfig"` // ProvisioningUtility used for configuring the worker node. Defaults to cloud-init. // +kubebuilder:default=cloud-init ProvisioningUtility ProvisioningUtility `json:"provisioningUtility,omitempty"` }
OperatingSystemConfigSpec represents the data in the newly created OperatingSystemConfig
func (*OperatingSystemConfigSpec) DeepCopy ¶
func (in *OperatingSystemConfigSpec) DeepCopy() *OperatingSystemConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemConfigSpec.
func (*OperatingSystemConfigSpec) DeepCopyInto ¶
func (in *OperatingSystemConfigSpec) DeepCopyInto(out *OperatingSystemConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatingSystemProfile ¶
type OperatingSystemProfile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // OperatingSystemProfileSpec represents the operating system configuration spec. Spec OperatingSystemProfileSpec `json:"spec"` }
OperatingSystemProfile is the object that represents the OperatingSystemProfile
func (*OperatingSystemProfile) DeepCopy ¶
func (in *OperatingSystemProfile) DeepCopy() *OperatingSystemProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemProfile.
func (*OperatingSystemProfile) DeepCopyInto ¶
func (in *OperatingSystemProfile) DeepCopyInto(out *OperatingSystemProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatingSystemProfile) DeepCopyObject ¶
func (in *OperatingSystemProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatingSystemProfileList ¶
type OperatingSystemProfileList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []OperatingSystemProfile `json:"items"` }
OperatingSystemProfileList is a list of OperatingSystemProfiles
func (*OperatingSystemProfileList) DeepCopy ¶
func (in *OperatingSystemProfileList) DeepCopy() *OperatingSystemProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemProfileList.
func (*OperatingSystemProfileList) DeepCopyInto ¶
func (in *OperatingSystemProfileList) DeepCopyInto(out *OperatingSystemProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatingSystemProfileList) DeepCopyObject ¶
func (in *OperatingSystemProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatingSystemProfileSpec ¶
type OperatingSystemProfileSpec struct { // OSType represent the operating system name e.g: ubuntu OSName OperatingSystem `json:"osName"` // OSVersion the version of the operating system OSVersion string `json:"osVersion"` // Version is the version of the operating System Profile // +kubebuilder:validation:Pattern=`v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$` Version string `json:"version"` // SupportedCloudProviders represent the cloud providers that support the given operating system version SupportedCloudProviders []CloudProviderSpec `json:"supportedCloudProviders"` // BootstrapConfig is used for initial configuration of machine and to fetch the kubernetes secret that contains the provisioning config. BootstrapConfig OSPConfig `json:"bootstrapConfig"` // ProvisioningConfig is used for provisioning the worker node. ProvisioningConfig OSPConfig `json:"provisioningConfig"` // ProvisioningUtility used for configuring the worker node. Defaults to cloud-init. // +kubebuilder:default=cloud-init ProvisioningUtility ProvisioningUtility `json:"provisioningUtility,omitempty"` }
OperatingSystemProfileSpec represents the data in the newly created OperatingSystemProfile
func (*OperatingSystemProfileSpec) DeepCopy ¶
func (in *OperatingSystemProfileSpec) DeepCopy() *OperatingSystemProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemProfileSpec.
func (*OperatingSystemProfileSpec) DeepCopyInto ¶
func (in *OperatingSystemProfileSpec) DeepCopyInto(out *OperatingSystemProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProvisioningUtility ¶ added in v1.3.0
type ProvisioningUtility string
ProvisioningUtility used to provision the machines +kubebuilder:validation:Enum=cloud-init;ignition
const ( ProvisioningUtilityCloudInit ProvisioningUtility = "cloud-init" ProvisioningUtilityIgnition ProvisioningUtility = "ignition" )
type Unit ¶
type Unit struct { // Name is the name of a unit. Name string `json:"name"` // Enable describes whether the unit is enabled or not. Enable *bool `json:"enable,omitempty"` // Mask describes whether the unit is masked or not. Mask *bool `json:"mask,omitempty"` // Content is the unit's content. Content *string `json:"content,omitempty"` // DropIns is a list of drop-ins for this unit. DropIns []DropIn `json:"dropIns,omitempty"` }
Unit is a systemd unit used for the operating system config.
func (*Unit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Unit.
func (*Unit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.