Documentation ¶
Overview ¶
Package v1alpha1 configuration file contains all the options available for configuring a machine.
To generate a set of basic configuration files, run:
talosctl gen config --version v1alpha1 <cluster name> <cluster endpoint>
This will generate a machine config for each node type, and a talosconfig for the CLI.
Index ¶
- Constants
- Variables
- func CheckDeviceAddressing(d *Device, bondedInterfaces map[string]string) ([]string, error)
- func CheckDeviceInterface(d *Device, _ map[string]string) ([]string, error)
- func CheckDeviceRoutes(d *Device, _ map[string]string) ([]string, error)
- func GetConfigurationDoc() *encoder.FileDoc
- func ValidateCNI(cni config.CNI) ([]string, error)
- func ValidateNetworkDevices(d *Device, pairedInterfaces map[string]string, checks ...NetworkDeviceCheck) ([]string, error)
- type APIServerConfig
- func (a *APIServerConfig) AdmissionControl() []config.AdmissionPlugin
- func (a *APIServerConfig) AuditPolicy() map[string]interface{}
- func (in *APIServerConfig) DeepCopy() *APIServerConfig
- func (in *APIServerConfig) DeepCopyInto(out *APIServerConfig)
- func (a *APIServerConfig) DisablePodSecurityPolicy() bool
- func (APIServerConfig) Doc() *encoder.Doc
- func (a *APIServerConfig) Env() Env
- func (a *APIServerConfig) ExtraArgs() map[string]string
- func (a *APIServerConfig) ExtraVolumes() []config.VolumeMount
- func (a *APIServerConfig) Image() string
- func (a *APIServerConfig) Resources() config.Resources
- func (a *APIServerConfig) Validate() error
- type AdminKubeconfigConfig
- func (a *AdminKubeconfigConfig) CertLifetime() time.Duration
- func (a *AdminKubeconfigConfig) CertOrganization() string
- func (a *AdminKubeconfigConfig) CommonName() string
- func (in *AdminKubeconfigConfig) DeepCopy() *AdminKubeconfigConfig
- func (in *AdminKubeconfigConfig) DeepCopyInto(out *AdminKubeconfigConfig)
- func (AdminKubeconfigConfig) Doc() *encoder.Doc
- type AdmissionPluginConfig
- func (a *AdmissionPluginConfig) Configuration() map[string]interface{}
- func (in *AdmissionPluginConfig) DeepCopy() *AdmissionPluginConfig
- func (in *AdmissionPluginConfig) DeepCopyInto(out *AdmissionPluginConfig)
- func (AdmissionPluginConfig) Doc() *encoder.Doc
- func (a *AdmissionPluginConfig) Name() string
- type AdmissionPluginConfigList
- type Base64Bytes
- type Bond
- func (b *Bond) ADActorSysPrio() uint16
- func (b *Bond) ADActorSystem() string
- func (b *Bond) ADSelect() string
- func (b *Bond) ADUserPortKey() uint16
- func (b *Bond) ARPAllTargets() string
- func (b *Bond) ARPIPTarget() []string
- func (b *Bond) ARPInterval() uint32
- func (b *Bond) ARPValidate() string
- func (b *Bond) AllSlavesActive() uint8
- func (in *Bond) DeepCopy() *Bond
- func (in *Bond) DeepCopyInto(out *Bond)
- func (Bond) Doc() *encoder.Doc
- func (b *Bond) DownDelay() uint32
- func (b *Bond) FailOverMac() string
- func (b *Bond) HashPolicy() string
- func (b *Bond) Interfaces() []string
- func (b *Bond) LACPRate() string
- func (b *Bond) LPInterval() uint32
- func (b *Bond) MIIMon() uint32
- func (b *Bond) MinLinks() uint32
- func (b *Bond) Mode() string
- func (b *Bond) NumPeerNotif() uint8
- func (b *Bond) PacketsPerSlave() uint32
- func (b *Bond) PeerNotifyDelay() uint32
- func (b *Bond) Primary() string
- func (b *Bond) PrimaryReselect() string
- func (b *Bond) ResendIGMP() uint32
- func (b *Bond) Selectors() []config.NetworkDeviceSelector
- func (b *Bond) TLBDynamicLB() uint8
- func (b *Bond) UpDelay() uint32
- func (b *Bond) UseCarrier() bool
- type Bridge
- type CNIConfig
- type ClusterConfig
- func (c *ClusterConfig) AESCBCEncryptionSecret() string
- func (c *ClusterConfig) APIServer() config.APIServer
- func (c *ClusterConfig) APIServerIPs() ([]netip.Addr, error)
- func (c *ClusterConfig) AdminKubeconfig() config.AdminKubeconfig
- func (c *ClusterConfig) AggregatorCA() *x509.PEMEncodedCertificateAndKey
- func (c *ClusterConfig) CA() *x509.PEMEncodedCertificateAndKey
- func (c *ClusterConfig) CNI() config.CNI
- func (c *ClusterConfig) CertSANs() []string
- func (c *ClusterConfig) ControllerManager() config.ControllerManager
- func (c *ClusterConfig) CoreDNS() config.CoreDNS
- func (c *ClusterConfig) DNSDomain() string
- func (c *ClusterConfig) DNSServiceIPs() ([]netip.Addr, error)
- func (in *ClusterConfig) DeepCopy() *ClusterConfig
- func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)
- func (c *ClusterConfig) Discovery() config.Discovery
- func (ClusterConfig) Doc() *encoder.Doc
- func (c *ClusterConfig) Endpoint() *url.URL
- func (c *ClusterConfig) Etcd() config.Etcd
- func (c *ClusterConfig) ExternalCloudProvider() config.ExternalCloudProvider
- func (c *ClusterConfig) ExtraManifestHeaderMap() map[string]string
- func (c *ClusterConfig) ExtraManifestURLs() []string
- func (c *ClusterConfig) ID() string
- func (c *ClusterConfig) InlineManifests() []config.InlineManifest
- func (c *ClusterConfig) LocalAPIServerPort() int
- func (c *ClusterConfig) Name() string
- func (c *ClusterConfig) Network() config.ClusterNetwork
- func (c *ClusterConfig) PodCIDRs() []string
- func (c *ClusterConfig) Proxy() config.Proxy
- func (c *ClusterConfig) ScheduleOnControlPlanes() bool
- func (c *ClusterConfig) Scheduler() config.Scheduler
- func (c *ClusterConfig) Secret() string
- func (c *ClusterConfig) SecretboxEncryptionSecret() string
- func (c *ClusterConfig) ServiceAccount() *x509.PEMEncodedKey
- func (c *ClusterConfig) ServiceCIDRs() []string
- func (c *ClusterConfig) Token() config.Token
- func (c *ClusterConfig) Validate() error
- type ClusterDiscoveryConfig
- func (in *ClusterDiscoveryConfig) DeepCopy() *ClusterDiscoveryConfig
- func (in *ClusterDiscoveryConfig) DeepCopyInto(out *ClusterDiscoveryConfig)
- func (ClusterDiscoveryConfig) Doc() *encoder.Doc
- func (c *ClusterDiscoveryConfig) Enabled() bool
- func (c *ClusterDiscoveryConfig) Registries() config.DiscoveryRegistries
- func (c *ClusterDiscoveryConfig) Validate(clusterCfg *ClusterConfig) error
- type ClusterInlineManifest
- type ClusterInlineManifests
- type ClusterNetworkConfig
- type Config
- func (c *Config) APIVersion() string
- func (c *Config) Clone() config.Document
- func (c *Config) Cluster() config.ClusterConfig
- func (c *Config) Debug() bool
- func (in *Config) DeepCopy() *Config
- func (in *Config) DeepCopyInto(out *Config)
- func (Config) Doc() *encoder.Doc
- func (c *Config) Kind() string
- func (c *Config) Machine() config.MachineConfig
- func (c *Config) Persist() bool
- func (c *Config) Redact(replacement string)
- func (c *Config) Validate(mode validation.RuntimeMode, options ...validation.Option) ([]string, error)
- type ControlPlaneConfig
- type ControllerManagerConfig
- func (in *ControllerManagerConfig) DeepCopy() *ControllerManagerConfig
- func (in *ControllerManagerConfig) DeepCopyInto(out *ControllerManagerConfig)
- func (ControllerManagerConfig) Doc() *encoder.Doc
- func (c *ControllerManagerConfig) Env() Env
- func (c *ControllerManagerConfig) ExtraArgs() map[string]string
- func (c *ControllerManagerConfig) ExtraVolumes() []config.VolumeMount
- func (c *ControllerManagerConfig) Image() string
- func (c *ControllerManagerConfig) Resources() config.Resources
- func (c *ControllerManagerConfig) Validate() error
- type CoreDNS
- type DHCPOptions
- type Device
- func (d *Device) Addresses() []string
- func (d *Device) Bond() config.Bond
- func (d *Device) Bridge() config.Bridge
- func (d *Device) DHCP() bool
- func (d *Device) DHCPOptions() config.DHCPOptions
- func (in *Device) DeepCopy() *Device
- func (in *Device) DeepCopyInto(out *Device)
- func (Device) Doc() *encoder.Doc
- func (d *Device) Dummy() bool
- func (d *Device) Ignore() bool
- func (d *Device) Interface() string
- func (d *Device) MTU() int
- func (d *Device) Routes() []config.Route
- func (d *Device) Selector() config.NetworkDeviceSelector
- func (d *Device) VIPConfig() config.VIPConfig
- func (d *Device) Vlans() []config.Vlan
- func (d *Device) WireguardConfig() config.WireguardConfig
- type DeviceVIPConfig
- func (in *DeviceVIPConfig) DeepCopy() *DeviceVIPConfig
- func (in *DeviceVIPConfig) DeepCopyInto(out *DeviceVIPConfig)
- func (DeviceVIPConfig) Doc() *encoder.Doc
- func (d *DeviceVIPConfig) EquinixMetal() config.VIPEquinixMetal
- func (d *DeviceVIPConfig) HCloud() config.VIPHCloud
- func (d *DeviceVIPConfig) IP() string
- type DeviceWireguardConfig
- func (in *DeviceWireguardConfig) DeepCopy() *DeviceWireguardConfig
- func (in *DeviceWireguardConfig) DeepCopyInto(out *DeviceWireguardConfig)
- func (DeviceWireguardConfig) Doc() *encoder.Doc
- func (wc *DeviceWireguardConfig) FirewallMark() int
- func (wc *DeviceWireguardConfig) ListenPort() int
- func (wc *DeviceWireguardConfig) Peers() []config.WireguardPeer
- func (wc *DeviceWireguardConfig) PrivateKey() string
- type DeviceWireguardPeer
- func (wd *DeviceWireguardPeer) AllowedIPs() []string
- func (in *DeviceWireguardPeer) DeepCopy() *DeviceWireguardPeer
- func (in *DeviceWireguardPeer) DeepCopyInto(out *DeviceWireguardPeer)
- func (DeviceWireguardPeer) Doc() *encoder.Doc
- func (wd *DeviceWireguardPeer) Endpoint() string
- func (wd *DeviceWireguardPeer) PersistentKeepaliveInterval() time.Duration
- func (wd *DeviceWireguardPeer) PublicKey() string
- type DiscoveryRegistriesConfig
- func (in *DiscoveryRegistriesConfig) DeepCopy() *DiscoveryRegistriesConfig
- func (in *DiscoveryRegistriesConfig) DeepCopyInto(out *DiscoveryRegistriesConfig)
- func (DiscoveryRegistriesConfig) Doc() *encoder.Doc
- func (c DiscoveryRegistriesConfig) Kubernetes() config.KubernetesRegistry
- func (c DiscoveryRegistriesConfig) Service() config.ServiceRegistry
- type DiskPartition
- type DiskSize
- type EncryptionConfig
- func (e *EncryptionConfig) BlockSize() uint64
- func (e *EncryptionConfig) Cipher() string
- func (in *EncryptionConfig) DeepCopy() *EncryptionConfig
- func (in *EncryptionConfig) DeepCopyInto(out *EncryptionConfig)
- func (EncryptionConfig) Doc() *encoder.Doc
- func (e *EncryptionConfig) KeySize() uint
- func (e *EncryptionConfig) Keys() []config.EncryptionKey
- func (e *EncryptionConfig) Options() []string
- func (e *EncryptionConfig) Provider() string
- type EncryptionKey
- func (in *EncryptionKey) DeepCopy() *EncryptionKey
- func (in *EncryptionKey) DeepCopyInto(out *EncryptionKey)
- func (EncryptionKey) Doc() *encoder.Doc
- func (e *EncryptionKey) KMS() config.EncryptionKeyKMS
- func (e *EncryptionKey) NodeID() config.EncryptionKeyNodeID
- func (e *EncryptionKey) Slot() int
- func (e *EncryptionKey) Static() config.EncryptionKeyStatic
- func (e *EncryptionKey) TPM() config.EncryptionKeyTPM
- type EncryptionKeyKMS
- type EncryptionKeyNodeID
- type EncryptionKeyStatic
- type EncryptionKeyTPM
- type Endpoint
- type Env
- type EtcdConfig
- func (e *EtcdConfig) AdvertisedSubnets() []string
- func (e *EtcdConfig) CA() *x509.PEMEncodedCertificateAndKey
- func (in *EtcdConfig) DeepCopy() *EtcdConfig
- func (in *EtcdConfig) DeepCopyInto(out *EtcdConfig)
- func (EtcdConfig) Doc() *encoder.Doc
- func (e *EtcdConfig) ExtraArgs() map[string]string
- func (e *EtcdConfig) Image() string
- func (e *EtcdConfig) ListenSubnets() []string
- func (e *EtcdConfig) Validate() error
- type ExternalCloudProviderConfig
- func (in *ExternalCloudProviderConfig) DeepCopy() *ExternalCloudProviderConfig
- func (in *ExternalCloudProviderConfig) DeepCopyInto(out *ExternalCloudProviderConfig)
- func (ExternalCloudProviderConfig) Doc() *encoder.Doc
- func (ecp *ExternalCloudProviderConfig) Enabled() bool
- func (ecp *ExternalCloudProviderConfig) ManifestURLs() []string
- func (ecp *ExternalCloudProviderConfig) Validate() error
- type ExtraHost
- type ExtraMount
- type FeaturesConfig
- func (f *FeaturesConfig) ApidCheckExtKeyUsageEnabled() bool
- func (in *FeaturesConfig) DeepCopy() *FeaturesConfig
- func (in *FeaturesConfig) DeepCopyInto(out *FeaturesConfig)
- func (f *FeaturesConfig) DiskQuotaSupportEnabled() bool
- func (FeaturesConfig) Doc() *encoder.Doc
- func (f *FeaturesConfig) KubePrism() config.KubePrism
- func (f *FeaturesConfig) KubernetesTalosAPIAccess() config.KubernetesTalosAPIAccess
- func (f *FeaturesConfig) RBACEnabled() bool
- func (f *FeaturesConfig) StableHostnameEnabled() bool
- type FileMode
- type IfaceSelector
- type InstallConfig
- func (in *InstallConfig) DeepCopy() *InstallConfig
- func (in *InstallConfig) DeepCopyInto(out *InstallConfig)
- func (i *InstallConfig) Disk() (string, error)
- func (i *InstallConfig) DiskMatchers() []disk.Matcher
- func (InstallConfig) Doc() *encoder.Doc
- func (i *InstallConfig) Extensions() []config.Extension
- func (i *InstallConfig) ExtraKernelArgs() []string
- func (i *InstallConfig) Image() string
- func (i *InstallConfig) LegacyBIOSSupport() bool
- func (i *InstallConfig) WithBootloader() bool
- func (i *InstallConfig) Zero() bool
- type InstallDiskSelector
- type InstallDiskSizeMatchData
- type InstallDiskSizeMatcher
- func (in *InstallDiskSizeMatcher) DeepCopy() *InstallDiskSizeMatcher
- func (in *InstallDiskSizeMatcher) DeepCopyInto(out *InstallDiskSizeMatcher)
- func (m *InstallDiskSizeMatcher) MarshalYAML() (interface{}, error)
- func (m *InstallDiskSizeMatcher) Matcher(d *disk.Disk) bool
- func (m *InstallDiskSizeMatcher) UnmarshalYAML(unmarshal func(interface{}) error) error
- type InstallDiskType
- type InstallExtensionConfig
- type KernelConfig
- type KernelModuleConfig
- type KubePrism
- type KubeSpanFilters
- type KubeletConfig
- func (k *KubeletConfig) ClusterDNS() []string
- func (in *KubeletConfig) DeepCopy() *KubeletConfig
- func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)
- func (k *KubeletConfig) DefaultRuntimeSeccompProfileEnabled() bool
- func (k *KubeletConfig) DisableManifestsDirectory() bool
- func (KubeletConfig) Doc() *encoder.Doc
- func (k *KubeletConfig) ExtraArgs() map[string]string
- func (k *KubeletConfig) ExtraConfig() map[string]interface{}
- func (k *KubeletConfig) ExtraMounts() []specs.Mount
- func (k *KubeletConfig) Image() string
- func (k *KubeletConfig) NodeIP() config.KubeletNodeIP
- func (k *KubeletConfig) RegisterWithFQDN() bool
- func (k *KubeletConfig) SkipNodeRegistration() bool
- func (k *KubeletConfig) Validate() ([]string, error)
- type KubeletNodeIPConfig
- type KubernetesTalosAPIAccessConfig
- func (c *KubernetesTalosAPIAccessConfig) AllowedKubernetesNamespaces() []string
- func (c *KubernetesTalosAPIAccessConfig) AllowedRoles() []string
- func (in *KubernetesTalosAPIAccessConfig) DeepCopy() *KubernetesTalosAPIAccessConfig
- func (in *KubernetesTalosAPIAccessConfig) DeepCopyInto(out *KubernetesTalosAPIAccessConfig)
- func (KubernetesTalosAPIAccessConfig) Doc() *encoder.Doc
- func (c *KubernetesTalosAPIAccessConfig) Enabled() bool
- type LoggingConfig
- type LoggingDestination
- type MachineConfig
- func (m *MachineConfig) CA() *x509.PEMEncodedCertificateAndKey
- func (m *MachineConfig) CertSANs() []string
- func (m *MachineConfig) Controlplane() config.MachineControlPlane
- func (in *MachineConfig) DeepCopy() *MachineConfig
- func (in *MachineConfig) DeepCopyInto(out *MachineConfig)
- func (m *MachineConfig) Disks() []config.Disk
- func (MachineConfig) Doc() *encoder.Doc
- func (m *MachineConfig) Env() config.Env
- func (m *MachineConfig) Features() config.Features
- func (m *MachineConfig) Files() ([]config.File, error)
- func (m *MachineConfig) Install() config.Install
- func (m *MachineConfig) Kernel() config.Kernel
- func (m *MachineConfig) Kubelet() config.Kubelet
- func (m *MachineConfig) Logging() config.Logging
- func (m *MachineConfig) Network() config.MachineNetwork
- func (m *MachineConfig) NodeLabels() config.NodeLabels
- func (m *MachineConfig) Pods() []map[string]interface{}
- func (m *MachineConfig) Registries() config.Registries
- func (m *MachineConfig) SeccompProfiles() []config.SeccompProfile
- func (m *MachineConfig) Security() config.Security
- func (m *MachineConfig) Server() string
- func (m *MachineConfig) Sysctls() map[string]string
- func (m *MachineConfig) Sysfs() map[string]string
- func (m *MachineConfig) SystemDiskEncryption() config.SystemDiskEncryption
- func (m *MachineConfig) Time() config.Time
- func (m *MachineConfig) Token() string
- func (m *MachineConfig) Type() machine.Type
- func (m *MachineConfig) Udev() config.UdevConfig
- type MachineControlPlaneConfig
- func (m *MachineControlPlaneConfig) ControllerManager() config.MachineControllerManager
- func (in *MachineControlPlaneConfig) DeepCopy() *MachineControlPlaneConfig
- func (in *MachineControlPlaneConfig) DeepCopyInto(out *MachineControlPlaneConfig)
- func (MachineControlPlaneConfig) Doc() *encoder.Doc
- func (m *MachineControlPlaneConfig) Scheduler() config.MachineScheduler
- type MachineControllerManagerConfig
- type MachineDisk
- type MachineFile
- type MachineSchedulerConfig
- type MachineSeccompProfile
- type NetworkConfig
- func (in *NetworkConfig) DeepCopy() *NetworkConfig
- func (in *NetworkConfig) DeepCopyInto(out *NetworkConfig)
- func (n *NetworkConfig) Devices() []config.Device
- func (n *NetworkConfig) DisableSearchDomain() bool
- func (NetworkConfig) Doc() *encoder.Doc
- func (n *NetworkConfig) ExtraHosts() []config.ExtraHost
- func (n *NetworkConfig) Hostname() string
- func (n *NetworkConfig) KubeSpan() config.KubeSpan
- func (n *NetworkConfig) Resolvers() []string
- type NetworkConfigOption
- func WithKubeSpan() NetworkConfigOption
- func WithNetworkConfig(c *NetworkConfig) NetworkConfigOption
- func WithNetworkInterfaceCIDR(iface IfaceSelector, cidr string) NetworkConfigOption
- func WithNetworkInterfaceDHCP(iface IfaceSelector, enable bool) NetworkConfigOption
- func WithNetworkInterfaceDHCPv4(iface IfaceSelector, enable bool) NetworkConfigOption
- func WithNetworkInterfaceDHCPv6(iface IfaceSelector, enable bool) NetworkConfigOption
- func WithNetworkInterfaceIgnore(iface IfaceSelector) NetworkConfigOption
- func WithNetworkInterfaceMTU(iface IfaceSelector, mtu int) NetworkConfigOption
- func WithNetworkInterfaceVirtualIP(iface IfaceSelector, cidr string) NetworkConfigOption
- func WithNetworkInterfaceWireguard(iface IfaceSelector, wireguardConfig *DeviceWireguardConfig) NetworkConfigOption
- func WithNetworkNameservers(nameservers ...string) NetworkConfigOption
- type NetworkDeviceCheck
- type NetworkDeviceList
- type NetworkDeviceSelector
- func (s *NetworkDeviceSelector) Bus() string
- func (in *NetworkDeviceSelector) DeepCopy() *NetworkDeviceSelector
- func (in *NetworkDeviceSelector) DeepCopyInto(out *NetworkDeviceSelector)
- func (NetworkDeviceSelector) Doc() *encoder.Doc
- func (s *NetworkDeviceSelector) HardwareAddress() string
- func (s *NetworkDeviceSelector) KernelDriver() string
- func (s *NetworkDeviceSelector) PCIID() string
- type NetworkKubeSpan
- func (k *NetworkKubeSpan) AdvertiseKubernetesNetworks() bool
- func (in *NetworkKubeSpan) DeepCopy() *NetworkKubeSpan
- func (in *NetworkKubeSpan) DeepCopyInto(out *NetworkKubeSpan)
- func (NetworkKubeSpan) Doc() *encoder.Doc
- func (k *NetworkKubeSpan) Enabled() bool
- func (k *NetworkKubeSpan) Filters() config.KubeSpanFilters
- func (k *NetworkKubeSpan) ForceRouting() bool
- func (k *NetworkKubeSpan) MTU() uint32
- type PodCheckpointer
- type ProxyConfig
- func (in *ProxyConfig) DeepCopy() *ProxyConfig
- func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig)
- func (ProxyConfig) Doc() *encoder.Doc
- func (p *ProxyConfig) Enabled() bool
- func (p *ProxyConfig) ExtraArgs() map[string]string
- func (p *ProxyConfig) Image() string
- func (p *ProxyConfig) Mode() string
- type RegistriesConfig
- func (r *RegistriesConfig) Config() map[string]config.RegistryConfig
- func (in *RegistriesConfig) DeepCopy() *RegistriesConfig
- func (in *RegistriesConfig) DeepCopyInto(out *RegistriesConfig)
- func (RegistriesConfig) Doc() *encoder.Doc
- func (r *RegistriesConfig) Mirrors() map[string]config.RegistryMirrorConfig
- type RegistryAuthConfig
- func (r *RegistryAuthConfig) Auth() string
- func (in *RegistryAuthConfig) DeepCopy() *RegistryAuthConfig
- func (in *RegistryAuthConfig) DeepCopyInto(out *RegistryAuthConfig)
- func (RegistryAuthConfig) Doc() *encoder.Doc
- func (r *RegistryAuthConfig) IdentityToken() string
- func (r *RegistryAuthConfig) Password() string
- func (r *RegistryAuthConfig) Username() string
- type RegistryConfig
- type RegistryKubernetesConfig
- type RegistryMirrorConfig
- type RegistryServiceConfig
- type RegistryTLSConfig
- func (r *RegistryTLSConfig) CA() []byte
- func (r *RegistryTLSConfig) ClientIdentity() *x509.PEMEncodedCertificateAndKey
- func (in *RegistryTLSConfig) DeepCopy() *RegistryTLSConfig
- func (in *RegistryTLSConfig) DeepCopyInto(out *RegistryTLSConfig)
- func (RegistryTLSConfig) Doc() *encoder.Doc
- func (r *RegistryTLSConfig) GetTLSConfig() (*tls.Config, error)
- func (r *RegistryTLSConfig) InsecureSkipVerify() bool
- type ResourcesConfig
- func (r *ResourcesConfig) CPULimits() string
- func (r *ResourcesConfig) CPURequests() string
- func (in *ResourcesConfig) DeepCopy() *ResourcesConfig
- func (in *ResourcesConfig) DeepCopyInto(out *ResourcesConfig)
- func (ResourcesConfig) Doc() *encoder.Doc
- func (r *ResourcesConfig) MemoryLimits() string
- func (r *ResourcesConfig) MemoryRequests() string
- func (r *ResourcesConfig) Validate() error
- type Route
- type STP
- type SchedulerConfig
- func (in *SchedulerConfig) DeepCopy() *SchedulerConfig
- func (in *SchedulerConfig) DeepCopyInto(out *SchedulerConfig)
- func (SchedulerConfig) Doc() *encoder.Doc
- func (s *SchedulerConfig) Env() Env
- func (s *SchedulerConfig) ExtraArgs() map[string]string
- func (s *SchedulerConfig) ExtraVolumes() []config.VolumeMount
- func (s *SchedulerConfig) Image() string
- func (s *SchedulerConfig) Resources() config.Resources
- func (s *SchedulerConfig) Validate() error
- type SystemDiskEncryptionConfig
- type TimeConfig
- type UdevConfig
- type Unstructured
- type VIPEquinixMetalConfig
- type VIPHCloudConfig
- type Vlan
- func (v *Vlan) Addresses() []string
- func (v *Vlan) DHCP() bool
- func (v *Vlan) DHCPOptions() config.DHCPOptions
- func (in *Vlan) DeepCopy() *Vlan
- func (in *Vlan) DeepCopyInto(out *Vlan)
- func (Vlan) Doc() *encoder.Doc
- func (v *Vlan) ID() uint16
- func (v *Vlan) MTU() uint32
- func (v *Vlan) Routes() []config.Route
- func (v *Vlan) VIPConfig() config.VIPConfig
- type VlanList
- type VolumeMountConfig
- func (in *VolumeMountConfig) DeepCopy() *VolumeMountConfig
- func (in *VolumeMountConfig) DeepCopyInto(out *VolumeMountConfig)
- func (VolumeMountConfig) Doc() *encoder.Doc
- func (v VolumeMountConfig) HostPath() string
- func (v VolumeMountConfig) MountPath() string
- func (v VolumeMountConfig) Name() string
- func (v VolumeMountConfig) ReadOnly() bool
Constants ¶
const (
// Version is the version string for v1alpha1.
Version = "v1alpha1"
)
Variables ¶
var ( // ErrRequiredSection denotes a section is required. ErrRequiredSection = errors.New("required config section") // ErrRequiredSectionOptions denotes at least one section is required. ErrRequiredSectionOptions = errors.New("required either config section to be set") // ErrInvalidVersion denotes that the config file version is invalid. ErrInvalidVersion = errors.New("invalid config version") // ErrMutuallyExclusive denotes that config sections are mutually exclusive. ErrMutuallyExclusive = errors.New("config sections are mutually exclusive") // ErrEmpty denotes that config section should have at least a single field defined. ErrEmpty = errors.New("config section should contain at least one field") // ErrEmptyKeyCert denotes that crypto key/cert combination should not be empty. ErrEmptyKeyCert = errors.New("key/cert combination should not be empty") // ErrInvalidCert denotes that the certificate specified is invalid. ErrInvalidCert = errors.New("certificate is invalid") // ErrInvalidCertType denotes that the certificate type is invalid. ErrInvalidCertType = errors.New("certificate type is invalid") // ErrUnsupportedCNI denotes that the specified CNI is invalid. ErrUnsupportedCNI = errors.New("unsupported CNI driver") // ErrInvalidTrustdToken denotes that a trustd token has not been specified. ErrInvalidTrustdToken = errors.New("trustd token is invalid") // ErrInvalidAddress denotes that a bad address was provided. ErrInvalidAddress = errors.New("invalid network address") )
var APIServerDefaultAuditPolicy = Unstructured{ Object: map[string]interface{}{ "apiVersion": "audit.k8s.io/v1", "kind": "Policy", "rules": []interface{}{ map[string]interface{}{ "level": "Metadata", }, }, }, }
APIServerDefaultAuditPolicy is the default kube-apiserver audit policy.
Functions ¶
func CheckDeviceAddressing ¶
CheckDeviceAddressing ensures that an appropriate addressing method. has been specified.
func CheckDeviceInterface ¶
CheckDeviceInterface ensures that the interface has been specified.
func CheckDeviceRoutes ¶
CheckDeviceRoutes ensures that the specified routes are valid.
func GetConfigurationDoc ¶
GetConfigurationDoc returns documentation for the file ./v1alpha1_types_doc.go.
func ValidateCNI ¶
ValidateCNI validates CNI config.
func ValidateNetworkDevices ¶
func ValidateNetworkDevices(d *Device, pairedInterfaces map[string]string, checks ...NetworkDeviceCheck) ([]string, error)
ValidateNetworkDevices runs the specified validation checks specific to the network devices.
Types ¶
type APIServerConfig ¶
type APIServerConfig struct { // description: | // The container image used in the API server manifest. // examples: // - value: clusterAPIServerImageExample() ContainerImage string `yaml:"image,omitempty"` // description: | // Extra arguments to supply to the API server. ExtraArgsConfig map[string]string `yaml:"extraArgs,omitempty"` // description: | // Extra volumes to mount to the API server static pod. ExtraVolumesConfig []VolumeMountConfig `yaml:"extraVolumes,omitempty"` // description: | // The `env` field allows for the addition of environment variables for the control plane component. // schema: // type: object // patternProperties: // ".*": // type: string EnvConfig Env `yaml:"env,omitempty"` // description: | // Extra certificate subject alternative names for the API server's certificate. CertSANs []string `yaml:"certSANs,omitempty"` // description: | // Disable PodSecurityPolicy in the API server and default manifests. DisablePodSecurityPolicyConfig *bool `yaml:"disablePodSecurityPolicy,omitempty"` // description: | // Configure the API server admission plugins. // examples: // - value: admissionControlConfigExample() AdmissionControlConfig AdmissionPluginConfigList `yaml:"admissionControl,omitempty"` // description: | // Configure the API server audit policy. // examples: // - value: APIServerDefaultAuditPolicy // schema: // type: object AuditPolicyConfig Unstructured `yaml:"auditPolicy,omitempty" merge:"replace"` // description: | // Configure the API server resources. // schema: // type: object ResourcesConfig *ResourcesConfig `yaml:"resources,omitempty"` }
APIServerConfig represents the kube apiserver configuration options.
func (*APIServerConfig) AdmissionControl ¶
func (a *APIServerConfig) AdmissionControl() []config.AdmissionPlugin
AdmissionControl implements the config.APIServer interface.
func (*APIServerConfig) AuditPolicy ¶
func (a *APIServerConfig) AuditPolicy() map[string]interface{}
AuditPolicy implements the config.APIServer interface.
func (*APIServerConfig) DeepCopy ¶
func (in *APIServerConfig) DeepCopy() *APIServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerConfig.
func (*APIServerConfig) DeepCopyInto ¶
func (in *APIServerConfig) DeepCopyInto(out *APIServerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIServerConfig) DisablePodSecurityPolicy ¶
func (a *APIServerConfig) DisablePodSecurityPolicy() bool
DisablePodSecurityPolicy implements the config.APIServer interface.
func (APIServerConfig) Doc ¶
func (APIServerConfig) Doc() *encoder.Doc
func (*APIServerConfig) Env ¶
func (a *APIServerConfig) Env() Env
Env implements the config.APIServer interface.
func (*APIServerConfig) ExtraArgs ¶
func (a *APIServerConfig) ExtraArgs() map[string]string
ExtraArgs implements the config.APIServer interface.
func (*APIServerConfig) ExtraVolumes ¶
func (a *APIServerConfig) ExtraVolumes() []config.VolumeMount
ExtraVolumes implements the config.APIServer interface.
func (*APIServerConfig) Image ¶
func (a *APIServerConfig) Image() string
Image implements the config.APIServer interface.
func (*APIServerConfig) Resources ¶ added in v1.5.0
func (a *APIServerConfig) Resources() config.Resources
Resources implements the config.Resources interface.
func (*APIServerConfig) Validate ¶ added in v1.5.0
func (a *APIServerConfig) Validate() error
Validate performs config validation.
type AdminKubeconfigConfig ¶
type AdminKubeconfigConfig struct { // description: | // Admin kubeconfig certificate lifetime (default is 1 year). // Field format accepts any Go time.Duration format ('1h' for one hour, '10m' for ten minutes). // schema: // type: string // pattern: ^[-+]?(((\d+(\.\d*)?|\d*(\.\d+)+)([nuµm]?s|m|h))|0)+$ AdminKubeconfigCertLifetime time.Duration `yaml:"certLifetime,omitempty"` }
AdminKubeconfigConfig contains admin kubeconfig settings.
func (*AdminKubeconfigConfig) CertLifetime ¶
func (a *AdminKubeconfigConfig) CertLifetime() time.Duration
CertLifetime implements the config.Provider interface.
func (*AdminKubeconfigConfig) CertOrganization ¶ added in v1.4.0
func (a *AdminKubeconfigConfig) CertOrganization() string
CertOrganization implements the config.Provider interface.
func (*AdminKubeconfigConfig) CommonName ¶
func (a *AdminKubeconfigConfig) CommonName() string
CommonName implements the config.Provider interface.
func (*AdminKubeconfigConfig) DeepCopy ¶
func (in *AdminKubeconfigConfig) DeepCopy() *AdminKubeconfigConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminKubeconfigConfig.
func (*AdminKubeconfigConfig) DeepCopyInto ¶
func (in *AdminKubeconfigConfig) DeepCopyInto(out *AdminKubeconfigConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AdminKubeconfigConfig) Doc ¶
func (AdminKubeconfigConfig) Doc() *encoder.Doc
type AdmissionPluginConfig ¶
type AdmissionPluginConfig struct { // description: | // Name is the name of the admission controller. // It must match the registered admission plugin name. PluginName string `yaml:"name"` // description: | // Configuration is an embedded configuration object to be used as the plugin's // configuration. // schema: // type: object PluginConfiguration Unstructured `yaml:"configuration"` }
AdmissionPluginConfig represents the API server admission plugin configuration.
func (*AdmissionPluginConfig) Configuration ¶
func (a *AdmissionPluginConfig) Configuration() map[string]interface{}
Configuration implements the config.AdmissionPlugin interface.
func (*AdmissionPluginConfig) DeepCopy ¶
func (in *AdmissionPluginConfig) DeepCopy() *AdmissionPluginConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPluginConfig.
func (*AdmissionPluginConfig) DeepCopyInto ¶
func (in *AdmissionPluginConfig) DeepCopyInto(out *AdmissionPluginConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AdmissionPluginConfig) Doc ¶
func (AdmissionPluginConfig) Doc() *encoder.Doc
func (*AdmissionPluginConfig) Name ¶
func (a *AdmissionPluginConfig) Name() string
Name implements the config.AdmissionPlugin interface.
type AdmissionPluginConfigList ¶
type AdmissionPluginConfigList []*AdmissionPluginConfig
AdmissionPluginConfigList represents the admission plugin configuration list.
func (AdmissionPluginConfigList) DeepCopy ¶
func (in AdmissionPluginConfigList) DeepCopy() AdmissionPluginConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPluginConfigList.
func (AdmissionPluginConfigList) DeepCopyInto ¶
func (in AdmissionPluginConfigList) DeepCopyInto(out *AdmissionPluginConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdmissionPluginConfigList) Merge ¶
func (configs *AdmissionPluginConfigList) Merge(other interface{}) error
Merge the admission plugin configuration intelligently.
type Base64Bytes ¶
type Base64Bytes []byte
Base64Bytes implements YAML marshaling/unmarshaling via base64 encoding.
func (Base64Bytes) DeepCopy ¶
func (in Base64Bytes) DeepCopy() Base64Bytes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Base64Bytes.
func (Base64Bytes) DeepCopyInto ¶
func (in Base64Bytes) DeepCopyInto(out *Base64Bytes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Base64Bytes) MarshalYAML ¶
func (b Base64Bytes) MarshalYAML() (interface{}, error)
MarshalYAML implements the yaml.Marshaler interface.
func (*Base64Bytes) UnmarshalYAML ¶
func (b *Base64Bytes) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type Bond ¶
type Bond struct { // description: The interfaces that make up the bond. BondInterfaces []string `yaml:"interfaces"` // description: | // Picks a network device using the selector. // Mutually exclusive with `interfaces`. // Supports partial match using wildcard syntax. // examples: // - name: select a device with bus prefix 00:*, a device with mac address matching `*:f0:ab` and `virtio` kernel driver. // value: networkDeviceSelectorExamples() BondDeviceSelectors []NetworkDeviceSelector `yaml:"deviceSelectors,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. // Not supported at the moment. BondARPIPTarget []string `yaml:"arpIPTarget,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondMode string `yaml:"mode"` // description: | // A bond option. // Please see the official kernel documentation. BondHashPolicy string `yaml:"xmitHashPolicy,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondLACPRate string `yaml:"lacpRate,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. // Not supported at the moment. BondADActorSystem string `yaml:"adActorSystem,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondARPValidate string `yaml:"arpValidate,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondARPAllTargets string `yaml:"arpAllTargets,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondPrimary string `yaml:"primary,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondPrimaryReselect string `yaml:"primaryReselect,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondFailOverMac string `yaml:"failOverMac,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondADSelect string `yaml:"adSelect,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondMIIMon uint32 `yaml:"miimon,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondUpDelay uint32 `yaml:"updelay,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondDownDelay uint32 `yaml:"downdelay,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondARPInterval uint32 `yaml:"arpInterval,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondResendIGMP uint32 `yaml:"resendIgmp,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondMinLinks uint32 `yaml:"minLinks,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondLPInterval uint32 `yaml:"lpInterval,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondPacketsPerSlave uint32 `yaml:"packetsPerSlave,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondNumPeerNotif uint8 `yaml:"numPeerNotif,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondTLBDynamicLB uint8 `yaml:"tlbDynamicLb,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondAllSlavesActive uint8 `yaml:"allSlavesActive,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondUseCarrier *bool `yaml:"useCarrier,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondADActorSysPrio uint16 `yaml:"adActorSysPrio,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondADUserPortKey uint16 `yaml:"adUserPortKey,omitempty"` // description: | // A bond option. // Please see the official kernel documentation. BondPeerNotifyDelay uint32 `yaml:"peerNotifyDelay,omitempty"` }
Bond contains the various options for configuring a bonded interface.
func (*Bond) ADActorSysPrio ¶
ADActorSysPrio implements the MachineNetwork interface.
func (*Bond) ADActorSystem ¶
ADActorSystem implements the MachineNetwork interface.
func (*Bond) ADUserPortKey ¶
ADUserPortKey implements the MachineNetwork interface.
func (*Bond) ARPAllTargets ¶
ARPAllTargets implements the MachineNetwork interface.
func (*Bond) ARPIPTarget ¶
ARPIPTarget implements the MachineNetwork interface.
func (*Bond) ARPInterval ¶
ARPInterval implements the MachineNetwork interface.
func (*Bond) ARPValidate ¶
ARPValidate implements the MachineNetwork interface.
func (*Bond) AllSlavesActive ¶
AllSlavesActive implements the MachineNetwork interface.
func (*Bond) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bond.
func (*Bond) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Bond) FailOverMac ¶
FailOverMac implements the MachineNetwork interface.
func (*Bond) HashPolicy ¶
HashPolicy implements the MachineNetwork interface.
func (*Bond) Interfaces ¶
Interfaces implements the MachineNetwork interface.
func (*Bond) LPInterval ¶
LPInterval implements the MachineNetwork interface.
func (*Bond) NumPeerNotif ¶
NumPeerNotif implements the MachineNetwork interface.
func (*Bond) PacketsPerSlave ¶
PacketsPerSlave implements the MachineNetwork interface.
func (*Bond) PeerNotifyDelay ¶
PeerNotifyDelay implements the MachineNetwork interface.
func (*Bond) PrimaryReselect ¶
PrimaryReselect implements the MachineNetwork interface.
func (*Bond) ResendIGMP ¶
ResendIGMP implements the MachineNetwork interface.
func (*Bond) Selectors ¶ added in v1.4.0
func (b *Bond) Selectors() []config.NetworkDeviceSelector
Selectors implements the Bond interface.
func (*Bond) TLBDynamicLB ¶
TLBDynamicLB implements the MachineNetwork interface.
func (*Bond) UseCarrier ¶
UseCarrier implements the MachineNetwork interface.
type Bridge ¶
type Bridge struct { // description: The interfaces that make up the bridge. BridgedInterfaces []string `yaml:"interfaces"` // description: | // A bridge option. // Please see the official kernel documentation. BridgeSTP *STP `yaml:"stp,omitempty"` }
Bridge contains the various options for configuring a bridge interface.
func (*Bridge) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bridge.
func (*Bridge) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Bridge) Interfaces ¶
Interfaces implements the config.Bridge interface.
type CNIConfig ¶
type CNIConfig struct { // description: | // Name of CNI to use. // values: // - flannel // - custom // - none CNIName string `yaml:"name,omitempty"` // description: | // URLs containing manifests to apply for the CNI. // Should be present for "custom", must be empty for "flannel" and "none". CNIUrls []string `yaml:"urls,omitempty"` }
CNIConfig represents the CNI configuration options.
func (*CNIConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNIConfig.
func (*CNIConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConfig ¶
type ClusterConfig struct { // description: | // Globally unique identifier for this cluster (base64 encoded random 32 bytes). ClusterID string `yaml:"id,omitempty"` // description: | // Shared secret of cluster (base64 encoded random 32 bytes). // This secret is shared among cluster members but should never be sent over the network. ClusterSecret string `yaml:"secret,omitempty"` // description: | // Provides control plane specific configuration options. // examples: // - name: Setting controlplane endpoint address to 1.2.3.4 and port to 443 example. // value: clusterControlPlaneExample() ControlPlane *ControlPlaneConfig `yaml:"controlPlane"` // description: | // Configures the cluster's name. ClusterName string `yaml:"clusterName,omitempty"` // description: | // Provides cluster specific network configuration options. // examples: // - name: Configuring with flannel CNI and setting up subnets. // value: clusterNetworkExample() ClusterNetwork *ClusterNetworkConfig `yaml:"network,omitempty"` // description: | // The [bootstrap token](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/) used to join the cluster. // examples: // - name: Bootstrap token example (do not use in production!). // value: '"wlzjyw.bei2zfylhs2by0wd"' BootstrapToken string `yaml:"token,omitempty"` // description: | // A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). // Enables encryption with AESCBC. // examples: // - name: Decryption secret example (do not use in production!). // value: '"z01mye6j16bspJYtTB/5SFX8j7Ph4JXxM2Xuu4vsBPM="' ClusterAESCBCEncryptionSecret string `yaml:"aescbcEncryptionSecret,omitempty"` // description: | // A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). // Enables encryption with secretbox. // Secretbox has precedence over AESCBC. // examples: // - name: Decryption secret example (do not use in production!). // value: '"z01mye6j16bspJYtTB/5SFX8j7Ph4JXxM2Xuu4vsBPM="' ClusterSecretboxEncryptionSecret string `yaml:"secretboxEncryptionSecret,omitempty"` // description: | // The base64 encoded root certificate authority used by Kubernetes. // examples: // - name: ClusterCA example. // value: pemEncodedCertificateExample() // schema: // type: object // additionalProperties: false // properties: // crt: // type: string // key: // type: string ClusterCA *x509.PEMEncodedCertificateAndKey `yaml:"ca,omitempty"` // description: | // The base64 encoded aggregator certificate authority used by Kubernetes for front-proxy certificate generation. // // This CA can be self-signed. // examples: // - name: AggregatorCA example. // value: pemEncodedCertificateExample() // schema: // type: object // additionalProperties: false // properties: // crt: // type: string // key: // type: string ClusterAggregatorCA *x509.PEMEncodedCertificateAndKey `yaml:"aggregatorCA,omitempty"` // description: | // The base64 encoded private key for service account token generation. // examples: // - name: AggregatorCA example. // value: pemEncodedKeyExample() // schema: // type: object // additionalProperties: false // properties: // key: // type: string // additionalProperties: false ClusterServiceAccount *x509.PEMEncodedKey `yaml:"serviceAccount,omitempty"` // description: | // API server specific configuration options. // examples: // - value: clusterAPIServerExample() APIServerConfig *APIServerConfig `yaml:"apiServer,omitempty"` // description: | // Controller manager server specific configuration options. // examples: // - value: clusterControllerManagerExample() ControllerManagerConfig *ControllerManagerConfig `yaml:"controllerManager,omitempty"` // description: | // Kube-proxy server-specific configuration options // examples: // - value: clusterProxyExample() ProxyConfig *ProxyConfig `yaml:"proxy,omitempty"` // description: | // Scheduler server specific configuration options. // examples: // - value: clusterSchedulerExample() SchedulerConfig *SchedulerConfig `yaml:"scheduler,omitempty"` // description: | // Configures cluster member discovery. // examples: // - value: clusterDiscoveryExample() ClusterDiscoveryConfig *ClusterDiscoveryConfig `yaml:"discovery,omitempty"` // description: | // Etcd specific configuration options. // examples: // - value: clusterEtcdExample() EtcdConfig *EtcdConfig `yaml:"etcd,omitempty"` // description: | // Core DNS specific configuration options. // examples: // - value: clusterCoreDNSExample() CoreDNSConfig *CoreDNS `yaml:"coreDNS,omitempty"` // description: | // External cloud provider configuration. // examples: // - value: clusterExternalCloudProviderConfigExample() ExternalCloudProviderConfig *ExternalCloudProviderConfig `yaml:"externalCloudProvider,omitempty"` // description: | // A list of urls that point to additional manifests. // These will get automatically deployed as part of the bootstrap. // examples: // - value: > // []string{ // "https://www.example.com/manifest1.yaml", // "https://www.example.com/manifest2.yaml", // } ExtraManifests []string `yaml:"extraManifests,omitempty" talos:"omitonlyifnil"` // description: | // A map of key value pairs that will be added while fetching the extraManifests. // examples: // - value: > // map[string]string{ // "Token": "1234567", // "X-ExtraInfo": "info", // } ExtraManifestHeaders map[string]string `yaml:"extraManifestHeaders,omitempty"` // description: | // A list of inline Kubernetes manifests. // These will get automatically deployed as part of the bootstrap. // examples: // - value: clusterInlineManifestsExample() // schema: // type: array // items: // $ref: "#/$defs/ClusterInlineManifest" ClusterInlineManifests ClusterInlineManifests `yaml:"inlineManifests,omitempty" talos:"omitonlyifnil"` // description: | // Settings for admin kubeconfig generation. // Certificate lifetime can be configured. // examples: // - value: clusterAdminKubeconfigExample() AdminKubeconfigConfig *AdminKubeconfigConfig `yaml:"adminKubeconfig,omitempty"` // docgen:nodoc // // Deprecated: Use `AllowSchedulingOnControlPlanes` instead. AllowSchedulingOnMasters *bool `yaml:"allowSchedulingOnMasters,omitempty"` // description: | // Allows running workload on control-plane nodes. // values: // - true // - yes // - false // - no // examples: // - value: true AllowSchedulingOnControlPlanes *bool `yaml:"allowSchedulingOnControlPlanes,omitempty"` }
ClusterConfig represents the cluster-wide config values.
examples: - value: clusterConfigExample()
func (*ClusterConfig) AESCBCEncryptionSecret ¶
func (c *ClusterConfig) AESCBCEncryptionSecret() string
AESCBCEncryptionSecret implements the config.ClusterConfig interface.
func (*ClusterConfig) APIServer ¶
func (c *ClusterConfig) APIServer() config.APIServer
APIServer implements the config.ClusterConfig interface.
func (*ClusterConfig) APIServerIPs ¶
func (c *ClusterConfig) APIServerIPs() ([]netip.Addr, error)
APIServerIPs implements the config.ClusterNetwork interface.
func (*ClusterConfig) AdminKubeconfig ¶
func (c *ClusterConfig) AdminKubeconfig() config.AdminKubeconfig
AdminKubeconfig implements the config.ClusterConfig interface.
func (*ClusterConfig) AggregatorCA ¶
func (c *ClusterConfig) AggregatorCA() *x509.PEMEncodedCertificateAndKey
AggregatorCA implements the config.ClusterConfig interface.
func (*ClusterConfig) CA ¶
func (c *ClusterConfig) CA() *x509.PEMEncodedCertificateAndKey
CA implements the config.ClusterConfig interface.
func (*ClusterConfig) CNI ¶
func (c *ClusterConfig) CNI() config.CNI
CNI implements the config.ClusterNetwork interface.
func (*ClusterConfig) CertSANs ¶
func (c *ClusterConfig) CertSANs() []string
CertSANs implements the config.ClusterConfig interface.
func (*ClusterConfig) ControllerManager ¶
func (c *ClusterConfig) ControllerManager() config.ControllerManager
ControllerManager implements the config.ClusterConfig interface.
func (*ClusterConfig) CoreDNS ¶
func (c *ClusterConfig) CoreDNS() config.CoreDNS
CoreDNS implements the config.ClusterConfig interface.
func (*ClusterConfig) DNSDomain ¶
func (c *ClusterConfig) DNSDomain() string
DNSDomain implements the config.ClusterNetwork interface.
func (*ClusterConfig) DNSServiceIPs ¶
func (c *ClusterConfig) DNSServiceIPs() ([]netip.Addr, error)
DNSServiceIPs implements the config.ClusterNetwork interface.
func (*ClusterConfig) DeepCopy ¶
func (in *ClusterConfig) DeepCopy() *ClusterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfig.
func (*ClusterConfig) DeepCopyInto ¶
func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterConfig) Discovery ¶
func (c *ClusterConfig) Discovery() config.Discovery
Discovery implements the config.Cluster interface.
func (ClusterConfig) Doc ¶
func (ClusterConfig) Doc() *encoder.Doc
func (*ClusterConfig) Endpoint ¶
func (c *ClusterConfig) Endpoint() *url.URL
Endpoint implements the config.ClusterConfig interface.
func (*ClusterConfig) Etcd ¶
func (c *ClusterConfig) Etcd() config.Etcd
Etcd implements the config.ClusterConfig interface.
func (*ClusterConfig) ExternalCloudProvider ¶
func (c *ClusterConfig) ExternalCloudProvider() config.ExternalCloudProvider
ExternalCloudProvider implements the config.ClusterConfig interface.
func (*ClusterConfig) ExtraManifestHeaderMap ¶
func (c *ClusterConfig) ExtraManifestHeaderMap() map[string]string
ExtraManifestHeaderMap implements the config.ClusterConfig interface.
func (*ClusterConfig) ExtraManifestURLs ¶
func (c *ClusterConfig) ExtraManifestURLs() []string
ExtraManifestURLs implements the config.ClusterConfig interface.
func (*ClusterConfig) ID ¶
func (c *ClusterConfig) ID() string
ID returns the unique identifier for the cluster.
func (*ClusterConfig) InlineManifests ¶
func (c *ClusterConfig) InlineManifests() []config.InlineManifest
InlineManifests implements the config.ClusterConfig interface.
func (*ClusterConfig) LocalAPIServerPort ¶
func (c *ClusterConfig) LocalAPIServerPort() int
LocalAPIServerPort implements the config.ClusterConfig interface.
func (*ClusterConfig) Name ¶
func (c *ClusterConfig) Name() string
Name implements the config.ClusterConfig interface.
func (*ClusterConfig) Network ¶
func (c *ClusterConfig) Network() config.ClusterNetwork
Network implements the config.ClusterConfig interface.
func (*ClusterConfig) PodCIDRs ¶
func (c *ClusterConfig) PodCIDRs() []string
PodCIDRs implements the config.ClusterNetwork interface.
func (*ClusterConfig) Proxy ¶
func (c *ClusterConfig) Proxy() config.Proxy
Proxy implements the config.ClusterConfig interface.
func (*ClusterConfig) ScheduleOnControlPlanes ¶
func (c *ClusterConfig) ScheduleOnControlPlanes() bool
ScheduleOnControlPlanes implements the config.ClusterConfig interface.
func (*ClusterConfig) Scheduler ¶
func (c *ClusterConfig) Scheduler() config.Scheduler
Scheduler implements the config.ClusterConfig interface.
func (*ClusterConfig) Secret ¶
func (c *ClusterConfig) Secret() string
Secret returns the cluster secret.
func (*ClusterConfig) SecretboxEncryptionSecret ¶
func (c *ClusterConfig) SecretboxEncryptionSecret() string
SecretboxEncryptionSecret implements the config.ClusterConfig interface.
func (*ClusterConfig) ServiceAccount ¶
func (c *ClusterConfig) ServiceAccount() *x509.PEMEncodedKey
ServiceAccount implements the config.ClusterConfig interface.
func (*ClusterConfig) ServiceCIDRs ¶
func (c *ClusterConfig) ServiceCIDRs() []string
ServiceCIDRs implements the config.ClusterNetwork interface.
func (*ClusterConfig) Token ¶
func (c *ClusterConfig) Token() config.Token
Token implements the config.ClusterConfig interface.
func (*ClusterConfig) Validate ¶
func (c *ClusterConfig) Validate() error
Validate validates the config.
type ClusterDiscoveryConfig ¶
type ClusterDiscoveryConfig struct { // description: | // Enable the cluster membership discovery feature. // Cluster discovery is based on individual registries which are configured under the registries field. DiscoveryEnabled *bool `yaml:"enabled,omitempty"` // description: | // Configure registries used for cluster member discovery. DiscoveryRegistries DiscoveryRegistriesConfig `yaml:"registries"` }
ClusterDiscoveryConfig struct configures cluster membership discovery.
func (*ClusterDiscoveryConfig) DeepCopy ¶
func (in *ClusterDiscoveryConfig) DeepCopy() *ClusterDiscoveryConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDiscoveryConfig.
func (*ClusterDiscoveryConfig) DeepCopyInto ¶
func (in *ClusterDiscoveryConfig) DeepCopyInto(out *ClusterDiscoveryConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterDiscoveryConfig) Doc ¶
func (ClusterDiscoveryConfig) Doc() *encoder.Doc
func (*ClusterDiscoveryConfig) Enabled ¶
func (c *ClusterDiscoveryConfig) Enabled() bool
Enabled implements the config.ClusterDiscovery interface.
func (*ClusterDiscoveryConfig) Registries ¶
func (c *ClusterDiscoveryConfig) Registries() config.DiscoveryRegistries
Registries implements the config.ClusterDiscovery interface.
func (*ClusterDiscoveryConfig) Validate ¶
func (c *ClusterDiscoveryConfig) Validate(clusterCfg *ClusterConfig) error
Validate the discovery config.
type ClusterInlineManifest ¶
type ClusterInlineManifest struct { // description: | // Name of the manifest. // Name should be unique. // examples: // - value: '"csi"' InlineManifestName string `yaml:"name"` // description: | // Manifest contents as a string. // examples: // - value: '"/etc/kubernetes/auth"' InlineManifestContents string `yaml:"contents"` }
ClusterInlineManifest struct describes inline bootstrap manifests for the user.
func (ClusterInlineManifest) Contents ¶
func (m ClusterInlineManifest) Contents() string
Contents implements the config.InlineManifest interface.
func (*ClusterInlineManifest) DeepCopy ¶
func (in *ClusterInlineManifest) DeepCopy() *ClusterInlineManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInlineManifest.
func (*ClusterInlineManifest) DeepCopyInto ¶
func (in *ClusterInlineManifest) DeepCopyInto(out *ClusterInlineManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterInlineManifest) Doc ¶
func (ClusterInlineManifest) Doc() *encoder.Doc
func (ClusterInlineManifest) Name ¶
func (m ClusterInlineManifest) Name() string
Name implements the config.InlineManifest interface.
type ClusterInlineManifests ¶
type ClusterInlineManifests []ClusterInlineManifest
ClusterInlineManifests is a list of ClusterInlineManifest.
func (ClusterInlineManifests) DeepCopy ¶
func (in ClusterInlineManifests) DeepCopy() ClusterInlineManifests
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInlineManifests.
func (ClusterInlineManifests) DeepCopyInto ¶
func (in ClusterInlineManifests) DeepCopyInto(out *ClusterInlineManifests)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterInlineManifests) Validate ¶
func (manifests ClusterInlineManifests) Validate() error
Validate the inline manifests.
type ClusterNetworkConfig ¶
type ClusterNetworkConfig struct { // description: | // The CNI used. // Composed of "name" and "urls". // The "name" key supports the following options: "flannel", "custom", and "none". // "flannel" uses Talos-managed Flannel CNI, and that's the default option. // "custom" uses custom manifests that should be provided in "urls". // "none" indicates that Talos will not manage any CNI installation. // examples: // - value: clusterCustomCNIExample() CNI *CNIConfig `yaml:"cni,omitempty"` // description: | // The domain used by Kubernetes DNS. // The default is `cluster.local` // examples: // - value: '"cluser.local"' DNSDomain string `yaml:"dnsDomain"` // description: | // The pod subnet CIDR. // examples: // - value: > // []string{"10.244.0.0/16"} PodSubnet []string `yaml:"podSubnets" merge:"replace"` // description: | // The service subnet CIDR. // examples: // - value: > // []string{"10.96.0.0/12"} ServiceSubnet []string `yaml:"serviceSubnets" merge:"replace"` }
ClusterNetworkConfig represents kube networking configuration options.
func (*ClusterNetworkConfig) DeepCopy ¶
func (in *ClusterNetworkConfig) DeepCopy() *ClusterNetworkConfig
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.
func (ClusterNetworkConfig) Doc ¶
func (ClusterNetworkConfig) Doc() *encoder.Doc
type Config ¶
type Config struct { // description: | // Indicates the schema used to decode the contents. // values: // - "v1alpha1" ConfigVersion string `yaml:"version"` // description: | // Enable verbose logging to the console. // All system containers logs will flow into serial console. // // **Note:** To avoid breaking Talos bootstrap flow enable this option only if serial console can handle high message throughput. // values: // - true // - yes // - false // - no ConfigDebug *bool `yaml:"debug,omitempty"` // description: | // Indicates whether to pull the machine config upon every boot. // // **Note**: this option is deprecated and it will be removed in Talos 1.6. // values: // - true // - yes // - false // - no ConfigPersist *bool `yaml:"persist,omitempty"` // description: | // Provides machine specific configuration options. MachineConfig *MachineConfig `yaml:"machine"` // description: | // Provides cluster specific configuration options. ClusterConfig *ClusterConfig `yaml:"cluster"` }
Config defines the v1alpha1 configuration file.
examples: - value: configExample()
func (*Config) APIVersion ¶ added in v1.5.0
APIVersion returns the API version of the document.
func (*Config) Cluster ¶
func (c *Config) Cluster() config.ClusterConfig
Cluster implements the config.Provider interface.
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) Machine ¶
func (c *Config) Machine() config.MachineConfig
Machine implements the config.Provider interface.
func (*Config) Validate ¶
func (c *Config) Validate(mode validation.RuntimeMode, options ...validation.Option) ([]string, error)
Validate implements the config.Provider interface.
type ControlPlaneConfig ¶
type ControlPlaneConfig struct { // description: | // Endpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname. // It is single-valued, and may optionally include a port number. // examples: // - value: clusterEndpointExample1() // - value: clusterEndpointExample2() // schema: // type: string // format: uri // pattern: "^https://" Endpoint *Endpoint `yaml:"endpoint"` // description: | // The port that the API server listens on internally. // This may be different than the port portion listed in the endpoint field above. // The default is `6443`. LocalAPIServerPort int `yaml:"localAPIServerPort,omitempty"` }
ControlPlaneConfig represents the control plane configuration options.
func (*ControlPlaneConfig) DeepCopy ¶
func (in *ControlPlaneConfig) DeepCopy() *ControlPlaneConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneConfig.
func (*ControlPlaneConfig) DeepCopyInto ¶
func (in *ControlPlaneConfig) DeepCopyInto(out *ControlPlaneConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControlPlaneConfig) Doc ¶
func (ControlPlaneConfig) Doc() *encoder.Doc
type ControllerManagerConfig ¶
type ControllerManagerConfig struct { // description: | // The container image used in the controller manager manifest. // examples: // - value: clusterControllerManagerImageExample() ContainerImage string `yaml:"image,omitempty"` // description: | // Extra arguments to supply to the controller manager. ExtraArgsConfig map[string]string `yaml:"extraArgs,omitempty"` // description: | // Extra volumes to mount to the controller manager static pod. ExtraVolumesConfig []VolumeMountConfig `yaml:"extraVolumes,omitempty"` // description: | // The `env` field allows for the addition of environment variables for the control plane component. // schema: // type: object // patternProperties: // ".*": // type: string EnvConfig Env `yaml:"env,omitempty"` // description: | // Configure the controller manager resources. // schema: // type: object ResourcesConfig *ResourcesConfig `yaml:"resources,omitempty"` }
ControllerManagerConfig represents the kube controller manager configuration options.
func (*ControllerManagerConfig) DeepCopy ¶
func (in *ControllerManagerConfig) DeepCopy() *ControllerManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerConfig.
func (*ControllerManagerConfig) DeepCopyInto ¶
func (in *ControllerManagerConfig) DeepCopyInto(out *ControllerManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControllerManagerConfig) Doc ¶
func (ControllerManagerConfig) Doc() *encoder.Doc
func (*ControllerManagerConfig) Env ¶
func (c *ControllerManagerConfig) Env() Env
Env implements the config.ControllerManager interface.
func (*ControllerManagerConfig) ExtraArgs ¶
func (c *ControllerManagerConfig) ExtraArgs() map[string]string
ExtraArgs implements the config.ControllerManager interface.
func (*ControllerManagerConfig) ExtraVolumes ¶
func (c *ControllerManagerConfig) ExtraVolumes() []config.VolumeMount
ExtraVolumes implements the config.ControllerManager interface.
func (*ControllerManagerConfig) Image ¶
func (c *ControllerManagerConfig) Image() string
Image implements the config.ControllerManager interface.
func (*ControllerManagerConfig) Resources ¶ added in v1.5.0
func (c *ControllerManagerConfig) Resources() config.Resources
Resources implements the config.Resources interface.
func (*ControllerManagerConfig) Validate ¶ added in v1.5.0
func (c *ControllerManagerConfig) Validate() error
Validate performs config validation.
type CoreDNS ¶
type CoreDNS struct { // description: | // Disable coredns deployment on cluster bootstrap. CoreDNSDisabled *bool `yaml:"disabled,omitempty"` // description: | // The `image` field is an override to the default coredns image. CoreDNSImage string `yaml:"image,omitempty"` }
CoreDNS represents the CoreDNS config values.
func (*CoreDNS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNS.
func (*CoreDNS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DHCPOptions ¶
type DHCPOptions struct { // description: The priority of all routes received via DHCP. DHCPRouteMetric uint32 `yaml:"routeMetric"` // description: Enables DHCPv4 protocol for the interface (default is enabled). DHCPIPv4 *bool `yaml:"ipv4,omitempty"` // description: Enables DHCPv6 protocol for the interface (default is disabled). DHCPIPv6 *bool `yaml:"ipv6,omitempty"` // description: Set client DUID (hex string). DHCPDUIDv6 string `yaml:"duidv6,omitempty"` }
DHCPOptions contains options for configuring the DHCP settings for a given interface.
func (*DHCPOptions) DUIDv6 ¶
func (d *DHCPOptions) DUIDv6() string
DUIDv6 implements the DHCPOptions interface.
func (*DHCPOptions) DeepCopy ¶
func (in *DHCPOptions) DeepCopy() *DHCPOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DHCPOptions.
func (*DHCPOptions) DeepCopyInto ¶
func (in *DHCPOptions) DeepCopyInto(out *DHCPOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DHCPOptions) Doc ¶
func (DHCPOptions) Doc() *encoder.Doc
func (*DHCPOptions) IPv4 ¶
func (d *DHCPOptions) IPv4() bool
IPv4 implements the DHCPOptions interface.
func (*DHCPOptions) IPv6 ¶
func (d *DHCPOptions) IPv6() bool
IPv6 implements the DHCPOptions interface.
func (*DHCPOptions) RouteMetric ¶
func (d *DHCPOptions) RouteMetric() uint32
RouteMetric implements the DHCPOptions interface.
type Device ¶
type Device struct { // description: | // The interface name. // Mutually exclusive with `deviceSelector`. // examples: // - value: '"enp0s3"' DeviceInterface string `yaml:"interface,omitempty"` // description: | // Picks a network device using the selector. // Mutually exclusive with `interface`. // Supports partial match using wildcard syntax. // examples: // - name: select a device with bus prefix 00:*. // value: networkDeviceSelectorExamples()[0] // - name: select a device with mac address matching `*:f0:ab` and `virtio` kernel driver. // value: networkDeviceSelectorExamples()[1] DeviceSelector *NetworkDeviceSelector `yaml:"deviceSelector,omitempty"` // description: | // Assigns static IP addresses to the interface. // An address can be specified either in proper CIDR notation or as a standalone address (netmask of all ones is assumed). // examples: // - value: '[]string{"10.5.0.0/16", "192.168.3.7"}' DeviceAddresses []string `yaml:"addresses,omitempty"` // docgen:nodoc DeviceCIDR string `yaml:"cidr,omitempty"` // description: | // A list of routes associated with the interface. // If used in combination with DHCP, these routes will be appended to routes returned by DHCP server. // examples: // - value: networkConfigRoutesExample() DeviceRoutes []*Route `yaml:"routes,omitempty"` // description: Bond specific options. // examples: // - value: networkConfigBondExample() DeviceBond *Bond `yaml:"bond,omitempty"` // description: Bridge specific options. // examples: // - value: networkConfigBridgeExample() DeviceBridge *Bridge `yaml:"bridge,omitempty"` // description: VLAN specific options. DeviceVlans VlanList `yaml:"vlans,omitempty"` // description: | // The interface's MTU. // If used in combination with DHCP, this will override any MTU settings returned from DHCP server. DeviceMTU int `yaml:"mtu,omitempty"` // description: | // Indicates if DHCP should be used to configure the interface. // The following DHCP options are supported: // // - `OptionClasslessStaticRoute` // - `OptionDomainNameServer` // - `OptionDNSDomainSearchList` // - `OptionHostName` // // examples: // - value: true DeviceDHCP *bool `yaml:"dhcp,omitempty"` // description: Indicates if the interface should be ignored (skips configuration). DeviceIgnore *bool `yaml:"ignore,omitempty"` // description: | // Indicates if the interface is a dummy interface. // `dummy` is used to specify that this interface should be a virtual-only, dummy interface. DeviceDummy *bool `yaml:"dummy,omitempty"` // description: | // DHCP specific options. // `dhcp` *must* be set to true for these to take effect. // examples: // - value: networkConfigDHCPOptionsExample() DeviceDHCPOptions *DHCPOptions `yaml:"dhcpOptions,omitempty"` // description: | // Wireguard specific configuration. // Includes things like private key, listen port, peers. // examples: // - name: wireguard server example // value: networkConfigWireguardHostExample() // - name: wireguard peer example // value: networkConfigWireguardPeerExample() DeviceWireguardConfig *DeviceWireguardConfig `yaml:"wireguard,omitempty"` // description: Virtual (shared) IP address configuration. // examples: // - name: layer2 vip example // value: networkConfigVIPLayer2Example() DeviceVIPConfig *DeviceVIPConfig `yaml:"vip,omitempty"` }
Device represents a network interface.
func (*Device) DHCPOptions ¶
func (d *Device) DHCPOptions() config.DHCPOptions
DHCPOptions implements the MachineNetwork interface.
func (*Device) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Device.
func (*Device) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Device) Selector ¶
func (d *Device) Selector() config.NetworkDeviceSelector
Selector implements the config.Device interface.
func (*Device) WireguardConfig ¶
func (d *Device) WireguardConfig() config.WireguardConfig
WireguardConfig implements the MachineNetwork interface.
type DeviceVIPConfig ¶
type DeviceVIPConfig struct { string `yaml:"ip,omitempty"` // description: Specifies the Equinix Metal API settings to assign VIP to the node. EquinixMetalConfig *VIPEquinixMetalConfig `yaml:"equinixMetal,omitempty"` // description: Specifies the Hetzner Cloud API settings to assign VIP to the node. HCloudConfig *VIPHCloudConfig `yaml:"hcloud,omitempty"` }SharedIP
DeviceVIPConfig contains settings for configuring a Virtual Shared IP on an interface.
func (*DeviceVIPConfig) DeepCopy ¶
func (in *DeviceVIPConfig) DeepCopy() *DeviceVIPConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceVIPConfig.
func (*DeviceVIPConfig) DeepCopyInto ¶
func (in *DeviceVIPConfig) DeepCopyInto(out *DeviceVIPConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DeviceVIPConfig) Doc ¶
func (DeviceVIPConfig) Doc() *encoder.Doc
func (*DeviceVIPConfig) EquinixMetal ¶
func (d *DeviceVIPConfig) EquinixMetal() config.VIPEquinixMetal
EquinixMetal implements the config.VIPConfig interface.
func (*DeviceVIPConfig) HCloud ¶
func (d *DeviceVIPConfig) HCloud() config.VIPHCloud
HCloud implements the config.VIPConfig interface.
func (*DeviceVIPConfig) IP ¶
func (d *DeviceVIPConfig) IP() string
IP implements the config.VIPConfig interface.
type DeviceWireguardConfig ¶
type DeviceWireguardConfig struct { // description: | // Specifies a private key configuration (base64 encoded). // Can be generated by `wg genkey`. WireguardPrivateKey string `yaml:"privateKey,omitempty"` // description: Specifies a device's listening port. WireguardListenPort int `yaml:"listenPort,omitempty"` // description: Specifies a device's firewall mark. WireguardFirewallMark int `yaml:"firewallMark,omitempty"` // description: Specifies a list of peer configurations to apply to a device. WireguardPeers []*DeviceWireguardPeer `yaml:"peers,omitempty"` }
DeviceWireguardConfig contains settings for configuring Wireguard network interface.
func (*DeviceWireguardConfig) DeepCopy ¶
func (in *DeviceWireguardConfig) DeepCopy() *DeviceWireguardConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceWireguardConfig.
func (*DeviceWireguardConfig) DeepCopyInto ¶
func (in *DeviceWireguardConfig) DeepCopyInto(out *DeviceWireguardConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DeviceWireguardConfig) Doc ¶
func (DeviceWireguardConfig) Doc() *encoder.Doc
func (*DeviceWireguardConfig) FirewallMark ¶
func (wc *DeviceWireguardConfig) FirewallMark() int
FirewallMark implements the MachineNetwork interface.
func (*DeviceWireguardConfig) ListenPort ¶
func (wc *DeviceWireguardConfig) ListenPort() int
ListenPort implements the MachineNetwork interface.
func (*DeviceWireguardConfig) Peers ¶
func (wc *DeviceWireguardConfig) Peers() []config.WireguardPeer
Peers implements the MachineNetwork interface.
func (*DeviceWireguardConfig) PrivateKey ¶
func (wc *DeviceWireguardConfig) PrivateKey() string
PrivateKey implements the MachineNetwork interface.
type DeviceWireguardPeer ¶
type DeviceWireguardPeer struct { // description: | // Specifies the public key of this peer. // Can be extracted from private key by running `wg pubkey < private.key > public.key && cat public.key`. WireguardPublicKey string `yaml:"publicKey,omitempty"` // description: Specifies the endpoint of this peer entry. WireguardEndpoint string `yaml:"endpoint,omitempty"` // description: | // Specifies the persistent keepalive interval for this peer. // Field format accepts any Go time.Duration format ('1h' for one hour, '10m' for ten minutes). // schema: // type: string // pattern: ^[-+]?(((\d+(\.\d*)?|\d*(\.\d+)+)([nuµm]?s|m|h))|0)+$ WireguardPersistentKeepaliveInterval time.Duration `yaml:"persistentKeepaliveInterval,omitempty"` // description: AllowedIPs specifies a list of allowed IP addresses in CIDR notation for this peer. WireguardAllowedIPs []string `yaml:"allowedIPs,omitempty"` }
DeviceWireguardPeer a WireGuard device peer configuration.
func (*DeviceWireguardPeer) AllowedIPs ¶
func (wd *DeviceWireguardPeer) AllowedIPs() []string
AllowedIPs implements the MachineNetwork interface.
func (*DeviceWireguardPeer) DeepCopy ¶
func (in *DeviceWireguardPeer) DeepCopy() *DeviceWireguardPeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceWireguardPeer.
func (*DeviceWireguardPeer) DeepCopyInto ¶
func (in *DeviceWireguardPeer) DeepCopyInto(out *DeviceWireguardPeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DeviceWireguardPeer) Doc ¶
func (DeviceWireguardPeer) Doc() *encoder.Doc
func (*DeviceWireguardPeer) Endpoint ¶
func (wd *DeviceWireguardPeer) Endpoint() string
Endpoint implements the MachineNetwork interface.
func (*DeviceWireguardPeer) PersistentKeepaliveInterval ¶
func (wd *DeviceWireguardPeer) PersistentKeepaliveInterval() time.Duration
PersistentKeepaliveInterval implements the MachineNetwork interface.
func (*DeviceWireguardPeer) PublicKey ¶
func (wd *DeviceWireguardPeer) PublicKey() string
PublicKey implements the MachineNetwork interface.
type DiscoveryRegistriesConfig ¶
type DiscoveryRegistriesConfig struct { // description: | // Kubernetes registry uses Kubernetes API server to discover cluster members and stores additional information // as annotations on the Node resources. RegistryKubernetes RegistryKubernetesConfig `yaml:"kubernetes"` // description: | // Service registry is using an external service to push and pull information about cluster members. RegistryService RegistryServiceConfig `yaml:"service"` }
DiscoveryRegistriesConfig struct configures cluster membership discovery.
func (*DiscoveryRegistriesConfig) DeepCopy ¶
func (in *DiscoveryRegistriesConfig) DeepCopy() *DiscoveryRegistriesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryRegistriesConfig.
func (*DiscoveryRegistriesConfig) DeepCopyInto ¶
func (in *DiscoveryRegistriesConfig) DeepCopyInto(out *DiscoveryRegistriesConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DiscoveryRegistriesConfig) Doc ¶
func (DiscoveryRegistriesConfig) Doc() *encoder.Doc
func (DiscoveryRegistriesConfig) Kubernetes ¶
func (c DiscoveryRegistriesConfig) Kubernetes() config.KubernetesRegistry
Kubernetes implements the config.DiscoveryRegistries interface.
func (DiscoveryRegistriesConfig) Service ¶
func (c DiscoveryRegistriesConfig) Service() config.ServiceRegistry
Service implements the config.DiscoveryRegistries interface.
type DiskPartition ¶
type DiskPartition struct { // description: > // The size of partition: either bytes or human readable representation. If `size:` // is omitted, the partition is sized to occupy the full disk. // examples: // - name: Human readable representation. // value: DiskSize(100000000) // - name: Precise value in bytes. // value: 1024 * 1024 * 1024 // schema: // type: integer DiskSize DiskSize `yaml:"size,omitempty"` // description: // Where to mount the partition. DiskMountPoint string `yaml:"mountpoint,omitempty"` }
DiskPartition represents the options for a disk partition.
func (*DiskPartition) DeepCopy ¶
func (in *DiskPartition) DeepCopy() *DiskPartition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskPartition.
func (*DiskPartition) DeepCopyInto ¶
func (in *DiskPartition) DeepCopyInto(out *DiskPartition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DiskPartition) Doc ¶
func (DiskPartition) Doc() *encoder.Doc
func (*DiskPartition) MountPoint ¶
func (p *DiskPartition) MountPoint() string
MountPoint implements the config.Provider interface.
func (*DiskPartition) Size ¶
func (p *DiskPartition) Size() uint64
Size implements the config.Provider interface.
type DiskSize ¶
type DiskSize uint64
DiskSize partition size in bytes.
func (DiskSize) MarshalYAML ¶
MarshalYAML write as human readable string.
func (*DiskSize) UnmarshalYAML ¶
UnmarshalYAML read from human readable string.
type EncryptionConfig ¶
type EncryptionConfig struct { // description: > // Encryption provider to use for the encryption. // examples: // - value: '"luks2"' EncryptionProvider string `yaml:"provider"` // description: > // Defines the encryption keys generation and storage method. EncryptionKeys []*EncryptionKey `yaml:"keys"` // description: > // Cipher kind to use for the encryption. // Depends on the encryption provider. // values: // - aes-xts-plain64 // - xchacha12,aes-adiantum-plain64 // - xchacha20,aes-adiantum-plain64 // examples: // - value: '"aes-xts-plain64"' EncryptionCipher string `yaml:"cipher,omitempty"` // description: > // Defines the encryption key length. EncryptionKeySize uint `yaml:"keySize,omitempty"` // description: > // Defines the encryption sector size. // examples: // - value: '4096' EncryptionBlockSize uint64 `yaml:"blockSize,omitempty"` // description: > // Additional --perf parameters for the LUKS2 encryption. // values: // - no_read_workqueue // - no_write_workqueue // - same_cpu_crypt // examples: // - value: > // []string{"no_read_workqueue","no_write_workqueue"} EncryptionPerfOptions []string `yaml:"options,omitempty"` }
EncryptionConfig represents partition encryption settings.
func (*EncryptionConfig) BlockSize ¶
func (e *EncryptionConfig) BlockSize() uint64
BlockSize implements the config.Provider interface.
func (*EncryptionConfig) Cipher ¶
func (e *EncryptionConfig) Cipher() string
Cipher implements the config.Provider interface.
func (*EncryptionConfig) DeepCopy ¶
func (in *EncryptionConfig) DeepCopy() *EncryptionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfig.
func (*EncryptionConfig) DeepCopyInto ¶
func (in *EncryptionConfig) DeepCopyInto(out *EncryptionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EncryptionConfig) Doc ¶
func (EncryptionConfig) Doc() *encoder.Doc
func (*EncryptionConfig) KeySize ¶
func (e *EncryptionConfig) KeySize() uint
KeySize implements the config.Provider interface.
func (*EncryptionConfig) Keys ¶
func (e *EncryptionConfig) Keys() []config.EncryptionKey
Keys implements the config.Provider interface.
func (*EncryptionConfig) Options ¶
func (e *EncryptionConfig) Options() []string
Options implements the config.Provider interface.
func (*EncryptionConfig) Provider ¶ added in v1.5.0
func (e *EncryptionConfig) Provider() string
Provider implements the config.Provider interface.
type EncryptionKey ¶
type EncryptionKey struct { // description: > // Key which value is stored in the configuration file. KeyStatic *EncryptionKeyStatic `yaml:"static,omitempty"` // description: > // Deterministically generated key from the node UUID and PartitionLabel. KeyNodeID *EncryptionKeyNodeID `yaml:"nodeID,omitempty"` // description: > // KMS managed encryption key. // examples: // - value: kmsKeyExample() KeyKMS *EncryptionKeyKMS `yaml:"kms,omitempty"` // description: > // Key slot number for LUKS2 encryption. KeySlot int `yaml:"slot"` // description: > // Enable TPM based disk encryption. KeyTPM *EncryptionKeyTPM `yaml:"tpm,omitempty"` }
EncryptionKey represents configuration for disk encryption key.
func (*EncryptionKey) DeepCopy ¶
func (in *EncryptionKey) DeepCopy() *EncryptionKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKey.
func (*EncryptionKey) DeepCopyInto ¶
func (in *EncryptionKey) DeepCopyInto(out *EncryptionKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EncryptionKey) Doc ¶
func (EncryptionKey) Doc() *encoder.Doc
func (*EncryptionKey) KMS ¶ added in v1.5.0
func (e *EncryptionKey) KMS() config.EncryptionKeyKMS
KMS implements the config.Provider interface.
func (*EncryptionKey) NodeID ¶
func (e *EncryptionKey) NodeID() config.EncryptionKeyNodeID
NodeID implements the config.Provider interface.
func (*EncryptionKey) Slot ¶
func (e *EncryptionKey) Slot() int
Slot implements the config.Provider interface.
func (*EncryptionKey) Static ¶
func (e *EncryptionKey) Static() config.EncryptionKeyStatic
Static implements the config.Provider interface.
func (*EncryptionKey) TPM ¶ added in v1.5.0
func (e *EncryptionKey) TPM() config.EncryptionKeyTPM
TPM implements the config.Provider interface.
type EncryptionKeyKMS ¶ added in v1.5.0
type EncryptionKeyKMS struct { // description: > // KMS endpoint to Seal/Unseal the key. KMSEndpoint string `yaml:"endpoint"` }
EncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.
func (*EncryptionKeyKMS) DeepCopy ¶ added in v1.5.0
func (in *EncryptionKeyKMS) DeepCopy() *EncryptionKeyKMS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKeyKMS.
func (*EncryptionKeyKMS) DeepCopyInto ¶ added in v1.5.0
func (in *EncryptionKeyKMS) DeepCopyInto(out *EncryptionKeyKMS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EncryptionKeyKMS) Doc ¶ added in v1.5.0
func (EncryptionKeyKMS) Doc() *encoder.Doc
func (*EncryptionKeyKMS) Endpoint ¶ added in v1.5.0
func (e *EncryptionKeyKMS) Endpoint() string
Endpoint implements the config.Provider interface.
type EncryptionKeyNodeID ¶
type EncryptionKeyNodeID struct{}
EncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.
func (*EncryptionKeyNodeID) DeepCopy ¶
func (in *EncryptionKeyNodeID) DeepCopy() *EncryptionKeyNodeID
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKeyNodeID.
func (*EncryptionKeyNodeID) DeepCopyInto ¶
func (in *EncryptionKeyNodeID) DeepCopyInto(out *EncryptionKeyNodeID)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EncryptionKeyNodeID) Doc ¶
func (EncryptionKeyNodeID) Doc() *encoder.Doc
type EncryptionKeyStatic ¶
type EncryptionKeyStatic struct { // description: > // Defines the static passphrase value. KeyData string `yaml:"passphrase,omitempty"` }
EncryptionKeyStatic represents throw away key type.
func (*EncryptionKeyStatic) DeepCopy ¶
func (in *EncryptionKeyStatic) DeepCopy() *EncryptionKeyStatic
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKeyStatic.
func (*EncryptionKeyStatic) DeepCopyInto ¶
func (in *EncryptionKeyStatic) DeepCopyInto(out *EncryptionKeyStatic)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EncryptionKeyStatic) Doc ¶
func (EncryptionKeyStatic) Doc() *encoder.Doc
func (*EncryptionKeyStatic) Key ¶
func (e *EncryptionKeyStatic) Key() []byte
Key implements the config.Provider interface.
type EncryptionKeyTPM ¶ added in v1.5.0
type EncryptionKeyTPM struct{}
EncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.
func (*EncryptionKeyTPM) DeepCopy ¶ added in v1.5.0
func (in *EncryptionKeyTPM) DeepCopy() *EncryptionKeyTPM
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKeyTPM.
func (*EncryptionKeyTPM) DeepCopyInto ¶ added in v1.5.0
func (in *EncryptionKeyTPM) DeepCopyInto(out *EncryptionKeyTPM)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EncryptionKeyTPM) Doc ¶ added in v1.5.0
func (EncryptionKeyTPM) Doc() *encoder.Doc
type Endpoint ¶
Endpoint represents the endpoint URL parsed out of the machine config.
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Endpoint) MarshalYAML ¶
MarshalYAML is a custom marshaller for `Endpoint`.
func (*Endpoint) UnmarshalYAML ¶
UnmarshalYAML is a custom unmarshaller for `Endpoint`.
type EtcdConfig ¶
type EtcdConfig struct { // description: | // The container image used to create the etcd service. // examples: // - value: clusterEtcdImageExample() ContainerImage string `yaml:"image,omitempty"` // description: | // The `ca` is the root certificate authority of the PKI. // It is composed of a base64 encoded `crt` and `key`. // examples: // - value: pemEncodedCertificateExample() // schema: // type: object // additionalProperties: false // properties: // crt: // type: string // key: // type: string RootCA *x509.PEMEncodedCertificateAndKey `yaml:"ca"` // description: | // Extra arguments to supply to etcd. // Note that the following args are not allowed: // // - `name` // - `data-dir` // - `initial-cluster-state` // - `listen-peer-urls` // - `listen-client-urls` // - `cert-file` // - `key-file` // - `trusted-ca-file` // - `peer-client-cert-auth` // - `peer-cert-file` // - `peer-trusted-ca-file` // - `peer-key-file` // examples: // - values: > // map[string]string{ // "initial-cluster": "https://1.2.3.4:2380", // "advertise-client-urls": "https://1.2.3.4:2379", // } EtcdExtraArgs map[string]string `yaml:"extraArgs,omitempty"` // docgen:nodoc // // Deprecated: use EtcdAdvertistedSubnets EtcdSubnet string `yaml:"subnet,omitempty"` // description: | // The `advertisedSubnets` field configures the networks to pick etcd advertised IP from. // // IPs can be excluded from the list by using negative match with `!`, e.g `!10.0.0.0/8`. // Negative subnet matches should be specified last to filter out IPs picked by positive matches. // If not specified, advertised IP is selected as the first routable address of the node. // // examples: // - value: clusterEtcdAdvertisedSubnetsExample() EtcdAdvertisedSubnets []string `yaml:"advertisedSubnets,omitempty"` // description: | // The `listenSubnets` field configures the networks for the etcd to listen for peer and client connections. // // If `listenSubnets` is not set, but `advertisedSubnets` is set, `listenSubnets` defaults to // `advertisedSubnets`. // // If neither `advertisedSubnets` nor `listenSubnets` is set, `listenSubnets` defaults to listen on all addresses. // // IPs can be excluded from the list by using negative match with `!`, e.g `!10.0.0.0/8`. // Negative subnet matches should be specified last to filter out IPs picked by positive matches. // If not specified, advertised IP is selected as the first routable address of the node. EtcdListenSubnets []string `yaml:"listenSubnets,omitempty"` }
EtcdConfig represents the etcd configuration options.
func (*EtcdConfig) AdvertisedSubnets ¶
func (e *EtcdConfig) AdvertisedSubnets() []string
AdvertisedSubnets implements the config.Etcd interface.
func (*EtcdConfig) CA ¶
func (e *EtcdConfig) CA() *x509.PEMEncodedCertificateAndKey
CA implements the config.Etcd interface.
func (*EtcdConfig) DeepCopy ¶
func (in *EtcdConfig) DeepCopy() *EtcdConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdConfig.
func (*EtcdConfig) DeepCopyInto ¶
func (in *EtcdConfig) DeepCopyInto(out *EtcdConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EtcdConfig) Doc ¶
func (EtcdConfig) Doc() *encoder.Doc
func (*EtcdConfig) ExtraArgs ¶
func (e *EtcdConfig) ExtraArgs() map[string]string
ExtraArgs implements the config.Etcd interface.
func (*EtcdConfig) Image ¶
func (e *EtcdConfig) Image() string
Image implements the config.Etcd interface.
func (*EtcdConfig) ListenSubnets ¶
func (e *EtcdConfig) ListenSubnets() []string
ListenSubnets implements the config.Etcd interface.
type ExternalCloudProviderConfig ¶
type ExternalCloudProviderConfig struct { // description: | // Enable external cloud provider. // values: // - true // - yes // - false // - no ExternalEnabled *bool `yaml:"enabled,omitempty"` // description: | // A list of urls that point to additional manifests for an external cloud provider. // These will get automatically deployed as part of the bootstrap. // examples: // - value: > // []string{ // "https://raw.githubusercontent.com/kubernetes/cloud-provider-aws/v1.20.0-alpha.0/manifests/rbac.yaml", // "https://raw.githubusercontent.com/kubernetes/cloud-provider-aws/v1.20.0-alpha.0/manifests/aws-cloud-controller-manager-daemonset.yaml", // } ExternalManifests []string `yaml:"manifests,omitempty"` }
ExternalCloudProviderConfig contains external cloud provider configuration.
func (*ExternalCloudProviderConfig) DeepCopy ¶
func (in *ExternalCloudProviderConfig) DeepCopy() *ExternalCloudProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalCloudProviderConfig.
func (*ExternalCloudProviderConfig) DeepCopyInto ¶
func (in *ExternalCloudProviderConfig) DeepCopyInto(out *ExternalCloudProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExternalCloudProviderConfig) Doc ¶
func (ExternalCloudProviderConfig) Doc() *encoder.Doc
func (*ExternalCloudProviderConfig) Enabled ¶
func (ecp *ExternalCloudProviderConfig) Enabled() bool
Enabled implements the config.ExternalCloudProvider interface.
func (*ExternalCloudProviderConfig) ManifestURLs ¶
func (ecp *ExternalCloudProviderConfig) ManifestURLs() []string
ManifestURLs implements the config.ExternalCloudProvider interface.
func (*ExternalCloudProviderConfig) Validate ¶
func (ecp *ExternalCloudProviderConfig) Validate() error
Validate validates external cloud provider configuration.
type ExtraHost ¶
type ExtraHost struct { // description: The IP of the host. HostIP string `yaml:"ip"` // description: The host alias. HostAliases []string `yaml:"aliases"` }
ExtraHost represents a host entry in /etc/hosts.
func (*ExtraHost) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraHost.
func (*ExtraHost) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtraMount ¶
type ExtraMount struct {
specs.Mount `yaml:",inline"`
}
ExtraMount wraps OCI Mount specification.
func (*ExtraMount) DeepCopy ¶
func (in *ExtraMount) DeepCopy() *ExtraMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraMount.
func (*ExtraMount) DeepCopyInto ¶
func (in *ExtraMount) DeepCopyInto(out *ExtraMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExtraMount) Doc ¶
func (ExtraMount) Doc() *encoder.Doc
type FeaturesConfig ¶
type FeaturesConfig struct { // description: | // Enable role-based access control (RBAC). RBAC *bool `yaml:"rbac,omitempty"` // description: | // Enable stable default hostname. StableHostname *bool `yaml:"stableHostname,omitempty"` // description: | // Configure Talos API access from Kubernetes pods. // // This feature is disabled if the feature config is not specified. // examples: // - value: kubernetesTalosAPIAccessConfigExample() KubernetesTalosAPIAccessConfig *KubernetesTalosAPIAccessConfig `yaml:"kubernetesTalosAPIAccess,omitempty"` // description: | // Enable checks for extended key usage of client certificates in apid. ApidCheckExtKeyUsage *bool `yaml:"apidCheckExtKeyUsage,omitempty"` // description: | // Enable XFS project quota support for EPHEMERAL partition and user disks. // Also enables kubelet tracking of ephemeral disk usage in the kubelet via quota. DiskQuotaSupport *bool `yaml:"diskQuotaSupport,omitempty"` // description: | // KubePrism - local proxy/load balancer on defined port that will distribute // requests to all API servers in the cluster. KubePrismSupport *KubePrism `yaml:"kubePrism,omitempty"` }
FeaturesConfig describes individual Talos features that can be switched on or off.
func (*FeaturesConfig) ApidCheckExtKeyUsageEnabled ¶
func (f *FeaturesConfig) ApidCheckExtKeyUsageEnabled() bool
ApidCheckExtKeyUsageEnabled implements config.Features interface.
func (*FeaturesConfig) DeepCopy ¶
func (in *FeaturesConfig) DeepCopy() *FeaturesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesConfig.
func (*FeaturesConfig) DeepCopyInto ¶
func (in *FeaturesConfig) DeepCopyInto(out *FeaturesConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeaturesConfig) DiskQuotaSupportEnabled ¶ added in v1.5.0
func (f *FeaturesConfig) DiskQuotaSupportEnabled() bool
DiskQuotaSupportEnabled implements config.Features interface.
func (FeaturesConfig) Doc ¶
func (FeaturesConfig) Doc() *encoder.Doc
func (*FeaturesConfig) KubePrism ¶ added in v1.5.0
func (f *FeaturesConfig) KubePrism() config.KubePrism
KubePrism implements config.Features interface.
func (*FeaturesConfig) KubernetesTalosAPIAccess ¶
func (f *FeaturesConfig) KubernetesTalosAPIAccess() config.KubernetesTalosAPIAccess
KubernetesTalosAPIAccess implements config.Features interface.
func (*FeaturesConfig) RBACEnabled ¶
func (f *FeaturesConfig) RBACEnabled() bool
RBACEnabled implements config.Features interface.
func (*FeaturesConfig) StableHostnameEnabled ¶
func (f *FeaturesConfig) StableHostnameEnabled() bool
StableHostnameEnabled implements config.Features interface.
type FileMode ¶
FileMode represents file's permissions.
func (FileMode) MarshalYAML ¶
MarshalYAML encodes as an octal value.
type IfaceSelector ¶ added in v1.5.0
type IfaceSelector struct { Name *string Selector *NetworkDeviceSelector }
IfaceSelector is a helper type to select network interface.
It might either to select interface by name or by selector.
func IfaceByName ¶ added in v1.5.0
func IfaceByName(name string) IfaceSelector
IfaceByName selects interface by name.
func IfaceBySelector ¶ added in v1.5.0
func IfaceBySelector(selector NetworkDeviceSelector) IfaceSelector
IfaceBySelector selects interface by selector.
func (*IfaceSelector) DeepCopy ¶ added in v1.5.0
func (in *IfaceSelector) DeepCopy() *IfaceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IfaceSelector.
func (*IfaceSelector) DeepCopyInto ¶ added in v1.5.0
func (in *IfaceSelector) DeepCopyInto(out *IfaceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallConfig ¶
type InstallConfig struct { // description: | // The disk used for installations. // examples: // - value: '"/dev/sda"' // - value: '"/dev/nvme0"' InstallDisk string `yaml:"disk,omitempty"` // description: | // Look up disk using disk attributes like model, size, serial and others. // Always has priority over `disk`. // examples: // - value: machineInstallDiskSelectorExample() InstallDiskSelector *InstallDiskSelector `yaml:"diskSelector,omitempty"` // description: | // Allows for supplying extra kernel args via the bootloader. // examples: // - value: '[]string{"talos.platform=metal", "reboot=k"}' InstallExtraKernelArgs []string `yaml:"extraKernelArgs,omitempty"` // description: | // Allows for supplying the image used to perform the installation. // Image reference for each Talos release can be found on // [GitHub releases page](https://github.com/siderolabs/talos/releases). // examples: // - value: '"ghcr.io/siderolabs/installer:latest"' InstallImage string `yaml:"image,omitempty"` // description: | // Allows for supplying additional system extension images to install on top of base Talos image. // examples: // - value: installExtensionsExample() InstallExtensions []InstallExtensionConfig `yaml:"extensions,omitempty"` // description: | // Indicates if a bootloader should be installed. // values: // - true // - yes // - false // - no InstallBootloader *bool `yaml:"bootloader,omitempty"` // description: | // Indicates if the installation disk should be wiped at installation time. // Defaults to `true`. // values: // - true // - yes // - false // - no InstallWipe *bool `yaml:"wipe"` // description: | // Indicates if MBR partition should be marked as bootable (active). // Should be enabled only for the systems with legacy BIOS that doesn't support GPT partitioning scheme. InstallLegacyBIOSSupport *bool `yaml:"legacyBIOSSupport,omitempty"` }
InstallConfig represents the installation options for preparing a node.
func (*InstallConfig) DeepCopy ¶
func (in *InstallConfig) DeepCopy() *InstallConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallConfig.
func (*InstallConfig) DeepCopyInto ¶
func (in *InstallConfig) DeepCopyInto(out *InstallConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallConfig) Disk ¶
func (i *InstallConfig) Disk() (string, error)
Disk implements the config.Provider interface.
func (*InstallConfig) DiskMatchers ¶
func (i *InstallConfig) DiskMatchers() []disk.Matcher
DiskMatchers implements the config.Provider interface.
func (InstallConfig) Doc ¶
func (InstallConfig) Doc() *encoder.Doc
func (*InstallConfig) Extensions ¶
func (i *InstallConfig) Extensions() []config.Extension
Extensions implements the config.Provider interface.
func (*InstallConfig) ExtraKernelArgs ¶
func (i *InstallConfig) ExtraKernelArgs() []string
ExtraKernelArgs implements the config.Provider interface.
func (*InstallConfig) Image ¶
func (i *InstallConfig) Image() string
Image implements the config.Provider interface.
func (*InstallConfig) LegacyBIOSSupport ¶
func (i *InstallConfig) LegacyBIOSSupport() bool
LegacyBIOSSupport implements the config.Provider interface.
func (*InstallConfig) WithBootloader ¶
func (i *InstallConfig) WithBootloader() bool
WithBootloader implements the config.Provider interface.
func (*InstallConfig) Zero ¶
func (i *InstallConfig) Zero() bool
Zero implements the config.Provider interface.
type InstallDiskSelector ¶
type InstallDiskSelector struct { // description: Disk size. // examples: // - name: Select a disk which size is equal to 4GB. // value: machineInstallDiskSizeMatcherExamples0() // - name: Select a disk which size is greater than 1TB. // value: machineInstallDiskSizeMatcherExamples1() // - name: Select a disk which size is less or equal than 2TB. // value: machineInstallDiskSizeMatcherExamples2() // schema: // type: string Size *InstallDiskSizeMatcher `yaml:"size,omitempty"` // description: Disk name `/sys/block/<dev>/device/name`. Name string `yaml:"name,omitempty"` // description: Disk model `/sys/block/<dev>/device/model`. Model string `yaml:"model,omitempty"` // description: Disk serial number `/sys/block/<dev>/serial`. Serial string `yaml:"serial,omitempty"` // description: Disk modalias `/sys/block/<dev>/device/modalias`. Modalias string `yaml:"modalias,omitempty"` // description: Disk UUID `/sys/block/<dev>/uuid`. UUID string `yaml:"uuid,omitempty"` // description: Disk WWID `/sys/block/<dev>/wwid`. WWID string `yaml:"wwid,omitempty"` // description: Disk Type. // values: // - ssd // - hdd // - nvme // - sd Type InstallDiskType `yaml:"type,omitempty"` // description: Disk bus path. // examples: // - value: '"/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0"' // - value: '"/pci0000:00/*"' BusPath string `yaml:"busPath,omitempty"` }
InstallDiskSelector represents a disk query parameters for the install disk lookup.
func (*InstallDiskSelector) DeepCopy ¶
func (in *InstallDiskSelector) DeepCopy() *InstallDiskSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallDiskSelector.
func (*InstallDiskSelector) DeepCopyInto ¶
func (in *InstallDiskSelector) DeepCopyInto(out *InstallDiskSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InstallDiskSelector) Doc ¶
func (InstallDiskSelector) Doc() *encoder.Doc
type InstallDiskSizeMatchData ¶
InstallDiskSizeMatchData contains data for comparison - Op and Size.
func (*InstallDiskSizeMatchData) Compare ¶
func (in *InstallDiskSizeMatchData) Compare(d *disk.Disk) bool
Compare is the method to compare disk size.
func (*InstallDiskSizeMatchData) DeepCopy ¶
func (in *InstallDiskSizeMatchData) DeepCopy() *InstallDiskSizeMatchData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallDiskSizeMatchData.
func (*InstallDiskSizeMatchData) DeepCopyInto ¶
func (in *InstallDiskSizeMatchData) DeepCopyInto(out *InstallDiskSizeMatchData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallDiskSizeMatcher ¶
type InstallDiskSizeMatcher struct { MatchData InstallDiskSizeMatchData // contains filtered or unexported fields }
InstallDiskSizeMatcher disk size condition parser. docgen:nodoc
func (*InstallDiskSizeMatcher) DeepCopy ¶
func (in *InstallDiskSizeMatcher) DeepCopy() *InstallDiskSizeMatcher
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallDiskSizeMatcher.
func (*InstallDiskSizeMatcher) DeepCopyInto ¶
func (in *InstallDiskSizeMatcher) DeepCopyInto(out *InstallDiskSizeMatcher)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallDiskSizeMatcher) MarshalYAML ¶
func (m *InstallDiskSizeMatcher) MarshalYAML() (interface{}, error)
MarshalYAML is a custom marshaller for `InstallDiskSizeMatcher`.
func (*InstallDiskSizeMatcher) Matcher ¶
func (m *InstallDiskSizeMatcher) Matcher(d *disk.Disk) bool
Matcher is a method that can handle some custom disk matching logic.
func (*InstallDiskSizeMatcher) UnmarshalYAML ¶
func (m *InstallDiskSizeMatcher) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is a custom unmarshaller for `InstallDiskSizeMatcher`.
type InstallDiskType ¶
InstallDiskType custom type for disk type selector.
func (InstallDiskType) MarshalYAML ¶
func (it InstallDiskType) MarshalYAML() (interface{}, error)
MarshalYAML is a custom marshaller for `InstallDiskSizeMatcher`.
func (*InstallDiskType) UnmarshalYAML ¶
func (it *InstallDiskType) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is a custom unmarshaler for `InstallDiskType`.
type InstallExtensionConfig ¶
type InstallExtensionConfig struct { // description: System extension image. ExtensionImage string `yaml:"image"` }
InstallExtensionConfig represents a configuration for a system extension.
func (*InstallExtensionConfig) DeepCopy ¶
func (in *InstallExtensionConfig) DeepCopy() *InstallExtensionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallExtensionConfig.
func (*InstallExtensionConfig) DeepCopyInto ¶
func (in *InstallExtensionConfig) DeepCopyInto(out *InstallExtensionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InstallExtensionConfig) Doc ¶
func (InstallExtensionConfig) Doc() *encoder.Doc
func (InstallExtensionConfig) Image ¶
func (i InstallExtensionConfig) Image() string
Image implements the config.Provider interface.
type KernelConfig ¶
type KernelConfig struct { // description: | // Kernel modules to load. KernelModules []*KernelModuleConfig `yaml:"modules,omitempty"` }
KernelConfig struct configures Talos Linux kernel.
func (*KernelConfig) DeepCopy ¶
func (in *KernelConfig) DeepCopy() *KernelConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelConfig.
func (*KernelConfig) DeepCopyInto ¶
func (in *KernelConfig) DeepCopyInto(out *KernelConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KernelConfig) Doc ¶
func (KernelConfig) Doc() *encoder.Doc
func (*KernelConfig) Modules ¶
func (kc *KernelConfig) Modules() []config.KernelModule
Modules implements config.Kernel interface.
type KernelModuleConfig ¶
type KernelModuleConfig struct { // description: | // Module name. ModuleName string `yaml:"name"` // description: | // Module parameters, changes applied after reboot. ModuleParameters []string `yaml:"parameters,omitempty"` }
KernelModuleConfig struct configures Linux kernel modules to load.
func (*KernelModuleConfig) DeepCopy ¶
func (in *KernelModuleConfig) DeepCopy() *KernelModuleConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelModuleConfig.
func (*KernelModuleConfig) DeepCopyInto ¶
func (in *KernelModuleConfig) DeepCopyInto(out *KernelModuleConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KernelModuleConfig) Doc ¶
func (KernelModuleConfig) Doc() *encoder.Doc
func (*KernelModuleConfig) Name ¶
func (kmc *KernelModuleConfig) Name() string
Name implements config.KernelModule interface.
func (*KernelModuleConfig) Parameters ¶
func (kmc *KernelModuleConfig) Parameters() []string
Parameters implements config.KernelModule interface.
type KubePrism ¶ added in v1.5.0
type KubePrism struct { // description: | // Enable KubePrism support - will start local load balacing proxy. ServerEnabled *bool `yaml:"enabled,omitempty"` // description: | // KubePrism port. ServerPort int `yaml:"port,omitempty"` }
KubePrism describes the configuration for the KubePrism load balancer.
func (*KubePrism) DeepCopy ¶ added in v1.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubePrism.
func (*KubePrism) DeepCopyInto ¶ added in v1.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubePrism) Enabled ¶ added in v1.5.0
Enabled implements config.KubePrism.
func (*KubePrism) Port ¶ added in v1.5.0
Port implements config.KubePrism.
type KubeSpanFilters ¶
type KubeSpanFilters struct { // description: | // Filter node addresses which will be advertised as KubeSpan endpoints for peer-to-peer Wireguard connections. // // By default, all addresses are advertised, and KubeSpan cycles through all endpoints until it finds one that works. // // Default value: no filtering. // examples: // - name: Exclude addresses in 192.168.0.0/16 subnet. // value: '[]string{"0.0.0.0/0", "!192.168.0.0/16", "::/0"}' KubeSpanFiltersEndpoints []string `yaml:"endpoints,omitempty"` }
KubeSpanFilters struct describes KubeSpan advanced network addresses filtering.
func (*KubeSpanFilters) DeepCopy ¶
func (in *KubeSpanFilters) DeepCopy() *KubeSpanFilters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSpanFilters.
func (*KubeSpanFilters) DeepCopyInto ¶
func (in *KubeSpanFilters) DeepCopyInto(out *KubeSpanFilters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubeSpanFilters) Doc ¶
func (KubeSpanFilters) Doc() *encoder.Doc
func (*KubeSpanFilters) Endpoints ¶
func (k *KubeSpanFilters) Endpoints() []string
Endpoints implements the config.KubeSpanFilters interface.
type KubeletConfig ¶
type KubeletConfig struct { // description: | // The `image` field is an optional reference to an alternative kubelet image. // examples: // - value: kubeletImageExample() KubeletImage string `yaml:"image,omitempty"` // description: | // The `ClusterDNS` field is an optional reference to an alternative kubelet clusterDNS ip list. // examples: // - value: '[]string{"10.96.0.10", "169.254.2.53"}' KubeletClusterDNS []string `yaml:"clusterDNS,omitempty"` // description: | // The `extraArgs` field is used to provide additional flags to the kubelet. // examples: // - value: > // map[string]string{ // "key": "value", // } KubeletExtraArgs map[string]string `yaml:"extraArgs,omitempty"` // description: | // The `extraMounts` field is used to add additional mounts to the kubelet container. // Note that either `bind` or `rbind` are required in the `options`. // examples: // - value: kubeletExtraMountsExample() KubeletExtraMounts []ExtraMount `yaml:"extraMounts,omitempty"` // description: | // The `extraConfig` field is used to provide kubelet configuration overrides. // // Some fields are not allowed to be overridden: authentication and authorization, cgroups // configuration, ports, etc. // examples: // - value: kubeletExtraConfigExample() // schema: // type: object KubeletExtraConfig Unstructured `yaml:"extraConfig,omitempty"` // description: | // Enable container runtime default Seccomp profile. // values: // - true // - yes // - false // - no KubeletDefaultRuntimeSeccompProfileEnabled *bool `yaml:"defaultRuntimeSeccompProfileEnabled,omitempty"` // description: | // The `registerWithFQDN` field is used to force kubelet to use the node FQDN for registration. // This is required in clouds like AWS. // values: // - true // - yes // - false // - no KubeletRegisterWithFQDN *bool `yaml:"registerWithFQDN,omitempty"` // description: | // The `nodeIP` field is used to configure `--node-ip` flag for the kubelet. // This is used when a node has multiple addresses to choose from. // examples: // - value: kubeletNodeIPExample() KubeletNodeIP *KubeletNodeIPConfig `yaml:"nodeIP,omitempty"` // description: | // The `skipNodeRegistration` is used to run the kubelet without registering with the apiserver. // This runs kubelet as standalone and only runs static pods. // values: // - true // - yes // - false // - no KubeletSkipNodeRegistration *bool `yaml:"skipNodeRegistration,omitempty"` // description: | // The `disableManifestsDirectory` field configures the kubelet to get static pod manifests from the /etc/kubernetes/manifests directory. // It's recommended to configure static pods with the "pods" key instead. // values: // - true // - yes // - false // - no KubeletDisableManifestsDirectory *bool `yaml:"disableManifestsDirectory,omitempty"` }
KubeletConfig represents the kubelet config values.
func (*KubeletConfig) ClusterDNS ¶
func (k *KubeletConfig) ClusterDNS() []string
ClusterDNS implements the config.Provider interface.
func (*KubeletConfig) DeepCopy ¶
func (in *KubeletConfig) DeepCopy() *KubeletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.
func (*KubeletConfig) DeepCopyInto ¶
func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeletConfig) DefaultRuntimeSeccompProfileEnabled ¶
func (k *KubeletConfig) DefaultRuntimeSeccompProfileEnabled() bool
DefaultRuntimeSeccompProfileEnabled implements the config.Provider interface.
func (*KubeletConfig) DisableManifestsDirectory ¶
func (k *KubeletConfig) DisableManifestsDirectory() bool
DisableManifestsDirectory implements the KubeletConfig interface.
func (KubeletConfig) Doc ¶
func (KubeletConfig) Doc() *encoder.Doc
func (*KubeletConfig) ExtraArgs ¶
func (k *KubeletConfig) ExtraArgs() map[string]string
ExtraArgs implements the config.Provider interface.
func (*KubeletConfig) ExtraConfig ¶
func (k *KubeletConfig) ExtraConfig() map[string]interface{}
ExtraConfig implements the config.Provider interface.
func (*KubeletConfig) ExtraMounts ¶
func (k *KubeletConfig) ExtraMounts() []specs.Mount
ExtraMounts implements the config.Provider interface.
func (*KubeletConfig) Image ¶
func (k *KubeletConfig) Image() string
Image implements the config.Provider interface.
func (*KubeletConfig) NodeIP ¶
func (k *KubeletConfig) NodeIP() config.KubeletNodeIP
NodeIP implements the config.Provider interface.
func (*KubeletConfig) RegisterWithFQDN ¶
func (k *KubeletConfig) RegisterWithFQDN() bool
RegisterWithFQDN implements the config.Provider interface.
func (*KubeletConfig) SkipNodeRegistration ¶
func (k *KubeletConfig) SkipNodeRegistration() bool
SkipNodeRegistration implements the config.Provider interface.
func (*KubeletConfig) Validate ¶
func (k *KubeletConfig) Validate() ([]string, error)
Validate kubelet configuration.
type KubeletNodeIPConfig ¶
type KubeletNodeIPConfig struct { // description: | // The `validSubnets` field configures the networks to pick kubelet node IP from. // For dual stack configuration, there should be two subnets: one for IPv4, another for IPv6. // IPs can be excluded from the list by using negative match with `!`, e.g `!10.0.0.0/8`. // Negative subnet matches should be specified last to filter out IPs picked by positive matches. // If not specified, node IP is picked based on cluster podCIDRs: IPv4/IPv6 address or both. KubeletNodeIPValidSubnets []string `yaml:"validSubnets,omitempty"` }
KubeletNodeIPConfig represents the kubelet node IP configuration.
func (*KubeletNodeIPConfig) DeepCopy ¶
func (in *KubeletNodeIPConfig) DeepCopy() *KubeletNodeIPConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletNodeIPConfig.
func (*KubeletNodeIPConfig) DeepCopyInto ¶
func (in *KubeletNodeIPConfig) DeepCopyInto(out *KubeletNodeIPConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubeletNodeIPConfig) Doc ¶
func (KubeletNodeIPConfig) Doc() *encoder.Doc
func (*KubeletNodeIPConfig) ValidSubnets ¶
func (k *KubeletNodeIPConfig) ValidSubnets() []string
ValidSubnets implements the config.Provider interface.
type KubernetesTalosAPIAccessConfig ¶
type KubernetesTalosAPIAccessConfig struct { // description: | // Enable Talos API access from Kubernetes pods. AccessEnabled *bool `yaml:"enabled,omitempty"` // description: | // The list of Talos API roles which can be granted for access from Kubernetes pods. // // Empty list means that no roles can be granted, so access is blocked. AccessAllowedRoles []string `yaml:"allowedRoles,omitempty"` // description: | // The list of Kubernetes namespaces Talos API access is available from. AccessAllowedKubernetesNamespaces []string `yaml:"allowedKubernetesNamespaces,omitempty"` }
KubernetesTalosAPIAccessConfig describes the configuration for the Talos API access from Kubernetes pods.
func (*KubernetesTalosAPIAccessConfig) AllowedKubernetesNamespaces ¶
func (c *KubernetesTalosAPIAccessConfig) AllowedKubernetesNamespaces() []string
AllowedKubernetesNamespaces implements config.KubernetesTalosAPIAccess.
func (*KubernetesTalosAPIAccessConfig) AllowedRoles ¶
func (c *KubernetesTalosAPIAccessConfig) AllowedRoles() []string
AllowedRoles implements config.KubernetesTalosAPIAccess.
func (*KubernetesTalosAPIAccessConfig) DeepCopy ¶
func (in *KubernetesTalosAPIAccessConfig) DeepCopy() *KubernetesTalosAPIAccessConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesTalosAPIAccessConfig.
func (*KubernetesTalosAPIAccessConfig) DeepCopyInto ¶
func (in *KubernetesTalosAPIAccessConfig) DeepCopyInto(out *KubernetesTalosAPIAccessConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubernetesTalosAPIAccessConfig) Doc ¶
func (KubernetesTalosAPIAccessConfig) Doc() *encoder.Doc
func (*KubernetesTalosAPIAccessConfig) Enabled ¶
func (c *KubernetesTalosAPIAccessConfig) Enabled() bool
Enabled implements config.KubernetesTalosAPIAccess.
type LoggingConfig ¶
type LoggingConfig struct { // description: | // Logging destination. LoggingDestinations []LoggingDestination `yaml:"destinations"` }
LoggingConfig struct configures Talos logging.
func (*LoggingConfig) DeepCopy ¶
func (in *LoggingConfig) DeepCopy() *LoggingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingConfig.
func (*LoggingConfig) DeepCopyInto ¶
func (in *LoggingConfig) DeepCopyInto(out *LoggingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoggingConfig) Destinations ¶
func (lc *LoggingConfig) Destinations() []config.LoggingDestination
Destinations implements config.Logging interface.
func (LoggingConfig) Doc ¶
func (LoggingConfig) Doc() *encoder.Doc
func (*LoggingConfig) Validate ¶
func (lc *LoggingConfig) Validate() error
Validate checks logging configuration for errors.
type LoggingDestination ¶
type LoggingDestination struct { // description: | // Where to send logs. Supported protocols are "tcp" and "udp". // examples: // - value: loggingEndpointExample1() // - value: loggingEndpointExample2() LoggingEndpoint *Endpoint `yaml:"endpoint"` // description: | // Logs format. // values: // - json_lines LoggingFormat string `yaml:"format"` }
LoggingDestination struct configures Talos logging destination.
func (*LoggingDestination) DeepCopy ¶
func (in *LoggingDestination) DeepCopy() *LoggingDestination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingDestination.
func (*LoggingDestination) DeepCopyInto ¶
func (in *LoggingDestination) DeepCopyInto(out *LoggingDestination)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (LoggingDestination) Doc ¶
func (LoggingDestination) Doc() *encoder.Doc
func (LoggingDestination) Endpoint ¶
func (ld LoggingDestination) Endpoint() *url.URL
Endpoint implements config.LoggingDestination interface.
func (LoggingDestination) Format ¶
func (ld LoggingDestination) Format() string
Format implements config.LoggingDestination interface.
type MachineConfig ¶
type MachineConfig struct { // description: | // Defines the role of the machine within the cluster. // // **Control Plane** // // Control Plane node type designates the node as a control plane member. // This means it will host etcd along with the Kubernetes controlplane components such as API Server, Controller Manager, Scheduler. // // **Worker** // // Worker node type designates the node as a worker node. // This means it will be an available compute node for scheduling workloads. // // This node type was previously known as "join"; that value is still supported but deprecated. // values: // - "controlplane" // - "worker" MachineType string `yaml:"type"` // description: | // The `token` is used by a machine to join the PKI of the cluster. // Using this token, a machine will create a certificate signing request (CSR), and request a certificate that will be used as its' identity. // examples: // - name: example token // value: "\"328hom.uqjzh6jnn2eie9oi\"" MachineToken string `yaml:"token"` // Warning: It is important to ensure that this token is correct since a machine's certificate has a short TTL by default. // description: | // The root certificate authority of the PKI. // It is composed of a base64 encoded `crt` and `key`. // examples: // - value: pemEncodedCertificateExample() // name: machine CA example // schema: // type: object // additionalProperties: false // properties: // crt: // type: string // key: // type: string MachineCA *x509.PEMEncodedCertificateAndKey `yaml:"ca,omitempty"` // description: | // Extra certificate subject alternative names for the machine's certificate. // By default, all non-loopback interface IPs are automatically added to the certificate's SANs. // examples: // - name: Uncomment this to enable SANs. // value: '[]string{"10.0.0.10", "172.16.0.10", "192.168.0.10"}' MachineCertSANs []string `yaml:"certSANs"` // description: | // Provides machine specific control plane configuration options. // examples: // - name: ControlPlane definition example. // value: machineControlplaneExample() MachineControlPlane *MachineControlPlaneConfig `yaml:"controlPlane,omitempty"` // description: | // Used to provide additional options to the kubelet. // examples: // - name: Kubelet definition example. // value: machineKubeletExample() MachineKubelet *KubeletConfig `yaml:"kubelet,omitempty"` // description: | // Used to provide static pod definitions to be run by the kubelet directly bypassing the kube-apiserver. // // Static pods can be used to run components which should be started before the Kubernetes control plane is up. // Talos doesn't validate the pod definition. // Updates to this field can be applied without a reboot. // // See https://kubernetes.io/docs/tasks/configure-pod-container/static-pod/. // examples: // - name: nginx static pod. // value: machinePodsExample() // schema: // type: array // items: // type: object MachinePods []Unstructured `yaml:"pods,omitempty"` // description: | // Provides machine specific network configuration options. // examples: // - name: Network definition example. // value: machineNetworkConfigExample() MachineNetwork *NetworkConfig `yaml:"network,omitempty"` // description: | // Used to partition, format and mount additional disks. // Since the rootfs is read only with the exception of `/var`, mounts are only valid if they are under `/var`. // Note that the partitioning and formatting is done only once, if and only if no existing XFS partitions are found. // If `size:` is omitted, the partition is sized to occupy the full disk. // examples: // - name: MachineDisks list example. // value: machineDisksExample() MachineDisks []*MachineDisk `yaml:"disks,omitempty"` // Note: `size` is in units of bytes. // description: | // Used to provide instructions for installations. // // Note that this configuration section gets silently ignored by Talos images that are considered pre-installed. // To make sure Talos installs according to the provided configuration, Talos should be booted with ISO or PXE-booted. // examples: // - name: MachineInstall config usage example. // value: machineInstallExample() MachineInstall *InstallConfig `yaml:"install,omitempty"` // description: | // Allows the addition of user specified files. // The value of `op` can be `create`, `overwrite`, or `append`. // In the case of `create`, `path` must not exist. // In the case of `overwrite`, and `append`, `path` must be a valid file. // If an `op` value of `append` is used, the existing file will be appended. // Note that the file contents are not required to be base64 encoded. // examples: // - name: MachineFiles usage example. // value: machineFilesExample() MachineFiles []*MachineFile `yaml:"files,omitempty"` // Note: The specified `path` is relative to `/var`. // description: | // The `env` field allows for the addition of environment variables. // All environment variables are set on PID 1 in addition to every service. // values: // - "`GRPC_GO_LOG_VERBOSITY_LEVEL`" // - "`GRPC_GO_LOG_SEVERITY_LEVEL`" // - "`http_proxy`" // - "`https_proxy`" // - "`no_proxy`" // examples: // - name: Environment variables definition examples. // value: machineEnvExamples0() // - value: machineEnvExamples1() // - value: machineEnvExamples2() // schema: // type: object // patternProperties: // ".*": // type: string MachineEnv Env `yaml:"env,omitempty"` // description: | // Used to configure the machine's time settings. // examples: // - name: Example configuration for cloudflare ntp server. // value: machineTimeExample() MachineTime *TimeConfig `yaml:"time,omitempty"` // description: | // Used to configure the machine's sysctls. // examples: // - name: MachineSysctls usage example. // value: machineSysctlsExample() MachineSysctls map[string]string `yaml:"sysctls,omitempty"` // description: | // Used to configure the machine's sysfs. // examples: // - name: MachineSysfs usage example. // value: machineSysfsExample() MachineSysfs map[string]string `yaml:"sysfs,omitempty"` // description: | // Used to configure the machine's container image registry mirrors. // // Automatically generates matching CRI configuration for registry mirrors. // // The `mirrors` section allows to redirect requests for images to a non-default registry, // which might be a local registry or a caching mirror. // // The `config` section provides a way to authenticate to the registry with TLS client // identity, provide registry CA, or authentication information. // Authentication information has same meaning with the corresponding field in [`.docker/config.json`](https://docs.docker.com/engine/api/v1.41/#section/Authentication). // // See also matching configuration for [CRI containerd plugin](https://github.com/containerd/cri/blob/master/docs/registry.md). // examples: // - value: machineConfigRegistriesExample() MachineRegistries RegistriesConfig `yaml:"registries,omitempty"` // description: | // Machine system disk encryption configuration. // Defines each system partition encryption parameters. // examples: // - value: machineSystemDiskEncryptionExample() MachineSystemDiskEncryption *SystemDiskEncryptionConfig `yaml:"systemDiskEncryption,omitempty"` // description: | // Features describe individual Talos features that can be switched on or off. // examples: // - value: machineFeaturesExample() MachineFeatures *FeaturesConfig `yaml:"features,omitempty"` // description: | // Configures the udev system. // examples: // - value: machineUdevExample() MachineUdev *UdevConfig `yaml:"udev,omitempty"` // description: | // Configures the logging system. // examples: // - value: machineLoggingExample() MachineLogging *LoggingConfig `yaml:"logging,omitempty"` // description: | // Configures the kernel. // examples: // - value: machineKernelExample() MachineKernel *KernelConfig `yaml:"kernel,omitempty"` // description: | // Configures the seccomp profiles for the machine. // examples: // - value: machineSeccompExample() MachineSeccompProfiles []*MachineSeccompProfile `yaml:"seccompProfiles,omitempty" talos:"omitonlyifnil"` // description: | // Configures the node labels for the machine. // examples: // - name: node labels example. // value: 'map[string]string{"exampleLabel": "exampleLabelValue"}' MachineNodeLabels map[string]string `yaml:"nodeLabels,omitempty"` }
MachineConfig represents the machine-specific config values.
examples: - value: machineConfigExample()
func (*MachineConfig) CA ¶
func (m *MachineConfig) CA() *x509.PEMEncodedCertificateAndKey
CA implements the config.Provider interface.
func (*MachineConfig) CertSANs ¶
func (m *MachineConfig) CertSANs() []string
CertSANs implements the config.Provider interface.
func (*MachineConfig) Controlplane ¶
func (m *MachineConfig) Controlplane() config.MachineControlPlane
Controlplane implements the config.Provider interface.
func (*MachineConfig) DeepCopy ¶
func (in *MachineConfig) DeepCopy() *MachineConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfig.
func (*MachineConfig) DeepCopyInto ¶
func (in *MachineConfig) DeepCopyInto(out *MachineConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineConfig) Disks ¶
func (m *MachineConfig) Disks() []config.Disk
Disks implements the config.Provider interface.
func (MachineConfig) Doc ¶
func (MachineConfig) Doc() *encoder.Doc
func (*MachineConfig) Env ¶
func (m *MachineConfig) Env() config.Env
Env implements the config.Provider interface.
func (*MachineConfig) Features ¶
func (m *MachineConfig) Features() config.Features
Features implements the config.MachineConfig interface.
func (*MachineConfig) Files ¶
func (m *MachineConfig) Files() ([]config.File, error)
Files implements the config.Provider interface.
func (*MachineConfig) Install ¶
func (m *MachineConfig) Install() config.Install
Install implements the config.Provider interface.
func (*MachineConfig) Kernel ¶
func (m *MachineConfig) Kernel() config.Kernel
Kernel implements the config.MachineConfig interface.
func (*MachineConfig) Kubelet ¶
func (m *MachineConfig) Kubelet() config.Kubelet
Kubelet implements the config.Provider interface.
func (*MachineConfig) Logging ¶
func (m *MachineConfig) Logging() config.Logging
Logging implements the config.MachineConfig interface.
func (*MachineConfig) Network ¶
func (m *MachineConfig) Network() config.MachineNetwork
Network implements the config.Provider interface.
func (*MachineConfig) NodeLabels ¶
func (m *MachineConfig) NodeLabels() config.NodeLabels
NodeLabels implements the config.Provider interface.
func (*MachineConfig) Pods ¶
func (m *MachineConfig) Pods() []map[string]interface{}
Pods implements the config.Provider interface.
func (*MachineConfig) Registries ¶
func (m *MachineConfig) Registries() config.Registries
Registries implements the config.Provider interface.
func (*MachineConfig) SeccompProfiles ¶
func (m *MachineConfig) SeccompProfiles() []config.SeccompProfile
SeccompProfiles implements the config.Provider interface.
func (*MachineConfig) Security ¶
func (m *MachineConfig) Security() config.Security
Security implements the config.Provider interface.
func (*MachineConfig) Server ¶
func (m *MachineConfig) Server() string
Server implements the config.Provider interface.
func (*MachineConfig) Sysctls ¶
func (m *MachineConfig) Sysctls() map[string]string
Sysctls implements the config.Provider interface.
func (*MachineConfig) Sysfs ¶
func (m *MachineConfig) Sysfs() map[string]string
Sysfs implements the config.Provider interface.
func (*MachineConfig) SystemDiskEncryption ¶
func (m *MachineConfig) SystemDiskEncryption() config.SystemDiskEncryption
SystemDiskEncryption implements the config.Provider interface.
func (*MachineConfig) Time ¶
func (m *MachineConfig) Time() config.Time
Time implements the config.Provider interface.
func (*MachineConfig) Token ¶
func (m *MachineConfig) Token() string
Token implements the config.Provider interface.
func (*MachineConfig) Type ¶
func (m *MachineConfig) Type() machine.Type
Type implements the config.Provider interface.
func (*MachineConfig) Udev ¶
func (m *MachineConfig) Udev() config.UdevConfig
Udev implements the config.MachineConfig interface.
type MachineControlPlaneConfig ¶
type MachineControlPlaneConfig struct { // description: | // Controller manager machine specific configuration options. MachineControllerManager *MachineControllerManagerConfig `yaml:"controllerManager,omitempty"` // description: | // Scheduler machine specific configuration options. MachineScheduler *MachineSchedulerConfig `yaml:"scheduler,omitempty"` }
MachineControlPlaneConfig machine specific configuration options.
func (*MachineControlPlaneConfig) ControllerManager ¶
func (m *MachineControlPlaneConfig) ControllerManager() config.MachineControllerManager
ControllerManager implements the config.Provider interface.
func (*MachineControlPlaneConfig) DeepCopy ¶
func (in *MachineControlPlaneConfig) DeepCopy() *MachineControlPlaneConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineControlPlaneConfig.
func (*MachineControlPlaneConfig) DeepCopyInto ¶
func (in *MachineControlPlaneConfig) DeepCopyInto(out *MachineControlPlaneConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineControlPlaneConfig) Doc ¶
func (MachineControlPlaneConfig) Doc() *encoder.Doc
func (*MachineControlPlaneConfig) Scheduler ¶
func (m *MachineControlPlaneConfig) Scheduler() config.MachineScheduler
Scheduler implements the config.Provider interface.
type MachineControllerManagerConfig ¶
type MachineControllerManagerConfig struct { // description: | // Disable kube-controller-manager on the node. MachineControllerManagerDisabled *bool `yaml:"disabled,omitempty"` }
MachineControllerManagerConfig represents the machine specific ControllerManager config values.
func (*MachineControllerManagerConfig) DeepCopy ¶
func (in *MachineControllerManagerConfig) DeepCopy() *MachineControllerManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineControllerManagerConfig.
func (*MachineControllerManagerConfig) DeepCopyInto ¶
func (in *MachineControllerManagerConfig) DeepCopyInto(out *MachineControllerManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineControllerManagerConfig) Disabled ¶
func (m *MachineControllerManagerConfig) Disabled() bool
Disabled implements the config.Provider interface.
func (MachineControllerManagerConfig) Doc ¶
func (MachineControllerManagerConfig) Doc() *encoder.Doc
type MachineDisk ¶
type MachineDisk struct { // description: The name of the disk to use. DeviceName string `yaml:"device,omitempty"` // description: A list of partitions to create on the disk. DiskPartitions []*DiskPartition `yaml:"partitions,omitempty"` }
MachineDisk represents the options available for partitioning, formatting, and mounting extra disks.
func (*MachineDisk) DeepCopy ¶
func (in *MachineDisk) DeepCopy() *MachineDisk
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineDisk.
func (*MachineDisk) DeepCopyInto ¶
func (in *MachineDisk) DeepCopyInto(out *MachineDisk)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineDisk) Device ¶
func (d *MachineDisk) Device() string
Device implements the config.Provider interface.
func (MachineDisk) Doc ¶
func (MachineDisk) Doc() *encoder.Doc
func (*MachineDisk) Partitions ¶
func (d *MachineDisk) Partitions() []config.Partition
Partitions implements the config.Provider interface.
type MachineFile ¶
type MachineFile struct { // description: The contents of the file. FileContent string `yaml:"content"` // description: The file's permissions in octal. // schema: // type: integer FilePermissions FileMode `yaml:"permissions"` // description: The path of the file. FilePath string `yaml:"path"` // description: The operation to use // values: // - create // - append // - overwrite FileOp string `yaml:"op"` }
MachineFile represents a file to write to disk.
func (*MachineFile) Content ¶
func (f *MachineFile) Content() string
Content implements the config.Provider interface.
func (*MachineFile) DeepCopy ¶
func (in *MachineFile) DeepCopy() *MachineFile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineFile.
func (*MachineFile) DeepCopyInto ¶
func (in *MachineFile) DeepCopyInto(out *MachineFile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineFile) Doc ¶
func (MachineFile) Doc() *encoder.Doc
func (*MachineFile) Op ¶
func (f *MachineFile) Op() string
Op implements the config.Provider interface.
func (*MachineFile) Path ¶
func (f *MachineFile) Path() string
Path implements the config.Provider interface.
func (*MachineFile) Permissions ¶
func (f *MachineFile) Permissions() os.FileMode
Permissions implements the config.Provider interface.
type MachineSchedulerConfig ¶
type MachineSchedulerConfig struct { // description: | // Disable kube-scheduler on the node. MachineSchedulerDisabled *bool `yaml:"disabled,omitempty"` }
MachineSchedulerConfig represents the machine specific Scheduler config values.
func (*MachineSchedulerConfig) DeepCopy ¶
func (in *MachineSchedulerConfig) DeepCopy() *MachineSchedulerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSchedulerConfig.
func (*MachineSchedulerConfig) DeepCopyInto ¶
func (in *MachineSchedulerConfig) DeepCopyInto(out *MachineSchedulerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineSchedulerConfig) Disabled ¶
func (m *MachineSchedulerConfig) Disabled() bool
Disabled implements the config.Provider interface.
func (MachineSchedulerConfig) Doc ¶
func (MachineSchedulerConfig) Doc() *encoder.Doc
type MachineSeccompProfile ¶
type MachineSeccompProfile struct { // description: | // The `name` field is used to provide the file name of the seccomp profile. MachineSeccompProfileName string `yaml:"name"` // description: | // The `value` field is used to provide the seccomp profile. // schema: // type: object MachineSeccompProfileValue Unstructured `yaml:"value"` }
MachineSeccompProfile defines seccomp profiles for the machine.
func (*MachineSeccompProfile) DeepCopy ¶
func (in *MachineSeccompProfile) DeepCopy() *MachineSeccompProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSeccompProfile.
func (*MachineSeccompProfile) DeepCopyInto ¶
func (in *MachineSeccompProfile) DeepCopyInto(out *MachineSeccompProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineSeccompProfile) Doc ¶
func (MachineSeccompProfile) Doc() *encoder.Doc
func (*MachineSeccompProfile) Name ¶
func (m *MachineSeccompProfile) Name() string
Name implements the config.Provider interface.
func (*MachineSeccompProfile) Value ¶
func (m *MachineSeccompProfile) Value() map[string]interface{}
Value implements the config.Provider interface.
type NetworkConfig ¶
type NetworkConfig struct { // description: | // Used to statically set the hostname for the machine. NetworkHostname string `yaml:"hostname,omitempty"` // description: | // `interfaces` is used to define the network interface configuration. // By default all network interfaces will attempt a DHCP discovery. // This can be further tuned through this configuration parameter. // examples: // - value: machineNetworkConfigExample().NetworkInterfaces NetworkInterfaces NetworkDeviceList `yaml:"interfaces,omitempty"` // description: | // Used to statically set the nameservers for the machine. // Defaults to `1.1.1.1` and `8.8.8.8` // examples: // - value: '[]string{"8.8.8.8", "1.1.1.1"}' NameServers []string `yaml:"nameservers,omitempty"` // description: | // Allows for extra entries to be added to the `/etc/hosts` file // examples: // - value: networkConfigExtraHostsExample() ExtraHostEntries []*ExtraHost `yaml:"extraHostEntries,omitempty"` // description: | // Configures KubeSpan feature. // examples: // - value: networkKubeSpanExample() NetworkKubeSpan *NetworkKubeSpan `yaml:"kubespan,omitempty"` // description: | // Disable generating a default search domain in /etc/resolv.conf // based on the machine hostname. // Defaults to `false`. // values: // - true // - yes // - false // - no NetworkDisableSearchDomain *bool `yaml:"disableSearchDomain,omitempty"` }
NetworkConfig represents the machine's networking config values.
func (*NetworkConfig) DeepCopy ¶
func (in *NetworkConfig) DeepCopy() *NetworkConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfig.
func (*NetworkConfig) DeepCopyInto ¶
func (in *NetworkConfig) DeepCopyInto(out *NetworkConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkConfig) Devices ¶
func (n *NetworkConfig) Devices() []config.Device
Devices implements the config.Provider interface.
func (*NetworkConfig) DisableSearchDomain ¶
func (n *NetworkConfig) DisableSearchDomain() bool
DisableSearchDomain implements the config.Provider interface.
func (NetworkConfig) Doc ¶
func (NetworkConfig) Doc() *encoder.Doc
func (*NetworkConfig) ExtraHosts ¶
func (n *NetworkConfig) ExtraHosts() []config.ExtraHost
ExtraHosts implements the config.Provider interface.
func (*NetworkConfig) Hostname ¶
func (n *NetworkConfig) Hostname() string
Hostname implements the config.Provider interface.
func (*NetworkConfig) KubeSpan ¶
func (n *NetworkConfig) KubeSpan() config.KubeSpan
KubeSpan implements the config.Provider interface.
func (*NetworkConfig) Resolvers ¶
func (n *NetworkConfig) Resolvers() []string
Resolvers implements the config.Provider interface.
type NetworkConfigOption ¶
type NetworkConfigOption func(machine.Type, *NetworkConfig) error
NetworkConfigOption generates NetworkConfig.
func WithKubeSpan ¶
func WithKubeSpan() NetworkConfigOption
WithKubeSpan configures a KubeSpan interface.
func WithNetworkConfig ¶
func WithNetworkConfig(c *NetworkConfig) NetworkConfigOption
WithNetworkConfig sets whole network config structure, overwrites any previous options.
func WithNetworkInterfaceCIDR ¶
func WithNetworkInterfaceCIDR(iface IfaceSelector, cidr string) NetworkConfigOption
WithNetworkInterfaceCIDR configures interface for static addressing.
func WithNetworkInterfaceDHCP ¶
func WithNetworkInterfaceDHCP(iface IfaceSelector, enable bool) NetworkConfigOption
WithNetworkInterfaceDHCP enables DHCP for the interface.
func WithNetworkInterfaceDHCPv4 ¶
func WithNetworkInterfaceDHCPv4(iface IfaceSelector, enable bool) NetworkConfigOption
WithNetworkInterfaceDHCPv4 enables DHCPv4 for the interface.
func WithNetworkInterfaceDHCPv6 ¶
func WithNetworkInterfaceDHCPv6(iface IfaceSelector, enable bool) NetworkConfigOption
WithNetworkInterfaceDHCPv6 enables DHCPv6 for the interface.
func WithNetworkInterfaceIgnore ¶
func WithNetworkInterfaceIgnore(iface IfaceSelector) NetworkConfigOption
WithNetworkInterfaceIgnore marks interface as ignored.
func WithNetworkInterfaceMTU ¶
func WithNetworkInterfaceMTU(iface IfaceSelector, mtu int) NetworkConfigOption
WithNetworkInterfaceMTU configures interface MTU.
func WithNetworkInterfaceVirtualIP ¶
func WithNetworkInterfaceVirtualIP(iface IfaceSelector, cidr string) NetworkConfigOption
WithNetworkInterfaceVirtualIP configures interface for Virtual IP.
func WithNetworkInterfaceWireguard ¶
func WithNetworkInterfaceWireguard(iface IfaceSelector, wireguardConfig *DeviceWireguardConfig) NetworkConfigOption
WithNetworkInterfaceWireguard configures interface for Wireguard.
func WithNetworkNameservers ¶
func WithNetworkNameservers(nameservers ...string) NetworkConfigOption
WithNetworkNameservers sets global nameservers list.
type NetworkDeviceCheck ¶
NetworkDeviceCheck defines the function type for checks.
type NetworkDeviceList ¶
type NetworkDeviceList []*Device
NetworkDeviceList is a list of *Device structures with overridden merge process.
func (NetworkDeviceList) DeepCopy ¶
func (in NetworkDeviceList) DeepCopy() NetworkDeviceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceList.
func (NetworkDeviceList) DeepCopyInto ¶
func (in NetworkDeviceList) DeepCopyInto(out *NetworkDeviceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkDeviceList) Merge ¶
func (devices *NetworkDeviceList) Merge(other interface{}) error
Merge the network interface configuration intelligently.
type NetworkDeviceSelector ¶
type NetworkDeviceSelector struct { // description: PCI, USB bus prefix, supports matching by wildcard. NetworkDeviceBus string `yaml:"busPath,omitempty"` // description: Device hardware address, supports matching by wildcard. NetworkDeviceHardwareAddress string `yaml:"hardwareAddr,omitempty"` // description: PCI ID (vendor ID, product ID), supports matching by wildcard. NetworkDevicePCIID string `yaml:"pciID,omitempty"` // description: Kernel driver, supports matching by wildcard. NetworkDeviceKernelDriver string `yaml:"driver,omitempty"` }
NetworkDeviceSelector struct describes network device selector.
func (*NetworkDeviceSelector) Bus ¶
func (s *NetworkDeviceSelector) Bus() string
Bus implements config.NetworkDeviceSelector interface.
func (*NetworkDeviceSelector) DeepCopy ¶
func (in *NetworkDeviceSelector) DeepCopy() *NetworkDeviceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSelector.
func (*NetworkDeviceSelector) DeepCopyInto ¶
func (in *NetworkDeviceSelector) DeepCopyInto(out *NetworkDeviceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NetworkDeviceSelector) Doc ¶
func (NetworkDeviceSelector) Doc() *encoder.Doc
func (*NetworkDeviceSelector) HardwareAddress ¶
func (s *NetworkDeviceSelector) HardwareAddress() string
HardwareAddress implements config.NetworkDeviceSelector interface.
func (*NetworkDeviceSelector) KernelDriver ¶
func (s *NetworkDeviceSelector) KernelDriver() string
KernelDriver implements config.NetworkDeviceSelector interface.
func (*NetworkDeviceSelector) PCIID ¶
func (s *NetworkDeviceSelector) PCIID() string
PCIID implements config.NetworkDeviceSelector interface.
type NetworkKubeSpan ¶
type NetworkKubeSpan struct { // description: | // Enable the KubeSpan feature. // Cluster discovery should be enabled with .cluster.discovery.enabled for KubeSpan to be enabled. KubeSpanEnabled *bool `yaml:"enabled,omitempty"` // description: | // Control whether Kubernetes pod CIDRs are announced over KubeSpan from the node. // If disabled, CNI handles encapsulating pod-to-pod traffic into some node-to-node tunnel, // and KubeSpan handles the node-to-node traffic. // If enabled, KubeSpan will take over pod-to-pod traffic and send it over KubeSpan directly. // When enabled, KubeSpan should have a way to detect complete pod CIDRs of the node which // is not always the case with CNIs not relying on Kubernetes for IPAM. KubeSpanAdvertiseKubernetesNetworks *bool `yaml:"advertiseKubernetesNetworks,omitempty"` // description: | // Skip sending traffic via KubeSpan if the peer connection state is not up. // This provides configurable choice between connectivity and security: either traffic is always // forced to go via KubeSpan (even if Wireguard peer connection is not up), or traffic can go directly // to the peer if Wireguard connection can't be established. KubeSpanAllowDownPeerBypass *bool `yaml:"allowDownPeerBypass,omitempty"` // description: | // KubeSpan link MTU size. // Default value is 1420. KubeSpanMTU *uint32 `yaml:"mtu,omitempty"` // description: | // KubeSpan advanced filtering of network addresses . // // Settings in this section are optional, and settings apply only to the node. KubeSpanFilters *KubeSpanFilters `yaml:"filters,omitempty"` }
NetworkKubeSpan struct describes KubeSpan configuration.
func (*NetworkKubeSpan) AdvertiseKubernetesNetworks ¶
func (k *NetworkKubeSpan) AdvertiseKubernetesNetworks() bool
AdvertiseKubernetesNetworks implements KubeSpan interface.
func (*NetworkKubeSpan) DeepCopy ¶
func (in *NetworkKubeSpan) DeepCopy() *NetworkKubeSpan
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkKubeSpan.
func (*NetworkKubeSpan) DeepCopyInto ¶
func (in *NetworkKubeSpan) DeepCopyInto(out *NetworkKubeSpan)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NetworkKubeSpan) Doc ¶
func (NetworkKubeSpan) Doc() *encoder.Doc
func (*NetworkKubeSpan) Enabled ¶
func (k *NetworkKubeSpan) Enabled() bool
Enabled implements KubeSpan interface.
func (*NetworkKubeSpan) Filters ¶
func (k *NetworkKubeSpan) Filters() config.KubeSpanFilters
Filters implements the KubeSpan interface.
func (*NetworkKubeSpan) ForceRouting ¶
func (k *NetworkKubeSpan) ForceRouting() bool
ForceRouting implements KubeSpan interface.
func (*NetworkKubeSpan) MTU ¶
func (k *NetworkKubeSpan) MTU() uint32
MTU implements the KubeSpan interface.
type PodCheckpointer ¶
type PodCheckpointer struct { // description: | // The `image` field is an override to the default pod-checkpointer image. PodCheckpointerImage string `yaml:"image,omitempty"` }
PodCheckpointer represents the pod-checkpointer config values.
func (*PodCheckpointer) DeepCopy ¶
func (in *PodCheckpointer) DeepCopy() *PodCheckpointer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodCheckpointer.
func (*PodCheckpointer) DeepCopyInto ¶
func (in *PodCheckpointer) DeepCopyInto(out *PodCheckpointer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PodCheckpointer) Doc ¶
func (PodCheckpointer) Doc() *encoder.Doc
type ProxyConfig ¶
type ProxyConfig struct { // description: | // Disable kube-proxy deployment on cluster bootstrap. // examples: // - value: pointer.To(false) Disabled *bool `yaml:"disabled,omitempty"` // description: | // The container image used in the kube-proxy manifest. // examples: // - value: clusterProxyImageExample() ContainerImage string `yaml:"image,omitempty"` // description: | // proxy mode of kube-proxy. // The default is 'iptables'. ModeConfig string `yaml:"mode,omitempty"` // description: | // Extra arguments to supply to kube-proxy. ExtraArgsConfig map[string]string `yaml:"extraArgs,omitempty"` }
ProxyConfig represents the kube proxy configuration options.
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.
func (ProxyConfig) Doc ¶
func (ProxyConfig) Doc() *encoder.Doc
func (*ProxyConfig) Enabled ¶
func (p *ProxyConfig) Enabled() bool
Enabled implements the config.Proxy interface.
func (*ProxyConfig) ExtraArgs ¶
func (p *ProxyConfig) ExtraArgs() map[string]string
ExtraArgs implements the config.Proxy interface.
func (*ProxyConfig) Image ¶
func (p *ProxyConfig) Image() string
Image implements the config.Proxy interface.
func (*ProxyConfig) Mode ¶
func (p *ProxyConfig) Mode() string
Mode implements the config.Proxy interface.
type RegistriesConfig ¶
type RegistriesConfig struct { // description: | // Specifies mirror configuration for each registry host namespace. // This setting allows to configure local pull-through caching registires, // air-gapped installations, etc. // // For example, when pulling an image with the reference `example.com:123/image:v1`, // the `example.com:123` key will be used to lookup the mirror configuration. // // Optionally the `*` key can be used to configure a fallback mirror. // // Registry name is the first segment of image identifier, with 'docker.io' // being default one. // examples: // - value: machineConfigRegistryMirrorsExample() RegistryMirrors map[string]*RegistryMirrorConfig `yaml:"mirrors,omitempty"` // description: | // Specifies TLS & auth configuration for HTTPS image registries. // Mutual TLS can be enabled with 'clientIdentity' option. // // The full hostname and port (if not using a default port 443) // should be used as the key. // The fallback key `*` can't be used for TLS configuration. // // TLS configuration can be skipped if registry has trusted // server certificate. // examples: // - value: machineConfigRegistryConfigExample() RegistryConfig map[string]*RegistryConfig `yaml:"config,omitempty"` }
RegistriesConfig represents the image pull options.
func (*RegistriesConfig) Config ¶
func (r *RegistriesConfig) Config() map[string]config.RegistryConfig
Config implements the Registries interface.
func (*RegistriesConfig) DeepCopy ¶
func (in *RegistriesConfig) DeepCopy() *RegistriesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistriesConfig.
func (*RegistriesConfig) DeepCopyInto ¶
func (in *RegistriesConfig) DeepCopyInto(out *RegistriesConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistriesConfig) Doc ¶
func (RegistriesConfig) Doc() *encoder.Doc
func (*RegistriesConfig) Mirrors ¶
func (r *RegistriesConfig) Mirrors() map[string]config.RegistryMirrorConfig
Mirrors implements the Registries interface.
type RegistryAuthConfig ¶
type RegistryAuthConfig struct { // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in [`.docker/config.json`](https://docs.docker.com/engine/api/v1.41/#section/Authentication). RegistryUsername string `yaml:"username,omitempty"` // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in [`.docker/config.json`](https://docs.docker.com/engine/api/v1.41/#section/Authentication). RegistryPassword string `yaml:"password,omitempty"` // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in [`.docker/config.json`](https://docs.docker.com/engine/api/v1.41/#section/Authentication). RegistryAuth string `yaml:"auth,omitempty"` // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in [`.docker/config.json`](https://docs.docker.com/engine/api/v1.41/#section/Authentication). RegistryIdentityToken string `yaml:"identityToken,omitempty"` }
RegistryAuthConfig specifies authentication configuration for a registry.
func (*RegistryAuthConfig) Auth ¶
func (r *RegistryAuthConfig) Auth() string
Auth implements the Registries interface.
func (*RegistryAuthConfig) DeepCopy ¶
func (in *RegistryAuthConfig) DeepCopy() *RegistryAuthConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryAuthConfig.
func (*RegistryAuthConfig) DeepCopyInto ¶
func (in *RegistryAuthConfig) DeepCopyInto(out *RegistryAuthConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistryAuthConfig) Doc ¶
func (RegistryAuthConfig) Doc() *encoder.Doc
func (*RegistryAuthConfig) IdentityToken ¶
func (r *RegistryAuthConfig) IdentityToken() string
IdentityToken implements the Registries interface.
func (*RegistryAuthConfig) Password ¶
func (r *RegistryAuthConfig) Password() string
Password implements the Registries interface.
func (*RegistryAuthConfig) Username ¶
func (r *RegistryAuthConfig) Username() string
Username implements the Registries interface.
type RegistryConfig ¶
type RegistryConfig struct { // description: | // The TLS configuration for the registry. // examples: // - value: machineConfigRegistryTLSConfigExample1() // - value: machineConfigRegistryTLSConfigExample2() RegistryTLS *RegistryTLSConfig `yaml:"tls,omitempty"` // description: | // The auth configuration for this registry. // Note: changes to the registry auth will not be picked up by the CRI containerd plugin without a reboot. // examples: // - value: machineConfigRegistryAuthConfigExample() RegistryAuth *RegistryAuthConfig `yaml:"auth,omitempty"` }
RegistryConfig specifies auth & TLS config per registry.
func (*RegistryConfig) Auth ¶
func (r *RegistryConfig) Auth() config.RegistryAuthConfig
Auth implements the Registries interface.
func (*RegistryConfig) DeepCopy ¶
func (in *RegistryConfig) DeepCopy() *RegistryConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryConfig.
func (*RegistryConfig) DeepCopyInto ¶
func (in *RegistryConfig) DeepCopyInto(out *RegistryConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistryConfig) Doc ¶
func (RegistryConfig) Doc() *encoder.Doc
func (*RegistryConfig) TLS ¶
func (r *RegistryConfig) TLS() config.RegistryTLSConfig
TLS implements the Registries interface.
type RegistryKubernetesConfig ¶
type RegistryKubernetesConfig struct { // description: | // Disable Kubernetes discovery registry. RegistryDisabled *bool `yaml:"disabled,omitempty"` }
RegistryKubernetesConfig struct configures Kubernetes discovery registry.
func (*RegistryKubernetesConfig) DeepCopy ¶
func (in *RegistryKubernetesConfig) DeepCopy() *RegistryKubernetesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryKubernetesConfig.
func (*RegistryKubernetesConfig) DeepCopyInto ¶
func (in *RegistryKubernetesConfig) DeepCopyInto(out *RegistryKubernetesConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistryKubernetesConfig) Doc ¶
func (RegistryKubernetesConfig) Doc() *encoder.Doc
func (RegistryKubernetesConfig) Enabled ¶
func (c RegistryKubernetesConfig) Enabled() bool
Enabled implements the config.KubernetesRegistry interface.
type RegistryMirrorConfig ¶
type RegistryMirrorConfig struct { // description: | // List of endpoints (URLs) for registry mirrors to use. // Endpoint configures HTTP/HTTPS access mode, host name, // port and path (if path is not set, it defaults to `/v2`). MirrorEndpoints []string `yaml:"endpoints"` // description: | // Use the exact path specified for the endpoint (don't append /v2/). // This setting is often required for setting up multiple mirrors // on a single instance of a registry. MirrorOverridePath *bool `yaml:"overridePath,omitempty"` }
RegistryMirrorConfig represents mirror configuration for a registry.
func (*RegistryMirrorConfig) DeepCopy ¶
func (in *RegistryMirrorConfig) DeepCopy() *RegistryMirrorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryMirrorConfig.
func (*RegistryMirrorConfig) DeepCopyInto ¶
func (in *RegistryMirrorConfig) DeepCopyInto(out *RegistryMirrorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistryMirrorConfig) Doc ¶
func (RegistryMirrorConfig) Doc() *encoder.Doc
func (*RegistryMirrorConfig) Endpoints ¶
func (r *RegistryMirrorConfig) Endpoints() []string
Endpoints implements the config.Provider interface.
func (*RegistryMirrorConfig) OverridePath ¶
func (r *RegistryMirrorConfig) OverridePath() bool
OverridePath implements the Registries interface.
type RegistryServiceConfig ¶
type RegistryServiceConfig struct { // description: | // Disable external service discovery registry. RegistryDisabled *bool `yaml:"disabled,omitempty"` // description: | // External service endpoint. // examples: // - value: constants.DefaultDiscoveryServiceEndpoint RegistryEndpoint string `yaml:"endpoint,omitempty"` }
RegistryServiceConfig struct configures Kubernetes discovery registry.
func (*RegistryServiceConfig) DeepCopy ¶
func (in *RegistryServiceConfig) DeepCopy() *RegistryServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryServiceConfig.
func (*RegistryServiceConfig) DeepCopyInto ¶
func (in *RegistryServiceConfig) DeepCopyInto(out *RegistryServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistryServiceConfig) Doc ¶
func (RegistryServiceConfig) Doc() *encoder.Doc
func (RegistryServiceConfig) Enabled ¶
func (c RegistryServiceConfig) Enabled() bool
Enabled implements the config.ServiceRegistry interface.
func (RegistryServiceConfig) Endpoint ¶
func (c RegistryServiceConfig) Endpoint() string
Endpoint implements the config.ServiceRegistry interface.
type RegistryTLSConfig ¶
type RegistryTLSConfig struct { // description: | // Enable mutual TLS authentication with the registry. // Client certificate and key should be base64-encoded. // examples: // - value: pemEncodedCertificateExample() // schema: // type: object // additionalProperties: false // properties: // crt: // type: string // key: // type: string TLSClientIdentity *x509.PEMEncodedCertificateAndKey `yaml:"clientIdentity,omitempty"` // description: | // CA registry certificate to add the list of trusted certificates. // Certificate should be base64-encoded. // schema: // type: string TLSCA Base64Bytes `yaml:"ca,omitempty"` // description: | // Skip TLS server certificate verification (not recommended). TLSInsecureSkipVerify *bool `yaml:"insecureSkipVerify,omitempty"` }
RegistryTLSConfig specifies TLS config for HTTPS registries.
func (*RegistryTLSConfig) CA ¶
func (r *RegistryTLSConfig) CA() []byte
CA implements the Registries interface.
func (*RegistryTLSConfig) ClientIdentity ¶
func (r *RegistryTLSConfig) ClientIdentity() *x509.PEMEncodedCertificateAndKey
ClientIdentity implements the Registries interface.
func (*RegistryTLSConfig) DeepCopy ¶
func (in *RegistryTLSConfig) DeepCopy() *RegistryTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryTLSConfig.
func (*RegistryTLSConfig) DeepCopyInto ¶
func (in *RegistryTLSConfig) DeepCopyInto(out *RegistryTLSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistryTLSConfig) Doc ¶
func (RegistryTLSConfig) Doc() *encoder.Doc
func (*RegistryTLSConfig) GetTLSConfig ¶
func (r *RegistryTLSConfig) GetTLSConfig() (*tls.Config, error)
GetTLSConfig prepares TLS configuration for connection.
func (*RegistryTLSConfig) InsecureSkipVerify ¶
func (r *RegistryTLSConfig) InsecureSkipVerify() bool
InsecureSkipVerify implements the Registries interface.
type ResourcesConfig ¶ added in v1.5.0
type ResourcesConfig struct { // description: | // Requests configures the reserved cpu/memory resources. // examples: // - name: resources requests. // value: resourcesConfigRequestsExample() Requests Unstructured `yaml:"requests,omitempty"` // description: | // Limits configures the maximum cpu/memory resources a container can use. // examples: // - name: resources requests. // value: resourcesConfigLimitsExample() Limits Unstructured `yaml:"limits,omitempty"` }
ResourcesConfig represents the pod resources.
func (*ResourcesConfig) CPULimits ¶ added in v1.5.0
func (r *ResourcesConfig) CPULimits() string
CPULimits implements the config.Resources interface.
func (*ResourcesConfig) CPURequests ¶ added in v1.5.0
func (r *ResourcesConfig) CPURequests() string
CPURequests implements the config.Resources interface.
func (*ResourcesConfig) DeepCopy ¶ added in v1.5.0
func (in *ResourcesConfig) DeepCopy() *ResourcesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesConfig.
func (*ResourcesConfig) DeepCopyInto ¶ added in v1.5.0
func (in *ResourcesConfig) DeepCopyInto(out *ResourcesConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ResourcesConfig) Doc ¶ added in v1.5.0
func (ResourcesConfig) Doc() *encoder.Doc
func (*ResourcesConfig) MemoryLimits ¶ added in v1.5.0
func (r *ResourcesConfig) MemoryLimits() string
MemoryLimits implements the config.Resources interface.
func (*ResourcesConfig) MemoryRequests ¶ added in v1.5.0
func (r *ResourcesConfig) MemoryRequests() string
MemoryRequests implements the config.Resources interface.
func (*ResourcesConfig) Validate ¶ added in v1.5.0
func (r *ResourcesConfig) Validate() error
Validate performs config validation.
type Route ¶
type Route struct { // description: The route's network (destination). RouteNetwork string `yaml:"network"` // description: The route's gateway (if empty, creates link scope route). RouteGateway string `yaml:"gateway"` // description: The route's source address (optional). RouteSource string `yaml:"source,omitempty"` // description: The optional metric for the route. RouteMetric uint32 `yaml:"metric,omitempty"` // description: The optional MTU for the route. RouteMTU uint32 `yaml:"mtu,omitempty"` }
Route represents a network route.
func (*Route) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type STP ¶
type STP struct { // description: Whether Spanning Tree Protocol (STP) is enabled. STPEnabled *bool `yaml:"enabled,omitempty"` }
STP contains the various options for configuring the STP properties of a bridge interface.
func (*STP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new STP.
func (*STP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerConfig ¶
type SchedulerConfig struct { // description: | // The container image used in the scheduler manifest. // examples: // - value: clusterSchedulerImageExample() ContainerImage string `yaml:"image,omitempty"` // description: | // Extra arguments to supply to the scheduler. ExtraArgsConfig map[string]string `yaml:"extraArgs,omitempty"` // description: | // Extra volumes to mount to the scheduler static pod. ExtraVolumesConfig []VolumeMountConfig `yaml:"extraVolumes,omitempty"` // description: | // The `env` field allows for the addition of environment variables for the control plane component. // schema: // type: object // patternProperties: // ".*": // type: string EnvConfig Env `yaml:"env,omitempty"` // description: | // Configure the scheduler resources. // schema: // type: object ResourcesConfig *ResourcesConfig `yaml:"resources,omitempty"` }
SchedulerConfig represents the kube scheduler configuration options.
func (*SchedulerConfig) DeepCopy ¶
func (in *SchedulerConfig) DeepCopy() *SchedulerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerConfig.
func (*SchedulerConfig) DeepCopyInto ¶
func (in *SchedulerConfig) DeepCopyInto(out *SchedulerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SchedulerConfig) Doc ¶
func (SchedulerConfig) Doc() *encoder.Doc
func (*SchedulerConfig) Env ¶
func (s *SchedulerConfig) Env() Env
Env implements the config.Scheduler interface.
func (*SchedulerConfig) ExtraArgs ¶
func (s *SchedulerConfig) ExtraArgs() map[string]string
ExtraArgs implements the config.Scheduler interface.
func (*SchedulerConfig) ExtraVolumes ¶
func (s *SchedulerConfig) ExtraVolumes() []config.VolumeMount
ExtraVolumes implements the config.Scheduler interface.
func (*SchedulerConfig) Image ¶
func (s *SchedulerConfig) Image() string
Image implements the config.Scheduler interface.
func (*SchedulerConfig) Resources ¶ added in v1.5.0
func (s *SchedulerConfig) Resources() config.Resources
Resources implements the config.Resources interface.
func (*SchedulerConfig) Validate ¶ added in v1.5.0
func (s *SchedulerConfig) Validate() error
Validate performs config validation.
type SystemDiskEncryptionConfig ¶
type SystemDiskEncryptionConfig struct { // description: | // State partition encryption. StatePartition *EncryptionConfig `yaml:"state,omitempty"` // description: | // Ephemeral partition encryption. EphemeralPartition *EncryptionConfig `yaml:"ephemeral,omitempty"` }
SystemDiskEncryptionConfig specifies system disk partitions encryption settings.
func (*SystemDiskEncryptionConfig) DeepCopy ¶
func (in *SystemDiskEncryptionConfig) DeepCopy() *SystemDiskEncryptionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemDiskEncryptionConfig.
func (*SystemDiskEncryptionConfig) DeepCopyInto ¶
func (in *SystemDiskEncryptionConfig) DeepCopyInto(out *SystemDiskEncryptionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SystemDiskEncryptionConfig) Doc ¶
func (SystemDiskEncryptionConfig) Doc() *encoder.Doc
func (*SystemDiskEncryptionConfig) Get ¶
func (e *SystemDiskEncryptionConfig) Get(label string) config.Encryption
Get implements the config.Provider interface.
type TimeConfig ¶
type TimeConfig struct { // description: | // Indicates if the time service is disabled for the machine. // Defaults to `false`. TimeDisabled *bool `yaml:"disabled,omitempty"` // description: | // Specifies time (NTP) servers to use for setting the system time. // Defaults to `pool.ntp.org` TimeServers []string `yaml:"servers,omitempty"` // description: | // Specifies the timeout when the node time is considered to be in sync unlocking the boot sequence. // NTP sync will be still running in the background. // Defaults to "infinity" (waiting forever for time sync) // schema: // type: string // pattern: ^[-+]?(((\d+(\.\d*)?|\d*(\.\d+)+)([nuµm]?s|m|h))|0)+$ TimeBootTimeout time.Duration `yaml:"bootTimeout,omitempty"` }
TimeConfig represents the options for configuring time on a machine.
func (*TimeConfig) BootTimeout ¶
func (t *TimeConfig) BootTimeout() time.Duration
BootTimeout implements the config.Provider interface.
func (*TimeConfig) DeepCopy ¶
func (in *TimeConfig) DeepCopy() *TimeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeConfig.
func (*TimeConfig) DeepCopyInto ¶
func (in *TimeConfig) DeepCopyInto(out *TimeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TimeConfig) Disabled ¶
func (t *TimeConfig) Disabled() bool
Disabled implements the config.Provider interface.
func (TimeConfig) Doc ¶
func (TimeConfig) Doc() *encoder.Doc
func (*TimeConfig) Servers ¶
func (t *TimeConfig) Servers() []string
Servers implements the config.Provider interface.
type UdevConfig ¶
type UdevConfig struct { // description: | // List of udev rules to apply to the udev system UdevRules []string `yaml:"rules,omitempty"` }
UdevConfig describes how the udev system should be configured.
func (*UdevConfig) DeepCopy ¶
func (in *UdevConfig) DeepCopy() *UdevConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UdevConfig.
func (*UdevConfig) DeepCopyInto ¶
func (in *UdevConfig) DeepCopyInto(out *UdevConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (UdevConfig) Doc ¶
func (UdevConfig) Doc() *encoder.Doc
func (*UdevConfig) Rules ¶
func (u *UdevConfig) Rules() []string
Rules implements config.Udev interface.
type Unstructured ¶
type Unstructured struct {
Object map[string]interface{} `yaml:",inline"`
}
Unstructured allows wrapping any map[string]interface{} into a config object.
docgen: nodoc +k8s:deepcopy-gen=true
func (*Unstructured) DeepCopy ¶
func (in *Unstructured) DeepCopy() *Unstructured
DeepCopy performs copying of the Object contents.
func (*Unstructured) DeepCopyInto ¶
func (in *Unstructured) DeepCopyInto(out *Unstructured)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VIPEquinixMetalConfig ¶
type VIPEquinixMetalConfig struct { // description: Specifies the Equinix Metal API Token. EquinixMetalAPIToken string `yaml:"apiToken"` }
VIPEquinixMetalConfig contains settings for Equinix Metal VIP management.
func (*VIPEquinixMetalConfig) APIToken ¶
func (v *VIPEquinixMetalConfig) APIToken() string
APIToken implements the config.VIPEquinixMetal interface.
func (*VIPEquinixMetalConfig) DeepCopy ¶
func (in *VIPEquinixMetalConfig) DeepCopy() *VIPEquinixMetalConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VIPEquinixMetalConfig.
func (*VIPEquinixMetalConfig) DeepCopyInto ¶
func (in *VIPEquinixMetalConfig) DeepCopyInto(out *VIPEquinixMetalConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VIPEquinixMetalConfig) Doc ¶
func (VIPEquinixMetalConfig) Doc() *encoder.Doc
type VIPHCloudConfig ¶
type VIPHCloudConfig struct { // description: Specifies the Hetzner Cloud API Token. HCloudAPIToken string `yaml:"apiToken"` }
VIPHCloudConfig contains settings for Hetzner Cloud VIP management.
func (*VIPHCloudConfig) APIToken ¶
func (v *VIPHCloudConfig) APIToken() string
APIToken implements the config.VIPHCloud interface.
func (*VIPHCloudConfig) DeepCopy ¶
func (in *VIPHCloudConfig) DeepCopy() *VIPHCloudConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VIPHCloudConfig.
func (*VIPHCloudConfig) DeepCopyInto ¶
func (in *VIPHCloudConfig) DeepCopyInto(out *VIPHCloudConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VIPHCloudConfig) Doc ¶
func (VIPHCloudConfig) Doc() *encoder.Doc
type Vlan ¶
type Vlan struct { // description: The addresses in CIDR notation or as plain IPs to use. VlanAddresses []string `yaml:"addresses,omitempty"` // docgen:nodoc VlanCIDR string `yaml:"cidr,omitempty"` // description: A list of routes associated with the VLAN. VlanRoutes []*Route `yaml:"routes"` // description: Indicates if DHCP should be used. VlanDHCP *bool `yaml:"dhcp,omitempty"` // description: The VLAN's ID. VlanID uint16 `yaml:"vlanId"` // description: The VLAN's MTU. VlanMTU uint32 `yaml:"mtu,omitempty"` // description: The VLAN's virtual IP address configuration. VlanVIP *DeviceVIPConfig `yaml:"vip,omitempty"` // description: | // DHCP specific options. // `dhcp` *must* be set to true for these to take effect. VlanDHCPOptions *DHCPOptions `yaml:"dhcpOptions,omitempty"` }
Vlan represents vlan settings for a device.
func (*Vlan) DHCPOptions ¶
func (v *Vlan) DHCPOptions() config.DHCPOptions
DHCPOptions implements the MachineNetwork interface.
func (*Vlan) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Vlan.
func (*Vlan) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VlanList ¶ added in v1.4.0
type VlanList []*Vlan
VlanList is a list of *Vlan structures with overridden merge process.
func (VlanList) DeepCopy ¶ added in v1.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanList.
func (VlanList) DeepCopyInto ¶ added in v1.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeMountConfig ¶
type VolumeMountConfig struct { // description: | // Path on the host. // examples: // - value: '"/var/lib/auth"' VolumeHostPath string `yaml:"hostPath"` // description: | // Path in the container. // examples: // - value: '"/etc/kubernetes/auth"' VolumeMountPath string `yaml:"mountPath"` // description: | // Mount the volume read only. // examples: // - value: true VolumeReadOnly bool `yaml:"readonly,omitempty"` }
VolumeMountConfig struct describes extra volume mount for the static pods.
func (*VolumeMountConfig) DeepCopy ¶
func (in *VolumeMountConfig) DeepCopy() *VolumeMountConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMountConfig.
func (*VolumeMountConfig) DeepCopyInto ¶
func (in *VolumeMountConfig) DeepCopyInto(out *VolumeMountConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VolumeMountConfig) Doc ¶
func (VolumeMountConfig) Doc() *encoder.Doc
func (VolumeMountConfig) HostPath ¶
func (v VolumeMountConfig) HostPath() string
HostPath implements the config.VolumeMount interface.
func (VolumeMountConfig) MountPath ¶
func (v VolumeMountConfig) MountPath() string
MountPath implements the config.VolumeMount interface.
func (VolumeMountConfig) Name ¶
func (v VolumeMountConfig) Name() string
Name implements the config.VolumeMount interface.
func (VolumeMountConfig) ReadOnly ¶
func (v VolumeMountConfig) ReadOnly() bool
ReadOnly implements the config.VolumeMount interface.
Source Files ¶
- doc.go
- v1alpha1_admissionplugin.go
- v1alpha1_apiserverconfig.go
- v1alpha1_clusterconfig.go
- v1alpha1_cniconfig.go
- v1alpha1_controllermanagerconfig.go
- v1alpha1_discoveryconfig.go
- v1alpha1_etcdconfig.go
- v1alpha1_examples.go
- v1alpha1_externalcloudproviderconfig.go
- v1alpha1_features.go
- v1alpha1_inlinemanifest.go
- v1alpha1_kernel.go
- v1alpha1_kubernetestalosapiaccess.go
- v1alpha1_logging.go
- v1alpha1_marshal.go
- v1alpha1_network_options.go
- v1alpha1_provider.go
- v1alpha1_proxyconfig.go
- v1alpha1_resourcesconfig.go
- v1alpha1_schedulerconfig.go
- v1alpha1_types.go
- v1alpha1_types_doc.go
- v1alpha1_unstructured.go
- v1alpha1_validation.go
- zz_generated.deepcopy.go
Directories ¶
Path | Synopsis |
---|---|
Package generate provides Talos machine configuration generation and client config generation.
|
Package generate provides Talos machine configuration generation and client config generation. |
Package machine defines common machine type.
|
Package machine defines common machine type. |