kubeone

package
v1.4.9 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package kubeone is the implementation of KubeOneCluster API

Index

Constants

View Source
const GroupName = "kubeone.k8c.io"

GroupName is the name of the group used by this API

Variables

View Source
var (
	// SchemeBuilder points to a list of functions added to Scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme applies all the stored functions to the Scheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register API objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns GroupKind

func MapStringStringToString added in v1.4.0

func MapStringStringToString(m1 map[string]string, pairSeparator string) string

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns GroupResource

Types

type APIEndpoint

type APIEndpoint struct {
	// Host is the hostname or IP on which API is running.
	Host string `json:"host"`
	// Port is the port used to reach to the API.
	// Default value is 6443.
	Port int `json:"port,omitempty"`
	// AlternativeNames is a list of Subject Alternative Names for the API Server signing cert.
	AlternativeNames []string `json:"alternativeNames,omitempty"`
}

APIEndpoint is the endpoint used to communicate with the Kubernetes API

func (*APIEndpoint) DeepCopy

func (in *APIEndpoint) DeepCopy() *APIEndpoint

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

func (*APIEndpoint) DeepCopyInto

func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)

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

type AWSSpec added in v1.0.0

type AWSSpec struct{}

AWSSpec defines the AWS cloud provider

func (*AWSSpec) DeepCopy added in v1.0.0

func (in *AWSSpec) DeepCopy() *AWSSpec

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

func (*AWSSpec) DeepCopyInto added in v1.0.0

func (in *AWSSpec) DeepCopyInto(out *AWSSpec)

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

type Addon added in v1.3.0

type Addon struct {
	// Name of the addon to configure
	Name string `json:"name"`

	// Params to the addon, to render the addon using text/template, this will override globalParams
	Params map[string]string `json:"params,omitempty"`

	// Delete flag to ensure the named addon with all its contents to be deleted
	Delete bool `json:"delete,omitempty"`
}

Addon config

func (*Addon) DeepCopy added in v1.3.0

func (in *Addon) DeepCopy() *Addon

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

func (*Addon) DeepCopyInto added in v1.3.0

func (in *Addon) DeepCopyInto(out *Addon)

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

type Addons added in v1.0.0

type Addons struct {
	// Enable
	Enable bool `json:"enable,omitempty"`

	// Path on the local file system to the directory with addons manifests.
	Path string `json:"path,omitempty"`

	// GlobalParams to the addon, to render all addons using text/template
	GlobalParams map[string]string `json:"globalParams,omitempty"`

	// Addons is a list of config options for named addon
	Addons []Addon `json:"addons,omitempty"`
}

Addons config

func (*Addons) DeepCopy added in v1.0.0

func (in *Addons) DeepCopy() *Addons

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

func (*Addons) DeepCopyInto added in v1.0.0

func (in *Addons) DeepCopyInto(out *Addons)

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

func (*Addons) Enabled added in v1.3.0

func (ads *Addons) Enabled() bool

func (*Addons) RelativePath added in v1.3.0

func (ads *Addons) RelativePath(manifestFilePath string) (string, error)

RelativePath returns addons path relative to the KubeOneCluster manifest file path

type AssetConfiguration added in v1.2.0

type AssetConfiguration struct {
	// Kubernetes configures the image registry and repository for the core Kubernetes
	// images (kube-apiserver, kube-controller-manager, kube-scheduler, and kube-proxy).
	// Kubernetes respects only ImageRepository (ImageTag is ignored).
	// Default image repository and tag: defaulted dynamically by Kubeadm.
	// Defaults to RegistryConfiguration.OverwriteRegistry if left empty
	// and RegistryConfiguration.OverwriteRegistry is specified.
	Kubernetes ImageAsset `json:"kubernetes,omitempty"`
	// Pause configures the sandbox (pause) image to be used by Kubelet.
	// Default image repository and tag: defaulted dynamically by Kubeadm.
	// Defaults to RegistryConfiguration.OverwriteRegistry if left empty
	// and RegistryConfiguration.OverwriteRegistry is specified.
	Pause ImageAsset `json:"pause,omitempty"`
	// CoreDNS configures the image registry and tag to be used for deploying
	// the CoreDNS component.
	// Default image repository and tag: defaulted dynamically by Kubeadm.
	// Defaults to RegistryConfiguration.OverwriteRegistry if left empty
	// and RegistryConfiguration.OverwriteRegistry is specified.
	CoreDNS ImageAsset `json:"coreDNS,omitempty"`
	// Etcd configures the image registry and tag to be used for deploying
	// the Etcd component.
	// Default image repository and tag: defaulted dynamically by Kubeadm.
	// Defaults to RegistryConfiguration.OverwriteRegistry if left empty
	// and RegistryConfiguration.OverwriteRegistry is specified.
	Etcd ImageAsset `json:"etcd,omitempty"`
	// MetricsServer configures the image registry and tag to be used for deploying
	// the metrics-server component.
	// Default image repository and tag: defaulted dynamically by KubeOne.
	// Defaults to RegistryConfiguration.OverwriteRegistry if left empty
	// and RegistryConfiguration.OverwriteRegistry is specified.
	MetricsServer ImageAsset `json:"metricsServer,omitempty"`
	// CNI configures the source for downloading the CNI binaries.
	// If not specified, kubernetes-cni package will be installed.
	// Default: none
	CNI BinaryAsset `json:"cni,omitempty"`
	// NodeBinaries configures the source for downloading the
	// Kubernetes Node Binaries tarball (e.g. kubernetes-node-linux-amd64.tar.gz).
	// The tarball must have .tar.gz as the extension and must contain the
	// following files:
	// - kubernetes/node/bin/kubelet
	// - kubernetes/node/bin/kubeadm
	// If not specified, kubelet and kubeadm packages will be installed.
	// Default: none
	NodeBinaries BinaryAsset `json:"nodeBinaries,omitempty"`
	// Kubectl configures the source for downloading the Kubectl binary.
	// If not specified, kubelet package will be installed.
	// Default: none
	Kubectl BinaryAsset `json:"kubectl,omitempty"`
}

AssetConfiguration controls how assets (e.g. CNI, Kubelet, kube-apiserver, and more) are pulled. The AssetConfiguration API is a deprecated API removed in the v1beta2 API. The AssetConfiguration API will be completely removed in KubeOne 1.6+ Currently, configuring BinaryAssets works only on Amazon Linux 2.

func (*AssetConfiguration) DeepCopy added in v1.2.0

func (in *AssetConfiguration) DeepCopy() *AssetConfiguration

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

func (*AssetConfiguration) DeepCopyInto added in v1.2.0

