Documentation ¶
Overview ¶
Package v1alpha1 contains definition of the `v1alpha1` configuration document.
Even though the machine configuration in Talos Linux is multi-document, at the moment this configuration document contains most of the configuration options.
It is expected that new configuration options will be added as new documents, and existing ones migrated to their own documents.
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 GetFileDoc() *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) AcceptedCAs() []*x509.PEMEncodedCertificate
- func (c *ClusterConfig) AdminKubeconfig() config.AdminKubeconfig
- func (c *ClusterConfig) AggregatorCA() *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) IssuingCA() *x509.PEMEncodedCertificateAndKey
- 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(isControlPlane bool) 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) 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) HostDNS() config.HostDNS
- 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 FlannelCNIConfig
- type HostDNSConfig
- 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 (k *KubeletConfig) CredentialProviderConfig() map[string]interface{}
- 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 LinuxIDMapping
- type LoggingConfig
- type LoggingDestination
- func (in *LoggingDestination) DeepCopy() *LoggingDestination
- func (in *LoggingDestination) DeepCopyInto(out *LoggingDestination)
- func (LoggingDestination) Doc() *encoder.Doc
- func (ld LoggingDestination) Endpoint() *url.URL
- func (ld LoggingDestination) ExtraTags() map[string]string
- func (ld LoggingDestination) Format() string
- type MachineConfig
- func (m *MachineConfig) AcceptedCAs() []*x509.PEMEncodedCertificate
- 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) IssuingCA() *x509.PEMEncodedCertificateAndKey
- 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) NodeTaints() config.NodeTaints
- 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
- func (s *NetworkDeviceSelector) Physical() *bool
- 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) HarvestExtraEndpoints() 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 (s *SchedulerConfig) Config() map[string]any
- 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 GetFileDoc ¶ added in v1.6.0
GetFileDoc 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"` // description: | // Flannel configuration options. CNIFlannel *FlannelCNIConfig `yaml:"flannel,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.
func (*CNIConfig) Flannel ¶ added in v1.6.0
func (c *CNIConfig) Flannel() config.FlannelCNI
Flannel implements the config.CNI interface.
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 list of base64 encoded accepted certificate authorities used by Kubernetes. // schema: // type: object // additionalProperties: false // properties: // crt: // type: string ClusterAcceptedCAs []*x509.PEMEncodedCertificate `yaml:"acceptedCAs,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/v1alpha1.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) AcceptedCAs ¶ added in v1.7.0
func (c *ClusterConfig) AcceptedCAs() []*x509.PEMEncodedCertificate
AcceptedCAs implements the config.ClusterConfig 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) 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) IssuingCA ¶ added in v1.7.0
func (c *ClusterConfig) IssuingCA() *x509.PEMEncodedCertificateAndKey
IssuingCA 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(isControlPlane bool) 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) UnmarshalYAML ¶ added in v1.6.0
func (manifests *ClusterInlineManifests) UnmarshalYAML(value *yaml.Node) error
UnmarshalYAML implements yaml.Unmarshaler.
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"` // docgen:nodoc // // Deprecated: Not supported anymore. 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.Config Talos machine configuration document.
examples: - value: configExample() schemaRoot: true
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.
func (*EncryptionKeyKMS) String ¶ added in v1.6.0
func (e *EncryptionKeyKMS) String() string
String 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
func (*EncryptionKeyNodeID) String ¶ added in v1.6.0
func (e *EncryptionKeyNodeID) String() string
String implements the config.Provider interface.
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.
func (*EncryptionKeyStatic) String ¶ added in v1.6.0
func (e *EncryptionKeyStatic) String() string
String 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
func (*EncryptionKeyTPM) String ¶ added in v1.6.0
func (e *EncryptionKeyTPM) String() string
String implements the config.Provider interface.
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 { // description: | // Destination is the absolute path where the mount will be placed in the container. Destination string `yaml:"destination"` // description: | // Type specifies the mount kind. Type string `yaml:"type,omitempty"` // description: | // Source specifies the source path of the mount. Source string `yaml:"source,omitempty"` // description: | // Options are fstab style mount options. Options []string `yaml:"options,omitempty"` // description: | // UID/GID mappings used for changing file owners w/o calling chown, fs should support it. // // Every mount point could have its own mapping. UIDMappings []LinuxIDMapping `yaml:"uidMappings,omitempty"` // description: | // UID/GID mappings used for changing file owners w/o calling chown, fs should support it. // // Every mount point could have its own mapping. GIDMappings []LinuxIDMapping `yaml:"gidMappings,omitempty"` }
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"` // description: | // Configures host DNS caching resolver. HostDNSSupport *HostDNSConfig `yaml:"hostDNS,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) HostDNS ¶ added in v1.7.0
func (f *FeaturesConfig) HostDNS() config.HostDNS
HostDNS implements config.Features interface.
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 FlannelCNIConfig ¶ added in v1.6.0
type FlannelCNIConfig struct { // description: | // Extra arguments for 'flanneld'. // examples: // - value: > // []string{"--iface-can-reach=192.168.1.1"} FlanneldExtraArgs []string `yaml:"extraArgs,omitempty"` }
FlannelCNIConfig represents the Flannel CNI configuration options.
func (*FlannelCNIConfig) DeepCopy ¶ added in v1.6.0
func (in *FlannelCNIConfig) DeepCopy() *FlannelCNIConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlannelCNIConfig.
func (*FlannelCNIConfig) DeepCopyInto ¶ added in v1.6.0
func (in *FlannelCNIConfig) DeepCopyInto(out *FlannelCNIConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (FlannelCNIConfig) Doc ¶ added in v1.6.0
func (FlannelCNIConfig) Doc() *encoder.Doc
func (*FlannelCNIConfig) ExtraArgs ¶ added in v1.6.0
func (c *FlannelCNIConfig) ExtraArgs() []string
ExtraArgs implements the config.FlannelCNI interface.
type HostDNSConfig ¶ added in v1.7.0
type HostDNSConfig struct { // description: | // Enable host DNS caching resolver. HostDNSEnabled *bool `yaml:"enabled,omitempty"` // description: | // Use the host DNS resolver as upstream for Kubernetes CoreDNS pods. // // When enabled, CoreDNS pods use host DNS server as the upstream DNS (instead of // using configured upstream DNS resolvers directly). HostDNSForwardKubeDNSToHost *bool `yaml:"forwardKubeDNSToHost,omitempty"` // description: | // Resolve member hostnames using the host DNS resolver. // // When enabled, cluster member hostnames and node names are resolved using the host DNS resolver. // This requires service discovery to be enabled. HostDNSResolveMemberNames *bool `yaml:"resolveMemberNames,omitempty"` }
HostDNSConfig describes the configuration for the host DNS resolver.
func (*HostDNSConfig) DeepCopy ¶ added in v1.7.0
func (in *HostDNSConfig) DeepCopy() *HostDNSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostDNSConfig.
func (*HostDNSConfig) DeepCopyInto ¶ added in v1.7.0
func (in *HostDNSConfig) DeepCopyInto(out *HostDNSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (HostDNSConfig) Doc ¶ added in v1.7.0
func (HostDNSConfig) Doc() *encoder.Doc
func (*HostDNSConfig) Enabled ¶ added in v1.7.0
func (h *HostDNSConfig) Enabled() bool
Enabled implements config.HostDNS.
func (*HostDNSConfig) ForwardKubeDNSToHost ¶ added in v1.7.0
func (h *HostDNSConfig) ForwardKubeDNSToHost() bool
ForwardKubeDNSToHost implements config.HostDNS.
func (*HostDNSConfig) ResolveMemberNames ¶ added in v1.7.0
func (h *HostDNSConfig) ResolveMemberNames() bool
ResolveMemberNames implements config.HostDNS.
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. // Existing kernel args can be removed by prefixing the argument with a `-`. // For example `-console` removes all `console=<value>` arguments, whereas `-console=tty0` removes the `console=tty0` default argument. // 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"` // docgen:nodoc // // Deprecated: It never worked. 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 balancing 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: | // The `KubeletCredentialProviderConfig` field is used to provide kubelet credential configuration. // examples: // - value: kubeletCredentialProviderConfigExample() // schema: // type: object KubeletCredentialProviderConfig Unstructured `yaml:"credentialProviderConfig,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) CredentialProviderConfig ¶ added in v1.6.0
func (k *KubeletConfig) CredentialProviderConfig() map[string]interface{}
CredentialProviderConfig 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 LinuxIDMapping ¶ added in v1.6.0
type LinuxIDMapping struct { // description: | // ContainerID is the starting UID/GID in the container. ContainerID uint32 `yaml:"containerID"` // description: | // HostID is the starting UID/GID on the host to be mapped to 'ContainerID'. HostID uint32 `yaml:"hostID"` // description: | // Size is the number of IDs to be mapped. Size uint32 `yaml:"size"` }
LinuxIDMapping represents the Linux ID mapping.
func (*LinuxIDMapping) DeepCopy ¶ added in v1.6.0
func (in *LinuxIDMapping) DeepCopy() *LinuxIDMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxIDMapping.
func (*LinuxIDMapping) DeepCopyInto ¶ added in v1.6.0
func (in *LinuxIDMapping) DeepCopyInto(out *LinuxIDMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (LinuxIDMapping) Doc ¶ added in v1.6.0
func (LinuxIDMapping) Doc() *encoder.Doc
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"` // description: | // Extra tags (key-value) pairs to attach to every log message sent. LoggingExtraTags map[string]string `yaml:"extraTags,omitempty"` }
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) ExtraTags ¶ added in v1.7.0
func (ld LoggingDestination) ExtraTags() map[string]string
ExtraTags 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: | // The certificates issued by certificate authorities are accepted in addition to issuing 'ca'. // It is composed of a base64 encoded `crt“. // schema: // type: object // additionalProperties: false // properties: // crt: // type: string MachineAcceptedCAs []*x509.PEMEncodedCertificate `yaml:"acceptedCAs,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. // // Note: In the default Kubernetes configuration, worker nodes are restricted to set // labels with some prefixes (see [NodeRestriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) admission plugin). // examples: // - name: node labels example. // value: 'map[string]string{"exampleLabel": "exampleLabelValue"}' MachineNodeLabels map[string]string `yaml:"nodeLabels,omitempty"` // description: | // Configures the node taints for the machine. Effect is optional. // // Note: In the default Kubernetes configuration, worker nodes are not allowed to // modify the taints (see [NodeRestriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) admission plugin). // examples: // - name: node taints example. // value: 'map[string]string{"exampleTaint": "exampleTaintValue:NoSchedule"}' MachineNodeTaints map[string]string `yaml:"nodeTaints,omitempty"` }
MachineConfig represents the machine-specific config values.
examples: - value: machineConfigExample()
func (*MachineConfig) AcceptedCAs ¶ added in v1.7.0
func (m *MachineConfig) AcceptedCAs() []*x509.PEMEncodedCertificate
AcceptedCAs 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) IssuingCA ¶ added in v1.7.0
func (m *MachineConfig) IssuingCA() *x509.PEMEncodedCertificateAndKey
IssuingCA 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) NodeTaints ¶ added in v1.6.0
func (m *MachineConfig) NodeTaints() config.NodeTaints
NodeTaints 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"` // description: Select only physical devices. NetworkDevicePhysical *bool `yaml:"physical,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.
func (*NetworkDeviceSelector) Physical ¶ added in v1.7.0
func (s *NetworkDeviceSelector) Physical() *bool
Physical 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 can collect and publish extra endpoints for each member of the cluster // based on Wireguard endpoint information for each peer. // This feature is disabled by default, don't enable it // with high number of peers (>50) in the KubeSpan network (performance issues). KubeSpanHarvestExtraEndpoints *bool `yaml:"harvestExtraEndpoints,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) HarvestExtraEndpoints ¶ added in v1.6.0
func (k *NetworkKubeSpan) HarvestExtraEndpoints() bool
HarvestExtraEndpoints 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.
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() // schema: // type: object Requests Unstructured `yaml:"requests,omitempty"` // description: | // Limits configures the maximum cpu/memory resources a container can use. // examples: // - name: resources requests. // value: resourcesConfigLimitsExample() // schema: // type: object 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"` // description: | // Specify custom kube-scheduler configuration. // schema: // type: object SchedulerConfig Unstructured `yaml:"config,omitempty"` }
SchedulerConfig represents the kube scheduler configuration options.
func (*SchedulerConfig) Config ¶ added in v1.6.0
func (s *SchedulerConfig) Config() map[string]any
Config implements the config.Scheduler interface.
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 `time.cloudflare.com`. // // Talos can also sync to the PTP time source (e.g provided by the hypervisor), // provide the path to the PTP device as "/dev/ptp0" or "/dev/ptp_kvm". 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