Documentation
¶
Overview ¶
Package v1alpha3 contains API Schema definitions for the kubeadm v1alpha3 API group +kubebuilder:object:generate=true +groupName=bootstrap.cluster.x-k8s.io
Index ¶
- Variables
- type Encoding
- type File
- type Format
- type KubeadmConfig
- type KubeadmConfigList
- type KubeadmConfigSpec
- type KubeadmConfigStatus
- type KubeadmConfigTemplate
- func (in *KubeadmConfigTemplate) DeepCopy() *KubeadmConfigTemplate
- func (in *KubeadmConfigTemplate) DeepCopyInto(out *KubeadmConfigTemplate)
- func (in *KubeadmConfigTemplate) DeepCopyObject() runtime.Object
- func (*KubeadmConfigTemplate) Hub()
- func (r *KubeadmConfigTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- type KubeadmConfigTemplateList
- func (in *KubeadmConfigTemplateList) DeepCopy() *KubeadmConfigTemplateList
- func (in *KubeadmConfigTemplateList) DeepCopyInto(out *KubeadmConfigTemplateList)
- func (in *KubeadmConfigTemplateList) DeepCopyObject() runtime.Object
- func (*KubeadmConfigTemplateList) Hub()
- func (r *KubeadmConfigTemplateList) SetupWebhookWithManager(mgr ctrl.Manager) error
- type KubeadmConfigTemplateResource
- type KubeadmConfigTemplateSpec
- type NTP
- type User
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "bootstrap.cluster.x-k8s.io", Version: "v1alpha3"} // 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 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" )
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 ¶
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 Format ¶
type Format string
Format specifies the output format of the bootstrap data +kubebuilder:validation:Enum=cloud-config
const ( // CloudConfig make the bootstrap data to be of cloud-config format CloudConfig Format = "cloud-config" )
type KubeadmConfig ¶
type KubeadmConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KubeadmConfigSpec `json:"spec,omitempty"`
Status KubeadmConfigStatus `json:"status,omitempty"`
}
KubeadmConfig is the Schema for the kubeadmconfigs API
func (*KubeadmConfig) DeepCopy ¶
func (in *KubeadmConfig) DeepCopy() *KubeadmConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfig.
func (*KubeadmConfig) DeepCopyInto ¶
func (in *KubeadmConfig) DeepCopyInto(out *KubeadmConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeadmConfig) DeepCopyObject ¶
func (in *KubeadmConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KubeadmConfig) Hub ¶
func (*KubeadmConfig) Hub()
func (*KubeadmConfig) SetupWebhookWithManager ¶
func (r *KubeadmConfig) SetupWebhookWithManager(mgr ctrl.Manager) error
type KubeadmConfigList ¶
type KubeadmConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KubeadmConfig `json:"items"`
}
KubeadmConfigList contains a list of KubeadmConfig
func (*KubeadmConfigList) DeepCopy ¶
func (in *KubeadmConfigList) DeepCopy() *KubeadmConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfigList.
func (*KubeadmConfigList) DeepCopyInto ¶
func (in *KubeadmConfigList) DeepCopyInto(out *KubeadmConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeadmConfigList) DeepCopyObject ¶
func (in *KubeadmConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KubeadmConfigList) Hub ¶
func (*KubeadmConfigList) Hub()
func (*KubeadmConfigList) SetupWebhookWithManager ¶
func (r *KubeadmConfigList) SetupWebhookWithManager(mgr ctrl.Manager) error
type KubeadmConfigSpec ¶
type KubeadmConfigSpec struct {
// ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command
// +optional
ClusterConfiguration *kubeadmv1beta1.ClusterConfiguration `json:"clusterConfiguration,omitempty"`
// InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command
// +optional
InitConfiguration *kubeadmv1beta1.InitConfiguration `json:"initConfiguration,omitempty"`
// JoinConfiguration is the kubeadm configuration for the join command
// +optional
JoinConfiguration *kubeadmv1beta1.JoinConfiguration `json:"joinConfiguration,omitempty"`
// Files specifies extra files to be passed to user_data upon creation.
// +optional
Files []File `json:"files,omitempty"`
// PreKubeadmCommands specifies extra commands to run before kubeadm runs
// +optional
PreKubeadmCommands []string `json:"preKubeadmCommands,omitempty"`
// PostKubeadmCommands specifies extra commands to run after kubeadm runs
// +optional
PostKubeadmCommands []string `json:"postKubeadmCommands,omitempty"`
// Users specifies extra users to add
// +optional
Users []User `json:"users,omitempty"`
// NTP specifies NTP configuration
// +optional
NTP *NTP `json:"ntp,omitempty"`
// Format specifies the output format of the bootstrap data
// +optional
Format Format `json:"format,omitempty"`
// Verbosity is the number for the kubeadm log level verbosity.
// It overrides the `--v` flag in kubeadm commands.
// +optional
Verbosity *int32 `json:"verbosity,omitempty"`
// UseExperimentalRetryJoin replaces a basic kubeadm command with a shell
// script with retries for joins.
//
// This is meant to be an experimental temporary workaround on some environments
// where joins fail due to timing (and other issues). The long term goal is to add retries to
// kubeadm proper and use that functionality.
//
// This will add about 40KB to userdata
//
// For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055.
// +optional
UseExperimentalRetryJoin bool `json:"useExperimentalRetryJoin,omitempty"`
}
KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined.
func (*KubeadmConfigSpec) DeepCopy ¶
func (in *KubeadmConfigSpec) DeepCopy() *KubeadmConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfigSpec.
func (*KubeadmConfigSpec) DeepCopyInto ¶
func (in *KubeadmConfigSpec) DeepCopyInto(out *KubeadmConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeadmConfigStatus ¶
type KubeadmConfigStatus 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"`
// BootstrapData will be a cloud-init script for now.
//
// Deprecated: This field has been deprecated in v1alpha3 and
// will be removed in a future version. Switch to DataSecretName.
//
// +optional
BootstrapData []byte `json:"bootstrapData,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"`
}
KubeadmConfigStatus defines the observed state of KubeadmConfig
func (*KubeadmConfigStatus) DeepCopy ¶
func (in *KubeadmConfigStatus) DeepCopy() *KubeadmConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfigStatus.
func (*KubeadmConfigStatus) DeepCopyInto ¶
func (in *KubeadmConfigStatus) DeepCopyInto(out *KubeadmConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeadmConfigTemplate ¶
type KubeadmConfigTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KubeadmConfigTemplateSpec `json:"spec,omitempty"`
}
KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API
func (*KubeadmConfigTemplate) DeepCopy ¶
func (in *KubeadmConfigTemplate) DeepCopy() *KubeadmConfigTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfigTemplate.
func (*KubeadmConfigTemplate) DeepCopyInto ¶
func (in *KubeadmConfigTemplate) DeepCopyInto(out *KubeadmConfigTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeadmConfigTemplate) DeepCopyObject ¶
func (in *KubeadmConfigTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KubeadmConfigTemplate) Hub ¶
func (*KubeadmConfigTemplate) Hub()
func (*KubeadmConfigTemplate) SetupWebhookWithManager ¶
func (r *KubeadmConfigTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
type KubeadmConfigTemplateList ¶
type KubeadmConfigTemplateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KubeadmConfigTemplate `json:"items"`
}
KubeadmConfigTemplateList contains a list of KubeadmConfigTemplate
func (*KubeadmConfigTemplateList) DeepCopy ¶
func (in *KubeadmConfigTemplateList) DeepCopy() *KubeadmConfigTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfigTemplateList.
func (*KubeadmConfigTemplateList) DeepCopyInto ¶
func (in *KubeadmConfigTemplateList) DeepCopyInto(out *KubeadmConfigTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeadmConfigTemplateList) DeepCopyObject ¶
func (in *KubeadmConfigTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KubeadmConfigTemplateList) Hub ¶
func (*KubeadmConfigTemplateList) Hub()
func (*KubeadmConfigTemplateList) SetupWebhookWithManager ¶
func (r *KubeadmConfigTemplateList) SetupWebhookWithManager(mgr ctrl.Manager) error
type KubeadmConfigTemplateResource ¶
type KubeadmConfigTemplateResource struct {
Spec KubeadmConfigSpec `json:"spec,omitempty"`
}
KubeadmConfigTemplateResource defines the Template structure
func (*KubeadmConfigTemplateResource) DeepCopy ¶
func (in *KubeadmConfigTemplateResource) DeepCopy() *KubeadmConfigTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfigTemplateResource.
func (*KubeadmConfigTemplateResource) DeepCopyInto ¶
func (in *KubeadmConfigTemplateResource) DeepCopyInto(out *KubeadmConfigTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeadmConfigTemplateSpec ¶
type KubeadmConfigTemplateSpec struct {
Template KubeadmConfigTemplateResource `json:"template"`
}
KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate
func (*KubeadmConfigTemplateSpec) DeepCopy ¶
func (in *KubeadmConfigTemplateSpec) DeepCopy() *KubeadmConfigTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfigTemplateSpec.
func (*KubeadmConfigTemplateSpec) DeepCopyInto ¶
func (in *KubeadmConfigTemplateSpec) DeepCopyInto(out *KubeadmConfigTemplateSpec)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTP.
func (*NTP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct {
// Name specifies the user name
Name string `json:"name"`
// Gecos specifies the gecos to use for the user
// +optional
Gecos *string `json:"gecos,omitempty"`
// Groups specifies the additional groups for the user
// +optional
Groups *string `json:"groups,omitempty"`
// HomeDir specifies the home directory to use for the user
// +optional
HomeDir *string `json:"homeDir,omitempty"`
// Inactive specifies whether to mark the user as inactive
// +optional
Inactive *bool `json:"inactive,omitempty"`
// Shell specifies the user's shell
// +optional
Shell *string `json:"shell,omitempty"`
// Passwd specifies a hashed password for the user
// +optional
Passwd *string `json:"passwd,omitempty"`
// PrimaryGroup specifies the primary group for the user
// +optional
PrimaryGroup *string `json:"primaryGroup,omitempty"`
// LockPassword specifies if password login should be disabled
// +optional
LockPassword *bool `json:"lockPassword,omitempty"`
// Sudo specifies a sudo role for the user
// +optional
Sudo *string `json:"sudo,omitempty"`
// SSHAuthorizedKeys specifies a list of ssh authorized keys for the user
// +optional
SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,omitempty"`
}
User defines the input for a generated user in cloud-init.
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.