func (in *AssetConfiguration) DeepCopyInto(out *AssetConfiguration)

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

type AzureSpec added in v1.0.0

type AzureSpec struct{}

AzureSpec defines the Azure cloud provider

func (*AzureSpec) DeepCopy added in v1.0.0

func (in *AzureSpec) DeepCopy() *AzureSpec

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

func (*AzureSpec) DeepCopyInto added in v1.0.0

func (in *AzureSpec) DeepCopyInto(out *AzureSpec)

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

type BinaryAsset added in v1.2.0

type BinaryAsset struct {
	// URL from where to download the binary
	URL string `json:"url,omitempty"`
}

BinaryAsset is used to customize the URL of the binary asset

func (*BinaryAsset) DeepCopy added in v1.2.0

func (in *BinaryAsset) DeepCopy() *BinaryAsset

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

func (*BinaryAsset) DeepCopyInto added in v1.2.0

func (in *BinaryAsset) DeepCopyInto(out *BinaryAsset)

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

type CNI added in v0.7.0

type CNI struct {
	// Canal
	Canal *CanalSpec `json:"canal,omitempty"`
	// Cilium
	Cilium *CiliumSpec `json:"cilium,omitempty"`
	// WeaveNet
	WeaveNet *WeaveNetSpec `json:"weaveNet,omitempty"`
	// External
	External *ExternalCNISpec `json:"external,omitempty"`
}

CNI config. Only one CNI provider must be used at the single time.

func (*CNI) DeepCopy added in v0.7.0

func (in *CNI) DeepCopy() *CNI

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

func (*CNI) DeepCopyInto added in v0.7.0

func (in *CNI) DeepCopyInto(out *CNI)

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

type CanalSpec added in v1.0.0

type CanalSpec struct {
	// MTU automatically detected based on the cloudProvider
	// default value is 1450
	MTU int `json:"mtu,omitempty"`
}

CanalSpec defines the Canal CNI plugin

func (*CanalSpec) DeepCopy added in v1.0.0

func (in *CanalSpec) DeepCopy() *CanalSpec

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

func (*CanalSpec) DeepCopyInto added in v1.0.0

func (in *CanalSpec) DeepCopyInto(out *CanalSpec)

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

type CiliumSpec added in v1.4.0

type CiliumSpec struct {
	// KubeProxyReplacement defines weather cilium relies on underlying Kernel support
	// to replace kube-proxy functionality by eBPF (strict), or disables a subset of those
	// features so cilium does not bail out if the kernel support is missing (disabled).
	// default is "disabled"
	KubeProxyReplacement KubeProxyReplacementType `json:"kubeProxyReplacement"`

	// EnableHubble to deploy Hubble relay and UI
	// default value is false
	EnableHubble bool `json:"enableHubble"`
}

CiliumSpec defines the Cilium CNI plugin

func (*CiliumSpec) DeepCopy added in v1.4.0

func (in *CiliumSpec) DeepCopy() *CiliumSpec

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

func (*CiliumSpec) DeepCopyInto added in v1.4.0

func (in *CiliumSpec) DeepCopyInto(out *CiliumSpec)

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

type CloudProviderSpec

type CloudProviderSpec struct {
	// External
	External bool `json:"external,omitempty"`
	// CloudConfig
	CloudConfig string `json:"cloudConfig,omitempty"`
	// CSIConfig
	CSIConfig string `json:"csiConfig,omitempty"`
	// AWS
	AWS *AWSSpec `json:"aws,omitempty"`
	// Azure
	Azure *AzureSpec `json:"azure,omitempty"`
	// DigitalOcean
	DigitalOcean *DigitalOceanSpec `json:"digitalocean,omitempty"`
	// GCE
	GCE *GCESpec `json:"gce,omitempty"`
	// Hetzner
	Hetzner *HetznerSpec `json:"hetzner,omitempty"`
	// Nutanix
	Nutanix *NutanixSpec `json:"nutanix,omitempty"`
	// Openstack
	Openstack *OpenstackSpec `json:"openstack,omitempty"`
	// EquinixMetal
	EquinixMetal *EquinixMetalSpec `json:"equinixmetal,omitempty"`
	// Vsphere
	Vsphere *VsphereSpec `json:"vsphere,omitempty"`
	// None
	None *NoneSpec `json:"none,omitempty"`
}

CloudProviderSpec describes the cloud provider that is running the machines. Only one cloud provider must be defined at the single time.

func (CloudProviderSpec) CSIMigrationSupported added in v1.3.0

func (p CloudProviderSpec) CSIMigrationSupported() bool

CSIMigrationSupported returns if CSI migration is supported for the specified provider. NB: The CSI migration can be supported only if KubeOne supports CSI plugin and driver for the provider

func (CloudProviderSpec) CloudProviderInTree

func (p CloudProviderSpec) CloudProviderInTree() bool

CloudProviderInTree detects is there in-tree cloud provider implementation for specified provider. List of in-tree provider can be found here: https://github.com/kubernetes/kubernetes/tree/master/pkg/cloudprovider

func (CloudProviderSpec) CloudProviderName added in v1.1.0

func (p CloudProviderSpec) CloudProviderName() string

CloudProviderName returns name of the 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 ClusterNetworkConfig

type ClusterNetworkConfig struct {
	// PodSubnet
	// default value is "10.244.0.0/16"
	PodSubnet string `json:"podSubnet,omitempty"`
	// ServiceSubnet
	// default value is "10.96.0.0/12"
	ServiceSubnet string `json:"serviceSubnet,omitempty"`
	// ServiceDomainName
	// default value is "cluster.local"
	ServiceDomainName string `json:"serviceDomainName,omitempty"`
	// NodePortRange
	// default value is "30000-32767"
	NodePortRange string `json:"nodePortRange,omitempty"`
	// CNI
	// default value is {canal: {mtu: 1450}}
	CNI *CNI `json:"cni,omitempty"`
	// KubeProxy config
	KubeProxy *KubeProxyConfig `json:"kubeProxy,omitempty"`
}

ClusterNetworkConfig describes the cluster network

func (*ClusterNetworkConfig) DeepCopy

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

func (*ClusterNetworkConfig) DeepCopyInto

func (in *ClusterNetworkConfig) DeepCopyInto(out *ClusterNetworkConfig)

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

type ContainerRuntimeConfig added in v1.1.0

type ContainerRuntimeConfig struct {
	// Dockerd related configurations
	Docker *ContainerRuntimeDocker `json:"docker,omitempty"`

	// Containerd related configurations
	Containerd *ContainerRuntimeContainerd `json:"containerd,omitempty"`
}

ContainerRuntimeConfig

func (ContainerRuntimeConfig) CRISocket added in v1.2.0

