Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Blockd ¶
type Blockd struct {
CommonServiceOptions `yaml:",inline"`
}
Blockd describes the configuration of the blockd service.
type CRT ¶
type CRT struct {
CommonServiceOptions `yaml:",inline"`
}
CRT describes the configuration of the container runtime service.
type CommonServiceOptions ¶
type CommonServiceOptions struct { Image string `yaml:"image,omitempty"` Env Env `yaml:"env,omitempty"` }
CommonServiceOptions represents the set of options common to all services.
type File ¶
type File struct { Contents string `yaml:"contents"` Permissions os.FileMode `yaml:"permissions"` Path string `yaml:"path"` }
File represents a files to write to disk.
type Init ¶
type Init struct {
ContainerRuntime string `yaml:"containerRuntime,omitempty"`
}
Init describes the configuration of the init service.
type Kubeadm ¶
type Kubeadm struct { CommonServiceOptions `yaml:",inline"` Configuration runtime.Object `yaml:"configuration"` // contains filtered or unexported fields }
Kubeadm describes the set of configuration options available for kubeadm.
func (*Kubeadm) MarshalYAML ¶
MarshalYAML implements the yaml.Marshaler interface.
func (*Kubeadm) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface.
type Kubelet ¶
type Kubelet struct {
CommonServiceOptions `yaml:",inline"`
}
Kubelet describes the configuration of the kubelet service.
type KubernetesSecurity ¶
type KubernetesSecurity struct {
CA *x509.PEMEncodedCertificateAndKey `yaml:"ca"`
}
KubernetesSecurity represents the set of security options specific to Kubernetes.
type Networking ¶
type Networking struct { OS struct{} `yaml:"os"` Kubernetes struct{} `yaml:"kubernetes"` }
Networking represents the set of options available to configure networking.
type OSD ¶
type OSD struct {
CommonServiceOptions `yaml:",inline"`
}
OSD describes the configuration of the osd service.
type OSSecurity ¶
type OSSecurity struct { CA *x509.PEMEncodedCertificateAndKey `yaml:"ca"` Identity *x509.PEMEncodedCertificateAndKey `yaml:"identity"` }
OSSecurity represents the set of security options specific to the OS.
type Proxyd ¶
type Proxyd struct {
CommonServiceOptions `yaml:",inline"`
}
Proxyd describes the configuration of the proxyd service.
type Security ¶
type Security struct { OS *OSSecurity `yaml:"os"` Kubernetes *KubernetesSecurity `yaml:"kubernetes"` }
Security represents the set of options available to configure security.
type Services ¶
type Services struct { Init *Init `yaml:"init"` Kubelet *Kubelet `yaml:"kubelet"` Kubeadm *Kubeadm `yaml:"kubeadm"` Trustd *Trustd `yaml:"trustd"` Proxyd *Proxyd `yaml:"proxyd"` Blockd *Blockd `yaml:"blockd"` OSD *OSD `yaml:"osd"` CRT *CRT `yaml:"crt"` }
Services represents the set of services available to configure.
type Trustd ¶
type Trustd struct { CommonServiceOptions `yaml:",inline"` Username string `yaml:"username"` Password string `yaml:"password"` Endpoints []string `yaml:"endpoints,omitempty"` }
Trustd describes the configuration of the Root of Trust (RoT) service. The username and password are used by master nodes, and worker nodes. The master nodes use them to authenticate clients, while the workers use them to authenticate as a client. The endpoints should only be specified in the worker user data, and should include all master nodes participating as a RoT.
type UserData ¶
type UserData struct { Version string `yaml:"version"` Security *Security `yaml:"security"` Networking *Networking `yaml:"networking"` Services *Services `yaml:"services"` Files []*File `yaml:"files"` Debug bool `yaml:"debug"` Env Env `yaml:"env,omitempty"` }
UserData represents the user data.
func (*UserData) IsBootstrap ¶
IsBootstrap indicates if the current kubeadm configuration is a master init configuration.
func (*UserData) IsControlPlane ¶
IsControlPlane indicates if the current kubeadm configuration is a worker acting as a master.
func (*UserData) IsMaster ¶
IsMaster indicates if the current kubeadm configuration is a master configuration.
func (*UserData) IsWorker ¶
IsWorker indicates if the current kubeadm configuration is a worker configuration.
func (*UserData) WriteFiles ¶
WriteFiles writes the requested files to disk.