func (crc ContainerRuntimeConfig) CRISocket() string

func (ContainerRuntimeConfig) ConfigPath added in v1.4.0

func (crc ContainerRuntimeConfig) ConfigPath() string

func (*ContainerRuntimeConfig) DeepCopy added in v1.1.0

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

func (*ContainerRuntimeConfig) DeepCopyInto added in v1.1.0

func (in *ContainerRuntimeConfig) DeepCopyInto(out *ContainerRuntimeConfig)

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

func (ContainerRuntimeConfig) MachineControllerFlags added in v1.4.0

func (crc ContainerRuntimeConfig) MachineControllerFlags() []string

func (ContainerRuntimeConfig) String added in v1.2.0

func (crc ContainerRuntimeConfig) String() string

func (*ContainerRuntimeConfig) UnmarshalText added in v1.2.0

func (crc *ContainerRuntimeConfig) UnmarshalText(text []byte) error

type ContainerRuntimeContainerd added in v1.1.0

type ContainerRuntimeContainerd struct {
	// A map of registries to use to render configs and mirrors for containerd registries
	Registries map[string]ContainerdRegistry `json:"registries,omitempty"`
}

ContainerRuntimeContainerd defines docker container runtime

func (*ContainerRuntimeContainerd) DeepCopy added in v1.1.0

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

func (*ContainerRuntimeContainerd) DeepCopyInto added in v1.1.0

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

type ContainerRuntimeDocker added in v1.1.0

type ContainerRuntimeDocker struct {
	// Configures dockerd with "registry-mirrors"
	RegistryMirrors []string `json:"registryMirrors"`
}

ContainerRuntimeDocker defines docker container runtime

func (*ContainerRuntimeDocker) DeepCopy added in v1.1.0

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

func (*ContainerRuntimeDocker) DeepCopyInto added in v1.1.0

func (in *ContainerRuntimeDocker) DeepCopyInto(out *ContainerRuntimeDocker)

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

type ContainerdRegistry added in v1.4.0

type ContainerdRegistry struct {
	// List of registry mirrors to use
	Mirrors []string `json:"mirrors,omitempty"`

	// TLSConfig for the registry
	TLSConfig *ContainerdTLSConfig `json:"tlsConfig,omitempty"`

	// Registry authentication
	Auth *ContainerdRegistryAuthConfig `json:"auth,omitempty"`
}

ContainerdRegistry defines endpoints and security for given container registry

func (*ContainerdRegistry) DeepCopy added in v1.4.0

func (in *ContainerdRegistry) DeepCopy() *ContainerdRegistry

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

func (*ContainerdRegistry) DeepCopyInto added in v1.4.0

func (in *ContainerdRegistry) DeepCopyInto(out *ContainerdRegistry)

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

type ContainerdRegistryAuthConfig added in v1.4.0

type ContainerdRegistryAuthConfig struct {
	Username      string `json:"username,omitempty"`
	Password      string `json:"password,omitempty"`
	Auth          string `json:"auth,omitempty"`
	IdentityToken string `json:"identityToken,omitempty"`
}

Containerd per-registry credentials config

func (*ContainerdRegistryAuthConfig) DeepCopy added in v1.4.0

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

func (*ContainerdRegistryAuthConfig) DeepCopyInto added in v1.4.0

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

type ContainerdTLSConfig added in v1.4.0

type ContainerdTLSConfig struct {
	// Don't validate remote TLS certificate
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}

Configures containerd TLS for a registry

func (*ContainerdTLSConfig) DeepCopy added in v1.4.0

func (in *ContainerdTLSConfig) DeepCopy() *ContainerdTLSConfig

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

func (*ContainerdTLSConfig) DeepCopyInto added in v1.4.0

func (in *ContainerdTLSConfig) DeepCopyInto(out *ContainerdTLSConfig)

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

type ControlPlaneConfig added in v1.0.0

type ControlPlaneConfig struct {
	// Hosts array of all control plane hosts.
	Hosts []HostConfig `json:"hosts"`
}

ControlPlaneConfig defines control plane nodes

func (*ControlPlaneConfig) DeepCopy added in v1.0.0

func (in *ControlPlaneConfig) DeepCopy() *ControlPlaneConfig

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

func (*ControlPlaneConfig) DeepCopyInto added in v1.0.0

func (in *ControlPlaneConfig) DeepCopyInto(out *ControlPlaneConfig)

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

type DNSConfig added in v0.9.0

type DNSConfig struct {
	// Servers
	Servers []string `json:"servers"`
}

DNSConfig contains a machine's DNS configuration

func (*DNSConfig) DeepCopy added in v0.9.0

func (in *DNSConfig) DeepCopy() *DNSConfig

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

func (*DNSConfig) DeepCopyInto added in v0.9.0

func (in *DNSConfig) DeepCopyInto(out *DNSConfig)

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

type DigitalOceanSpec added in v1.0.0

type DigitalOceanSpec struct{}

DigitalOceanSpec defines the DigitalOcean cloud provider

func (*DigitalOceanSpec) DeepCopy added in v1.0.0

func (in *DigitalOceanSpec) DeepCopy() *DigitalOceanSpec

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

func (*DigitalOceanSpec) DeepCopyInto added in v1.0.0

func (in *DigitalOceanSpec) DeepCopyInto(out *DigitalOceanSpec)

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

type DynamicAuditLog

type DynamicAuditLog struct {
	// Enable
	// Default value is false.
	Enable bool `json:"enable,omitempty"`
}

DynamicAuditLog feature flag

func (*DynamicAuditLog) DeepCopy

func (in *DynamicAuditLog) DeepCopy() *DynamicAuditLog

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

func (*DynamicAuditLog) DeepCopyInto

func (in *DynamicAuditLog) DeepCopyInto(out *DynamicAuditLog)

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

type DynamicWorkerConfig added in v1.0.0

type DynamicWorkerConfig struct {
	// Name
	Name string `json:"name"`
	// Replicas
	Replicas *int `json:"replicas"`
	// Config
	Config ProviderSpec `json:"providerSpec"`
}

DynamicWorkerConfig describes a set of worker machines

func (*DynamicWorkerConfig) DeepCopy added in v1.0.0

func (in *DynamicWorkerConfig) DeepCopy() *DynamicWorkerConfig

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

func (*DynamicWorkerConfig) DeepCopyInto added in v1.0.0

func (in *DynamicWorkerConfig) DeepCopyInto(out *DynamicWorkerConfig)

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

type EncryptionProviders added in v1.3.0

type EncryptionProviders struct {
	// Enable
	Enable bool `json:"enable"`
	// CustomEncryptionConfiguration
	CustomEncryptionConfiguration string `json:"customEncryptionConfiguration"`
}

Encryption Providers feature flag

func (*EncryptionProviders) DeepCopy added in v1.3.0

func (in *EncryptionProviders) DeepCopy() *EncryptionProviders

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

func (*EncryptionProviders) DeepCopyInto added in v1.3.0

func (in *EncryptionProviders) DeepCopyInto(out *EncryptionProviders)

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

type EquinixMetalSpec added in v1.4.0

type EquinixMetalSpec struct{}

EquinixMetalSpec defines the Equinix Metal cloud provider

func (*EquinixMetalSpec) DeepCopy added in v1.4.0

func (in *EquinixMetalSpec) DeepCopy() *EquinixMetalSpec

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

func (*EquinixMetalSpec) DeepCopyInto added in v1.4.0

func (in *EquinixMetalSpec) DeepCopyInto(out *EquinixMetalSpec)

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

type ExternalCNISpec added in v1.0.0

type ExternalCNISpec struct{}

ExternalCNISpec defines the external CNI plugin. It's up to the user's responsibility to deploy the external CNI plugin manually or as an addon

func (*ExternalCNISpec) DeepCopy added in v1.0.0

func (in *ExternalCNISpec) DeepCopy() *ExternalCNISpec

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

func (*ExternalCNISpec) DeepCopyInto added in v1.0.0

func (in *ExternalCNISpec) DeepCopyInto(out *ExternalCNISpec)

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

type Features

type Features struct {
	// PodNodeSelector
	PodNodeSelector *PodNodeSelector `json:"podNodeSelector,omitempty"`
	// PodSecurityPolicy
	// Deprecated: will be removed once Kubernetes 1.24 reaches EOL
	PodSecurityPolicy *PodSecurityPolicy `json:"podSecurityPolicy,omitempty"`
	// StaticAuditLog
	StaticAuditLog *StaticAuditLog `json:"staticAuditLog,omitempty"`
	// DynamicAuditLog
	DynamicAuditLog *DynamicAuditLog `json:"dynamicAuditLog,omitempty"`
	// MetricsServer
	MetricsServer *MetricsServer `json:"metricsServer,omitempty"`
	// OpenIDConnect
	OpenIDConnect *OpenIDConnect `json:"openidConnect,omitempty"`
	// Encryption Providers
	EncryptionProviders *EncryptionProviders `json:"encryptionProviders,omitempty"`
}

Features controls what features will be enabled on the cluster

func (*Features) DeepCopy

func (in *Features) DeepCopy() *Features

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

func (*Features) DeepCopyInto

func (in *Features) DeepCopyInto(out *Features)

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

type GCESpec added in v1.0.0

type GCESpec struct{}

GCESpec defines the GCE cloud provider

func (*GCESpec) DeepCopy added in v1.0.0

func (in *GCESpec) DeepCopy() *GCESpec

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

func (*GCESpec) DeepCopyInto added in v1.0.0

func (in *GCESpec) DeepCopyInto(out *GCESpec)

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

type HetznerSpec added in v1.0.0

type HetznerSpec struct {
	// NetworkID
	NetworkID string `json:"networkID,omitempty"`
}

HetznerSpec defines the Hetzner cloud provider

func (*HetznerSpec) DeepCopy added in v1.0.0

func (in *HetznerSpec) DeepCopy() *HetznerSpec

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

func (*HetznerSpec) DeepCopyInto added in v1.0.0

func (in *HetznerSpec) DeepCopyInto(out *HetznerSpec)

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

type HostConfig

type HostConfig struct {
	// ID automatically assigned at runtime.
	ID int `json:"-"`
	// PublicAddress is externally accessible IP address from public internet.
	PublicAddress string `json:"publicAddress"`
	// PrivateAddress is internal RFC-1918 IP address.
	PrivateAddress string `json:"privateAddress"`
	// SSHPort is port to connect ssh to.
	// Default value is 22.
	SSHPort int `json:"sshPort,omitempty"`
	// SSHUsername is system login name.
	// Default value is "root".
	SSHUsername string `json:"sshUsername,omitempty"`
	// SSHPrivateKeyFile is path to the file with PRIVATE AND CLEANTEXT ssh key.
	// Default value is "".
	SSHPrivateKeyFile string `json:"sshPrivateKeyFile,omitempty"`
	// SSHAgentSocket path (or reference to the environment) to the SSH agent unix domain socket.
	// Default value is "env:SSH_AUTH_SOCK".
	SSHAgentSocket string `json:"sshAgentSocket,omitempty"`
	// Bastion is an IP or hostname of the bastion (or jump) host to connect to.
	// Default value is "".
	Bastion string `json:"bastion,omitempty"`
	// BastionPort is SSH port to use when connecting to the bastion if it's configured in .Bastion.
	// Default value is 22.
	BastionPort int `json:"bastionPort,omitempty"`
	// BastionUser is system login name to use when connecting to bastion host.
	// Default value is "root".
	BastionUser string `json:"bastionUser,omitempty"`
	// Hostname is the hostname(1) of the host.
	// Default value is populated at the runtime via running `hostname -f` command over ssh.
	Hostname string `json:"hostname,omitempty"`
	// IsLeader indicates this host as a session leader.
	// Default value is populated at the runtime.
	IsLeader bool `json:"isLeader,omitempty"`
	// Taints if not provided (i.e. nil) defaults to TaintEffectNoSchedule, with key node-role.kubernetes.io/master for
	// control plane nodes.
	// Explicitly empty (i.e. []corev1.Taint{}) means no taints will be applied (this is default for worker nodes).
	Taints []corev1.Taint `json:"taints,omitempty"`
	// Kubelet
	Kubelet KubeletConfig `json:"kubelet,omitempty"`
	// OperatingSystem information, can be populated at the runtime.
	OperatingSystem OperatingSystemName `json:"operatingSystem,omitempty"`
}

HostConfig describes a single control plane node.

func (*HostConfig) DeepCopy

func (in *HostConfig) DeepCopy() *HostConfig

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

func (*HostConfig) DeepCopyInto

func (in *HostConfig) DeepCopyInto(out *HostConfig)

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

func (*HostConfig) SetHostname

func (h *HostConfig) SetHostname(hostname string)

SetHostname sets the hostname for the given host

func (*HostConfig) SetLeader

func (h *HostConfig) SetLeader(leader bool)

SetLeader sets is the given host leader

func (*HostConfig) SetOperatingSystem

func (h *HostConfig) SetOperatingSystem(os OperatingSystemName) error

SetOperatingSystem sets the operating system for the given host

type IPTables added in v1.3.0

type IPTables struct{}

IPTables

func (*IPTables) DeepCopy added in v1.3.0

func (in *IPTables) DeepCopy() *IPTables

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

func (*IPTables) DeepCopyInto added in v1.3.0

func (in *IPTables) DeepCopyInto(out *IPTables)

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

type IPVSConfig added in v1.3.0

type IPVSConfig struct {
	// ipvs scheduler, if it’s not configured, then round-robin (rr) is the default value.
	// Can be one of:
	// * rr: round-robin
	// * lc: least connection (smallest number of open connections)
	// * dh: destination hashing
	// * sh: source hashing
	// * sed: shortest expected delay
	// * nq: never queue
	Scheduler string `json:"scheduler"`

	// excludeCIDRs is a list of CIDR's which the ipvs proxier should not touch
	// when cleaning up ipvs services.
	ExcludeCIDRs []string `json:"excludeCIDRs"`

	// strict ARP configure arp_ignore and arp_announce to avoid answering ARP queries
	// from kube-ipvs0 interface
	StrictARP bool `json:"strictARP"`

	// tcpTimeout is the timeout value used for idle IPVS TCP sessions.
	// The default value is 0, which preserves the current timeout value on the system.
	TCPTimeout metav1.Duration `json:"tcpTimeout"`

	// tcpFinTimeout is the timeout value used for IPVS TCP sessions after receiving a FIN.
	// The default value is 0, which preserves the current timeout value on the system.
	TCPFinTimeout metav1.Duration `json:"tcpFinTimeout"`

	// udpTimeout is the timeout value used for IPVS UDP packets.
	// The default value is 0, which preserves the current timeout value on the system.
	UDPTimeout metav1.Duration `json:"udpTimeout"`
}

IPVSConfig contains different options to configure IPVS kube-proxy mode

func (*IPVSConfig) DeepCopy added in v1.3.0

func (in *IPVSConfig) DeepCopy() *IPVSConfig

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

func (*IPVSConfig) DeepCopyInto added in v1.3.0

func (in *IPVSConfig) DeepCopyInto(out *IPVSConfig)

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

type ImageAsset added in v1.2.0

type ImageAsset struct {
	// ImageRepository customizes the registry/repository
	ImageRepository string `json:"imageRepository,omitempty"`
	// ImageTag customizes the image tag
	ImageTag string `json:"imageTag,omitempty"`
}

ImageAsset is used to customize the image repository and the image tag

func (*ImageAsset) DeepCopy added in v1.2.0

func (in *ImageAsset) DeepCopy() *ImageAsset

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

func (*ImageAsset) DeepCopyInto added in v1.2.0

func (in *ImageAsset) DeepCopyInto(out *ImageAsset)

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

type KubeOneCluster

type KubeOneCluster struct {
	metav1.TypeMeta `json:",inline"`

	// Name is the name of the cluster.
	Name string `json:"name"`
	// ControlPlane describes the control plane nodes and how to access them.
	ControlPlane ControlPlaneConfig `json:"controlPlane"`
	// APIEndpoint are pairs of address and port used to communicate with the Kubernetes API.
	APIEndpoint APIEndpoint `json:"apiEndpoint"`
	// CloudProvider configures the cloud provider specific features.
	CloudProvider CloudProviderSpec `json:"cloudProvider"`
	// Versions defines which Kubernetes version will be installed.
	Versions VersionConfig `json:"versions"`
	// ContainerRuntime defines which container runtime will be installed
	ContainerRuntime ContainerRuntimeConfig `json:"containerRuntime,omitempty"`
	// ClusterNetwork configures the in-cluster networking.
	ClusterNetwork ClusterNetworkConfig `json:"clusterNetwork,omitempty"`
	// Proxy configures proxy used while installing Kubernetes and by the Docker daemon.
	Proxy ProxyConfig `json:"proxy,omitempty"`
	// StaticWorkers describes the worker nodes that are managed by KubeOne/kubeadm.
	StaticWorkers StaticWorkersConfig `json:"staticWorkers,omitempty"`
	// DynamicWorkers describes the worker nodes that are managed by Kubermatic machine-controller/Cluster-API.
	DynamicWorkers []DynamicWorkerConfig `json:"dynamicWorkers,omitempty"`
	// MachineController configures the Kubermatic machine-controller component.
	MachineController *MachineControllerConfig `json:"machineController,omitempty"`
	// CABundle PEM encoded global CA
	CABundle string `json:"caBundle,omitempty"`
	// Features enables and configures additional cluster features.
	Features Features `json:"features,omitempty"`
	// Addons are used to deploy additional manifests.
	Addons *Addons `json:"addons,omitempty"`
	// SystemPackages configure kubeone behaviour regarding OS packages.
	SystemPackages *SystemPackages `json:"systemPackages,omitempty"`
	// AssetConfiguration configures how are binaries and container images downloaded
	AssetConfiguration AssetConfiguration `json:"assetConfiguration,omitempty"`
	// RegistryConfiguration configures how Docker images are pulled from an image registry
	RegistryConfiguration *RegistryConfiguration `json:"registryConfiguration,omitempty"`
	// LoggingConfig configures the Kubelet's log rotation
	LoggingConfig LoggingConfig `json:"loggingConfig,omitempty"`
}

KubeOneCluster is KubeOne Cluster API Schema

func (KubeOneCluster) CSIMigrationFeatureGates added in v1.3.0

func (c KubeOneCluster) CSIMigrationFeatureGates(complete bool) (map[string]bool, string, error)

CSIMigrationFeatureGates returns CSI migration feature gates in form of a map (to be used with Kubelet config) and string (to be used with kube-apiserver and kube-controller-manager) NB: We're intentionally not enabling CSIMigration feature gate because it's enabled by default since Kubernetes 1.18 (https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) This is a KubeOneCluster function because feature gates are Kubernetes-version dependent.

func (*KubeOneCluster) DeepCopy

func (in *KubeOneCluster) DeepCopy() *KubeOneCluster

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

func (*KubeOneCluster) DeepCopyInto

func (in *KubeOneCluster) DeepCopyInto(out *KubeOneCluster)

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

func (*KubeOneCluster) DeepCopyObject

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

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

func (*KubeOneCluster) DefaultAssetConfiguration added in v1.4.0

func (c *KubeOneCluster) DefaultAssetConfiguration()

DefaultAssetConfiguration determines what image repository should be used for Kubernetes and metrics-server images. The AssetsConfiguration has the highest priority, then comes the RegistryConfiguration. This function is needed because the AssetsConfiguration API has been removed in the v1beta2 API, so we can't use defaulting

func (KubeOneCluster) Followers

func (c KubeOneCluster) Followers() []HostConfig

Followers returns all but the first configured host. Only call this after validating the cluster config to ensure hosts exist.

func (KubeOneCluster) InTreePluginUnregisterFeatureGate added in v1.3.0

func (c KubeOneCluster) InTreePluginUnregisterFeatureGate() []string

CSIMigrationFeatureGates returns the name of the feature gate that's supposed to unregister the in-tree cloud provider. NB: This is a KubeOneCluster function because feature gates are Kubernetes-version dependent.

func (*KubeOneCluster) IsManagedNode added in v1.2.0

func (c *KubeOneCluster) IsManagedNode(nodename string) bool

IsManagedNode reports whether given node name is known to the KubeOne configuration

func (KubeOneCluster) Leader

func (c KubeOneCluster) Leader() (HostConfig, error)

Leader returns the first configured host. Only call this after validating the cluster config to ensure a leader exists.

func (KubeOneCluster) OperatingSystemManagerEnabled added in v1.4.0

func (c KubeOneCluster) OperatingSystemManagerEnabled() bool

func (KubeOneCluster) OperatingSystemManagerQueuedForDeletion added in v1.4.0

func (c KubeOneCluster) OperatingSystemManagerQueuedForDeletion() bool

func (KubeOneCluster) RandomHost added in v1.0.0

func (c KubeOneCluster) RandomHost() HostConfig

type KubeProxyConfig added in v1.3.0

type KubeProxyConfig struct {
	// SkipInstallation will skip the installation of kube-proxy
	// default value is false
	SkipInstallation bool `json:"skipInstallation"`

	// IPVS config
	IPVS *IPVSConfig `json:"ipvs"`

	// IPTables config
	IPTables *IPTables `json:"iptables"`
}

KubeProxyConfig defines configured kube-proxy mode, default is iptables mode

func (*KubeProxyConfig) DeepCopy added in v1.3.0

func (in *KubeProxyConfig) DeepCopy() *KubeProxyConfig

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

func (*KubeProxyConfig) DeepCopyInto added in v1.3.0

func (in *KubeProxyConfig) DeepCopyInto(out *KubeProxyConfig)

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

type KubeProxyReplacementType added in v1.4.0

type KubeProxyReplacementType string
const (
	KubeProxyReplacementStrict   KubeProxyReplacementType = "strict"
	KubeProxyReplacementDisabled KubeProxyReplacementType = "disabled"
)

type KubeletConfig added in v1.4.0

type KubeletConfig struct {
	// SystemReserved configure --system-reserved command-line flag of the kubelet.
	// See more at: https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/
	SystemReserved map[string]string `json:"systemReserved,omitempty"`
	// KubeReserved configure --kube-reserved command-line flag of the kubelet.
	// See more at: https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/
	KubeReserved map[string]string `json:"kubeReserved,omitempty"`
	// EvictionHard configure --eviction-hard command-line flag of the kubelet.
	// See more at: https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/
	EvictionHard map[string]string `json:"evictionHard,omitempty"`
	// MaxPods configures maximum number of pods per node.
	// If not provided, default value provided by kubelet will be used
	// (max. 110 pods per node)
	MaxPods *int32 `json:"maxPods,omitempty"`
}

KubeletConfig provides some kubelet configuration options

func (*KubeletConfig) DeepCopy added in v1.4.0

func (in *KubeletConfig) DeepCopy() *KubeletConfig

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

func (*KubeletConfig) DeepCopyInto added in v1.4.0

func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)

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

type LoggingConfig added in v1.4.0

type LoggingConfig struct {
	// ContainerLogMaxSize configures the maximum size of container log file before it is rotated
	// See more at: https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/
	ContainerLogMaxSize string `json:"containerLogMaxSize,omitempty"`
	// ContainerLogMaxFiles configures the maximum number of container log files that can be present for a container
	// See more at: https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/
	ContainerLogMaxFiles int32 `json:"containerLogMaxFiles,omitempty"`
}

LoggingConfig configures the Kubelet's log rotation

func (*LoggingConfig) DeepCopy added in v1.4.0

func (in *LoggingConfig) DeepCopy() *LoggingConfig

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

func (*LoggingConfig) DeepCopyInto added in v1.4.0

func (in *LoggingConfig) DeepCopyInto(out *LoggingConfig)

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

type MachineControllerConfig

type MachineControllerConfig struct {
	// Deploy
	Deploy bool `json:"deploy,omitempty"`
}

MachineControllerConfig configures kubermatic machine-controller deployment

func (*MachineControllerConfig) DeepCopy

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

func (*MachineControllerConfig) DeepCopyInto

func (in *MachineControllerConfig) DeepCopyInto(out *MachineControllerConfig)

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

type MetricsServer

type MetricsServer struct {
	// Enable deployment of metrics-server.
	// Default value is true.
	Enable bool `json:"enable,omitempty"`
}

MetricsServer feature flag

func (*MetricsServer) DeepCopy

func (in *MetricsServer) DeepCopy() *MetricsServer

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

func (*MetricsServer) DeepCopyInto

func (in *MetricsServer) DeepCopyInto(out *MetricsServer)

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

type NoneSpec added in v1.0.0

type NoneSpec struct{}

NoneSpec defines a none provider

func (*NoneSpec) DeepCopy added in v1.0.0

func (in *NoneSpec) DeepCopy() *NoneSpec

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

func (*NoneSpec) DeepCopyInto added in v1.0.0

func (in *NoneSpec) DeepCopyInto(out *NoneSpec)

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

type NutanixSpec added in v1.4.0

type NutanixSpec struct{}

NutanixSpec defines the Nutanix provider

func (*NutanixSpec) DeepCopy added in v1.4.0

func (in *NutanixSpec) DeepCopy() *NutanixSpec

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

func (*NutanixSpec) DeepCopyInto added in v1.4.0

func (in *NutanixSpec) DeepCopyInto(out *NutanixSpec)

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

type OpenIDConnect

type OpenIDConnect struct {
	// Enable
	Enable bool `json:"enable,omitempty"`
	// Config
	Config OpenIDConnectConfig `json:"config"`
}

OpenIDConnect feature flag

func (*OpenIDConnect) DeepCopy

func (in *OpenIDConnect) DeepCopy() *OpenIDConnect

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

func (*OpenIDConnect) DeepCopyInto

func (in *OpenIDConnect) DeepCopyInto(out *OpenIDConnect)

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

type OpenIDConnectConfig

type OpenIDConnectConfig struct {
	// IssuerURL
	IssuerURL string `json:"issuerUrl"`
	// ClientID
	ClientID string `json:"clientId"`
	// UsernameClaim
	UsernameClaim string `json:"usernameClaim"`
	// UsernamePrefix
	UsernamePrefix string `json:"usernamePrefix"`
	// GroupsClaim
	GroupsClaim string `json:"groupsClaim"`
	// GroupsPrefix
	GroupsPrefix string `json:"groupsPrefix"`
	// RequiredClaim
	RequiredClaim string `json:"requiredClaim"`
	// SigningAlgs
	SigningAlgs string `json:"signingAlgs"`
	// CAFile
	CAFile string `json:"caFile"`
}

OpenIDConnectConfig config

func (*OpenIDConnectConfig) DeepCopy

func (in *OpenIDConnectConfig) DeepCopy() *OpenIDConnectConfig

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

func (*OpenIDConnectConfig) DeepCopyInto

func (in *OpenIDConnectConfig) DeepCopyInto(out *OpenIDConnectConfig)

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

type OpenstackSpec added in v1.0.0

type OpenstackSpec struct{}

OpenstackSpec defines the Openstack provider

func (*OpenstackSpec) DeepCopy added in v1.0.0

func (in *OpenstackSpec) DeepCopy() *OpenstackSpec

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

func (*OpenstackSpec) DeepCopyInto added in v1.0.0

func (in *OpenstackSpec) DeepCopyInto(out *OpenstackSpec)

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

type OperatingSystemName added in v1.0.0

type OperatingSystemName string

OperatingSystemName defines the operating system used on instances

const (
	OperatingSystemNameUbuntu  OperatingSystemName = "ubuntu"
	OperatingSystemNameDebian  OperatingSystemName = "debian"
	OperatingSystemNameCentOS  OperatingSystemName = "centos"
	OperatingSystemNameRHEL    OperatingSystemName = "rhel"
	OperatingSystemNameAmazon  OperatingSystemName = "amzn"
	OperatingSystemNameFlatcar OperatingSystemName = "flatcar"
	OperatingSystemNameUnknown OperatingSystemName = ""
)

func (OperatingSystemName) IsValid added in v1.4.0

func (osName OperatingSystemName) IsValid() bool

type PodNodeSelector added in v1.0.0

type PodNodeSelector struct {
	// Enable
	Enable bool `json:"enable,omitempty"`
	// Config
	Config PodNodeSelectorConfig `json:"config"`
}

PodNodeSelector feature flag

func (*PodNodeSelector) DeepCopy added in v1.0.0

func (in *PodNodeSelector) DeepCopy() *PodNodeSelector

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

func (*PodNodeSelector) DeepCopyInto added in v1.0.0

func (in *PodNodeSelector) DeepCopyInto(out *PodNodeSelector)

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

type PodNodeSelectorConfig added in v1.0.0

type PodNodeSelectorConfig struct {
	// ConfigFilePath is a path on the local file system to the PodNodeSelector
	// configuration file.
	// ConfigFilePath is a required field.
	// More info: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#podnodeselector
	ConfigFilePath string `json:"configFilePath"`
}

PodNodeSelectorConfig config

func (*PodNodeSelectorConfig) DeepCopy added in v1.0.0

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

func (*PodNodeSelectorConfig) DeepCopyInto added in v1.0.0

func (in *PodNodeSelectorConfig) DeepCopyInto(out *PodNodeSelectorConfig)

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

type PodSecurityPolicy

type PodSecurityPolicy struct {
	// Enable
	Enable bool `json:"enable,omitempty"`
}

PodSecurityPolicy feature flag This feature is deprecated and will be removed from the API once Kubernetes 1.24 reaches EOL.

func (*PodSecurityPolicy) DeepCopy

func (in *PodSecurityPolicy) DeepCopy() *PodSecurityPolicy

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

func (*PodSecurityPolicy) DeepCopyInto

func (in *PodSecurityPolicy) DeepCopyInto(out *PodSecurityPolicy)

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

type ProviderSpec

type ProviderSpec struct {
	// CloudProviderSpec
	CloudProviderSpec json.RawMessage `json:"cloudProviderSpec"`
	// Annotations set MachineDeployment.ObjectMeta.Annotations
	Annotations map[string]string `json:"annotations,omitempty"`
	// MachineAnnotations set MachineDeployment.Spec.Template.Spec.ObjectMeta.Annotations
	// as a way to annotate resulting Nodes
	// Deprecated: Use NodeAnnotations instead.
	MachineAnnotations map[string]string `json:"machineAnnotations,omitempty"`
	// NodeAnnotations set MachineDeployment.Spec.Template.Spec.ObjectMeta.Annotations
	// as a way to annotate resulting Nodes
	NodeAnnotations map[string]string `json:"nodeAnnotations,omitempty"`
	// MachineObjectAnnotations set MachineDeployment.Spec.Template.Metadata.Annotations
	// as a way to annotate resulting Machine objects. Those annotations are not
	// propagated to Node objects. If you want to annotate resulting Nodes as well,
	// see NodeAnnotations
	MachineObjectAnnotations map[string]string `json:"machineObjectAnnotations,omitempty"`
	// Labels
	Labels map[string]string `json:"labels,omitempty"`
	// Taints
	Taints []corev1.Taint `json:"taints,omitempty"`
	// SSHPublicKeys
	SSHPublicKeys []string `json:"sshPublicKeys,omitempty"`
	// OperatingSystem
	OperatingSystem string `json:"operatingSystem"`
	// OperatingSystemSpec
	OperatingSystemSpec json.RawMessage `json:"operatingSystemSpec,omitempty"`
	// Network
	Network *ProviderStaticNetworkConfig `json:"network,omitempty"`
	// OverwriteCloudConfig
	OverwriteCloudConfig *string `json:"overwriteCloudConfig,omitempty"`
}

ProviderSpec describes a worker node

func (*ProviderSpec) DeepCopy

func (in *ProviderSpec) DeepCopy() *ProviderSpec

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

func (*ProviderSpec) DeepCopyInto

func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)

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

type ProviderStaticNetworkConfig added in v1.0.0

type ProviderStaticNetworkConfig struct {
	// CIDR
	CIDR string `json:"cidr"`
	// Gateway
	Gateway string `json:"gateway"`
	// DNS
	DNS DNSConfig `json:"dns"`
}

ProviderStaticNetworkConfig contains a machine's static network configuration

func (*ProviderStaticNetworkConfig) DeepCopy added in v1.0.0

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

func (*ProviderStaticNetworkConfig) DeepCopyInto added in v1.0.0

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

type ProxyConfig

type ProxyConfig struct {
	// HTTP
	HTTP string `json:"http,omitempty"`
	// HTTPS
	HTTPS string `json:"https,omitempty"`
	// NoProxy
	NoProxy string `json:"noProxy,omitempty"`
}

ProxyConfig configures proxy for the Docker daemon and is used by KubeOne scripts

func (*ProxyConfig) DeepCopy

func (in *ProxyConfig) DeepCopy() *ProxyConfig

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

func (*ProxyConfig) DeepCopyInto

func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig)

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

type RegistryConfiguration added in v1.1.0

type RegistryConfiguration struct {
	// OverwriteRegistry specifies a custom Docker registry which will be used
	// for all images required for KubeOne and kubeadm. This also applies to
	// addons deployed by KubeOne.
	// This field doesn't modify the user/organization part of the image. For example,
	// if OverwriteRegistry is set to 127.0.0.1:5000/example, image called
	// calico/cni would translate to 127.0.0.1:5000/example/calico/cni.
	// Default: ""
	OverwriteRegistry string `json:"overwriteRegistry,omitempty"`
	// InsecureRegistry configures Docker to threat the registry specified
	// in OverwriteRegistry as an insecure registry. This is also propagated
	// to the worker nodes managed by machine-controller and/or KubeOne.
	InsecureRegistry bool `json:"insecureRegistry,omitempty"`
}

RegistryConfiguration controls how images used for components deployed by KubeOne and kubeadm are pulled from an image registry

func (*RegistryConfiguration) DeepCopy added in v1.1.0

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

func (*RegistryConfiguration) DeepCopyInto added in v1.1.0

func (in *RegistryConfiguration) DeepCopyInto(out *RegistryConfiguration)

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

func (*RegistryConfiguration) ImageRegistry added in v1.1.0

func (r *RegistryConfiguration) ImageRegistry(defaultRegistry string) string

ImageRegistry returns the image registry to use or the passed in default if no override is specified

func (*RegistryConfiguration) InsecureRegistryAddress added in v1.1.0

func (r *RegistryConfiguration) InsecureRegistryAddress() string

InsecureRegistryAddress returns the registry that should be configured as insecure if InsecureRegistry is enabled

type StaticAuditLog added in v1.0.0

type StaticAuditLog struct {
	// Enable
	Enable bool `json:"enable,omitempty"`
	// Config
	Config StaticAuditLogConfig `json:"config"`
}

StaticAuditLog feature flag

func (*StaticAuditLog) DeepCopy added in v1.0.0

func (in *StaticAuditLog) DeepCopy() *StaticAuditLog

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

func (*StaticAuditLog) DeepCopyInto added in v1.0.0

func (in *StaticAuditLog) DeepCopyInto(out *StaticAuditLog)

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

type StaticAuditLogConfig added in v1.0.0

type StaticAuditLogConfig struct {
	// PolicyFilePath is a path on local file system to the audit policy manifest
	// which defines what events should be recorded and what data they should include.
	// PolicyFilePath is a required field.
	// More info: https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#audit-policy
	PolicyFilePath string `json:"policyFilePath"`
	// LogPath is path on control plane instances where audit log files are stored.
	// Default value is /var/log/kubernetes/audit.log
	LogPath string `json:"logPath,omitempty"`
	// LogMaxAge is maximum number of days to retain old audit log files.
	// Default value is 30
	LogMaxAge int `json:"logMaxAge,omitempty"`
	// LogMaxBackup is maximum number of audit log files to retain.
	// Default value is 3.
	LogMaxBackup int `json:"logMaxBackup,omitempty"`
	// LogMaxSize is maximum size in megabytes of audit log file before it gets rotated.
	// Default value is 100.
	LogMaxSize int `json:"logMaxSize,omitempty"`
}

StaticAuditLogConfig config

func (*StaticAuditLogConfig) DeepCopy added in v1.0.0

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

func (*StaticAuditLogConfig) DeepCopyInto added in v1.0.0

func (in *StaticAuditLogConfig) DeepCopyInto(out *StaticAuditLogConfig)

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

type StaticWorkersConfig added in v1.0.0

type StaticWorkersConfig struct {
	// Hosts
	Hosts []HostConfig `json:"hosts,omitempty"`
}

StaticWorkersConfig defines static worker nodes provisioned by KubeOne and kubeadm

func (*StaticWorkersConfig) DeepCopy added in v1.0.0

func (in *StaticWorkersConfig) DeepCopy() *StaticWorkersConfig

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

func (*StaticWorkersConfig) DeepCopyInto added in v1.0.0

func (in *StaticWorkersConfig) DeepCopyInto(out *StaticWorkersConfig)

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

type SystemPackages added in v1.0.0

type SystemPackages struct {
	// ConfigureRepositories (true by default) is a flag to control automatic
	// configuration of kubeadm / docker repositories.
	ConfigureRepositories bool `json:"configureRepositories,omitempty"`
}

SystemPackages controls configurations of APT/YUM

func (*SystemPackages) DeepCopy added in v1.0.0

func (in *SystemPackages) DeepCopy() *SystemPackages

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

func (*SystemPackages) DeepCopyInto added in v1.0.0

func (in *SystemPackages) DeepCopyInto(out *SystemPackages)

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

type VersionConfig

type VersionConfig struct {
	Kubernetes string `json:"kubernetes"`
}

VersionConfig describes the versions of components that are installed on the machines

func (*VersionConfig) DeepCopy

func (in *VersionConfig) DeepCopy() *VersionConfig

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

func (*VersionConfig) DeepCopyInto

func (in *VersionConfig) DeepCopyInto(out *VersionConfig)

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

type VsphereSpec added in v1.0.0

type VsphereSpec struct{}

VsphereSpec defines the vSphere provider

func (*VsphereSpec) DeepCopy added in v1.0.0

func (in *VsphereSpec) DeepCopy() *VsphereSpec

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

func (*VsphereSpec) DeepCopyInto added in v1.0.0

func (in *VsphereSpec) DeepCopyInto(out *VsphereSpec)

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

type WeaveNetSpec added in v1.0.0

type WeaveNetSpec struct {
	// Encrypted
	Encrypted bool `json:"encrypted,omitempty"`
}

WeaveNetSpec defines the WeaveNet CNI plugin

func (*WeaveNetSpec) DeepCopy added in v1.0.0

func (in *WeaveNetSpec) DeepCopy() *WeaveNetSpec

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

func (*WeaveNetSpec) DeepCopyInto added in v1.0.0

func (in *WeaveNetSpec) DeepCopyInto(out *WeaveNetSpec)

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

Directories

Path Synopsis
Package v1beta1 defines the v1beta1 version of KubeOneCluster API
Package v1beta1 defines the v1beta1 version of KubeOneCluster API
Package v1beta2 defines the v1beta2 version of KubeOneCluster API
Package v1beta2 defines the v1beta2 version of KubeOneCluster API

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL