v1alpha1

package
v1.5.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2023 License: MPL-2.0 Imports: 35 Imported by: 10

Documentation

Overview

Package v1alpha1 configuration file contains all the options available for configuring a machine.

To generate a set of basic configuration files, run:

talosctl gen config --version v1alpha1 <cluster name> <cluster endpoint>

This will generate a machine config for each node type, and a talosconfig for the CLI.

Index

Constants

View Source
const (
	// Version is the version string for v1alpha1.
	Version = "v1alpha1"
)

Variables

View Source
var (
	ConfigDoc                         encoder.Doc
	MachineConfigDoc                  encoder.Doc
	MachineSeccompProfileDoc          encoder.Doc
	ClusterConfigDoc                  encoder.Doc
	ExtraMountDoc                     encoder.Doc
	MachineControlPlaneConfigDoc      encoder.Doc
	MachineControllerManagerConfigDoc encoder.Doc
	MachineSchedulerConfigDoc         encoder.Doc
	KubeletConfigDoc                  encoder.Doc
	KubeletNodeIPConfigDoc            encoder.Doc
	NetworkConfigDoc                  encoder.Doc
	InstallConfigDoc                  encoder.Doc
	InstallDiskSelectorDoc            encoder.Doc
	InstallExtensionConfigDoc         encoder.Doc
	TimeConfigDoc                     encoder.Doc
	RegistriesConfigDoc               encoder.Doc
	PodCheckpointerDoc                encoder.Doc
	CoreDNSDoc                        encoder.Doc
	EndpointDoc                       encoder.Doc
	ControlPlaneConfigDoc             encoder.Doc
	APIServerConfigDoc                encoder.Doc
	AdmissionPluginConfigDoc          encoder.Doc
	ControllerManagerConfigDoc        encoder.Doc
	ProxyConfigDoc                    encoder.Doc
	SchedulerConfigDoc                encoder.Doc
	EtcdConfigDoc                     encoder.Doc
	ClusterNetworkConfigDoc           encoder.Doc
	CNIConfigDoc                      encoder.Doc
	ExternalCloudProviderConfigDoc    encoder.Doc
	AdminKubeconfigConfigDoc          encoder.Doc
	MachineDiskDoc                    encoder.Doc
	DiskPartitionDoc                  encoder.Doc
	EncryptionConfigDoc               encoder.Doc
	EncryptionKeyDoc                  encoder.Doc
	EncryptionKeyStaticDoc            encoder.Doc
	EncryptionKeyKMSDoc               encoder.Doc
	EncryptionKeyTPMDoc               encoder.Doc
	EncryptionKeyNodeIDDoc            encoder.Doc
	ResourcesConfigDoc                encoder.Doc
	MachineFileDoc                    encoder.Doc
	ExtraHostDoc                      encoder.Doc
	DeviceDoc                         encoder.Doc
	DHCPOptionsDoc                    encoder.Doc
	DeviceWireguardConfigDoc          encoder.Doc
	DeviceWireguardPeerDoc            encoder.Doc
	DeviceVIPConfigDoc                encoder.Doc
	VIPEquinixMetalConfigDoc          encoder.Doc
	VIPHCloudConfigDoc                encoder.Doc
	BondDoc                           encoder.Doc
	STPDoc                            encoder.Doc
	BridgeDoc                         encoder.Doc
	VlanDoc                           encoder.Doc
	RouteDoc                          encoder.Doc
	RegistryMirrorConfigDoc           encoder.Doc
	RegistryConfigDoc                 encoder.Doc
	RegistryAuthConfigDoc             encoder.Doc
	RegistryTLSConfigDoc              encoder.Doc
	SystemDiskEncryptionConfigDoc     encoder.Doc
	FeaturesConfigDoc                 encoder.Doc
	KubePrismDoc                      encoder.Doc
	KubernetesTalosAPIAccessConfigDoc encoder.Doc
	VolumeMountConfigDoc              encoder.Doc
	ClusterInlineManifestDoc          encoder.Doc
	NetworkKubeSpanDoc                encoder.Doc
	KubeSpanFiltersDoc                encoder.Doc
	NetworkDeviceSelectorDoc          encoder.Doc
	ClusterDiscoveryConfigDoc         encoder.Doc
	DiscoveryRegistriesConfigDoc      encoder.Doc
	RegistryKubernetesConfigDoc       encoder.Doc
	RegistryServiceConfigDoc          encoder.Doc
	UdevConfigDoc                     encoder.Doc
	LoggingConfigDoc                  encoder.Doc
	LoggingDestinationDoc             encoder.Doc
	KernelConfigDoc                   encoder.Doc
	KernelModuleConfigDoc             encoder.Doc
)
View Source
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")
)
View Source
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

func CheckDeviceAddressing(d *Device, bondedInterfaces map[string]string) ([]string, error)

CheckDeviceAddressing ensures that an appropriate addressing method. has been specified.

func CheckDeviceInterface

func CheckDeviceInterface(d *Device, _ map[string]string) ([]string, error)

CheckDeviceInterface ensures that the interface has been specified.

func CheckDeviceRoutes

func CheckDeviceRoutes(d *Device, _ map[string]string) ([]string, error)

CheckDeviceRoutes ensures that the specified routes are valid.

func GetConfigurationDoc

func GetConfigurationDoc() *encoder.FileDoc

GetConfigurationDoc returns documentation for the file ./v1alpha1_types_doc.go.

func ValidateCNI

func ValidateCNI(cni config.CNI) ([]string, error)

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

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

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

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) 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

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

func (AdmissionPluginConfigList) DeepCopyInto

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

func (b *Bond) ADActorSysPrio() uint16

ADActorSysPrio implements the MachineNetwork interface.

func (*Bond) ADActorSystem

func (b *Bond) ADActorSystem() string

ADActorSystem implements the MachineNetwork interface.

func (*Bond) ADSelect

func (b *Bond) ADSelect() string

ADSelect implements the MachineNetwork interface.

func (*Bond) ADUserPortKey

func (b *Bond) ADUserPortKey() uint16

ADUserPortKey implements the MachineNetwork interface.

func (*Bond) ARPAllTargets

func (b *Bond) ARPAllTargets() string

ARPAllTargets implements the MachineNetwork interface.

func (*Bond) ARPIPTarget

func (b *Bond) ARPIPTarget() []string

ARPIPTarget implements the MachineNetwork interface.

func (*Bond) ARPInterval

func (b *Bond) ARPInterval() uint32

ARPInterval implements the MachineNetwork interface.

func (*Bond) ARPValidate

func (b *Bond) ARPValidate() string

ARPValidate implements the MachineNetwork interface.

func (*Bond) AllSlavesActive

func (b *Bond) AllSlavesActive() uint8

AllSlavesActive implements the MachineNetwork interface.

func (*Bond) DeepCopy

func (in *Bond) DeepCopy() *Bond

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

func (*Bond) DeepCopyInto

func (in *Bond) DeepCopyInto(out *Bond)

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

func (Bond) Doc

func (_ Bond) Doc() *encoder.Doc

func (*Bond) DownDelay

func (b *Bond) DownDelay() uint32

DownDelay implements the MachineNetwork interface.

func (*Bond) FailOverMac

func (b *Bond) FailOverMac() string

FailOverMac implements the MachineNetwork interface.

func (*Bond) HashPolicy

func (b *Bond) HashPolicy() string

HashPolicy implements the MachineNetwork interface.

func (*Bond) Interfaces

func (b *Bond) Interfaces() []string

Interfaces implements the MachineNetwork interface.

func (*Bond) LACPRate

func (b *Bond) LACPRate() string

LACPRate implements the MachineNetwork interface.

func (*Bond) LPInterval

func (b *Bond) LPInterval() uint32

LPInterval implements the MachineNetwork interface.

func (*Bond) MIIMon

func (b *Bond) MIIMon() uint32

MIIMon implements the MachineNetwork interface.

func (b *Bond) MinLinks() uint32

MinLinks implements the MachineNetwork interface.

func (*Bond) Mode

func (b *Bond) Mode() string

Mode implements the MachineNetwork interface.

func (*Bond) NumPeerNotif

func (b *Bond) NumPeerNotif() uint8

NumPeerNotif implements the MachineNetwork interface.

func (*Bond) PacketsPerSlave

func (b *Bond) PacketsPerSlave() uint32

PacketsPerSlave implements the MachineNetwork interface.

func (*Bond) PeerNotifyDelay

func (b *Bond) PeerNotifyDelay() uint32

PeerNotifyDelay implements the MachineNetwork interface.

func (*Bond) Primary

func (b *Bond) Primary() string

Primary implements the MachineNetwork interface.

func (*Bond) PrimaryReselect

func (b *Bond) PrimaryReselect() string

PrimaryReselect implements the MachineNetwork interface.

func (*Bond) ResendIGMP

func (b *Bond) ResendIGMP() uint32

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

func (b *Bond) TLBDynamicLB() uint8

TLBDynamicLB implements the MachineNetwork interface.

func (*Bond) UpDelay

func (b *Bond) UpDelay() uint32

UpDelay implements the MachineNetwork interface.

func (*Bond) UseCarrier

func (b *Bond) UseCarrier() bool

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

func (in *Bridge) DeepCopy() *Bridge

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

func (*Bridge) DeepCopyInto

func (in *Bridge) DeepCopyInto(out *Bridge)

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

func (Bridge) Doc

func (_ Bridge) Doc() *encoder.Doc

func (*Bridge) Interfaces

func (b *Bridge) Interfaces() []string

Interfaces implements the config.Bridge interface.

func (*Bridge) STP

func (b *Bridge) STP() config.STP

STP implements the config.Bridge interface.

type CNIConfig

type CNIConfig struct {
	//   description: |
	//     Name of CNI to use.
	//   values:
	//     - flannel
	//     - custom
	//     - none
	CNIName string `yaml:"name,omitempty"`
	//   description: |
	//     URLs containing manifests to apply for the CNI.
	//     Should be present for "custom", must be empty for "flannel" and "none".
	CNIUrls []string `yaml:"urls,omitempty"`
}

CNIConfig represents the CNI configuration options.

func (*CNIConfig) DeepCopy

func (in *CNIConfig) DeepCopy() *CNIConfig

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

func (*CNIConfig) DeepCopyInto

func (in *CNIConfig) DeepCopyInto(out *CNIConfig)

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

func (CNIConfig) Doc

func (_ CNIConfig) Doc() *encoder.Doc

func (*CNIConfig) Name

func (c *CNIConfig) Name() string

Name implements the config.CNI interface.

func (*CNIConfig) URLs

func (c *CNIConfig) URLs() []string

URLs 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 base64 encoded aggregator certificate authority used by Kubernetes for front-proxy certificate generation.
	//
	//     This CA can be self-signed.
	//   examples:
	//     - name: AggregatorCA example.
	//       value: pemEncodedCertificateExample
	//   schema:
	//     type: object
	//     additionalProperties: false
	//     properties:
	//       crt:
	//         type: string
	//       key:
	//         type: string
	ClusterAggregatorCA *x509.PEMEncodedCertificateAndKey `yaml:"aggregatorCA,omitempty"`
	//   description: |
	//     The base64 encoded private key for service account token generation.
	//   examples:
	//     - name: AggregatorCA example.
	//       value: pemEncodedKeyExample
	//   schema:
	//     type: object
	//     additionalProperties: false
	//     properties:
	//       key:
	//         type: string
	//         additionalProperties: false
	ClusterServiceAccount *x509.PEMEncodedKey `yaml:"serviceAccount,omitempty"`
	//   description: |
	//     API server specific configuration options.
	//   examples:
	//     - value: clusterAPIServerExample
	APIServerConfig *APIServerConfig `yaml:"apiServer,omitempty"`
	//   description: |
	//     Controller manager server specific configuration options.
	//   examples:
	//     - value: clusterControllerManagerExample
	ControllerManagerConfig *ControllerManagerConfig `yaml:"controllerManager,omitempty"`
	//   description: |
	//     Kube-proxy server-specific configuration options
	//   examples:
	//     - value: clusterProxyExample
	ProxyConfig *ProxyConfig `yaml:"proxy,omitempty"`
	//   description: |
	//     Scheduler server specific configuration options.
	//   examples:
	//     - value: clusterSchedulerExample
	SchedulerConfig *SchedulerConfig `yaml:"scheduler,omitempty"`
	//   description: |
	//     Configures cluster member discovery.
	//   examples:
	//     - value: clusterDiscoveryExample
	ClusterDiscoveryConfig *ClusterDiscoveryConfig `yaml:"discovery,omitempty"`
	//   description: |
	//     Etcd specific configuration options.
	//   examples:
	//     - value: clusterEtcdExample
	EtcdConfig *EtcdConfig `yaml:"etcd,omitempty"`
	//   description: |
	//     Core DNS specific configuration options.
	//   examples:
	//     - value: clusterCoreDNSExample
	CoreDNSConfig *CoreDNS `yaml:"coreDNS,omitempty"`
	//   description: |
	//     External cloud provider configuration.
	//   examples:
	//     - value: clusterExternalCloudProviderConfigExample
	ExternalCloudProviderConfig *ExternalCloudProviderConfig `yaml:"externalCloudProvider,omitempty"`
	//   description: |
	//     A list of urls that point to additional manifests.
	//     These will get automatically deployed as part of the bootstrap.
	//   examples:
	//     - value: >
	//        []string{
	//         "https://www.example.com/manifest1.yaml",
	//         "https://www.example.com/manifest2.yaml",
	//        }
	ExtraManifests []string `yaml:"extraManifests,omitempty" talos:"omitonlyifnil"`
	//   description: |
	//     A map of key value pairs that will be added while fetching the extraManifests.
	//   examples:
	//     - value: >
	//         map[string]string{
	//           "Token": "1234567",
	//           "X-ExtraInfo": "info",
	//         }
	ExtraManifestHeaders map[string]string `yaml:"extraManifestHeaders,omitempty"`
	//   description: |
	//     A list of inline Kubernetes manifests.
	//     These will get automatically deployed as part of the bootstrap.
	//   examples:
	//     - value: clusterInlineManifestsExample
	//   schema:
	//     type: array
	//     items:
	//       $ref: "#/$defs/ClusterInlineManifest"
	ClusterInlineManifests ClusterInlineManifests `yaml:"inlineManifests,omitempty" talos:"omitonlyifnil"`
	//   description: |
	//     Settings for admin kubeconfig generation.
	//     Certificate lifetime can be configured.
	//   examples:
	//     - value: clusterAdminKubeconfigExample
	AdminKubeconfigConfig *AdminKubeconfigConfig `yaml:"adminKubeconfig,omitempty"`
	// docgen:nodoc
	//
	// Deprecated: Use `AllowSchedulingOnControlPlanes` instead.
	AllowSchedulingOnMasters *bool `yaml:"allowSchedulingOnMasters,omitempty"`
	//   description: |
	//     Allows running workload on control-plane nodes.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	//   examples:
	//     - value: true
	AllowSchedulingOnControlPlanes *bool `yaml:"allowSchedulingOnControlPlanes,omitempty"`
}

ClusterConfig represents the cluster-wide config values.

examples:
   - value: clusterConfigExample

func (*ClusterConfig) AESCBCEncryptionSecret

func (c *ClusterConfig) AESCBCEncryptionSecret() string

AESCBCEncryptionSecret implements the config.ClusterConfig interface.

func (*ClusterConfig) APIServer

func (c *ClusterConfig) APIServer() config.APIServer

APIServer implements the config.ClusterConfig interface.

func (*ClusterConfig) APIServerIPs

func (c *ClusterConfig) APIServerIPs() ([]netip.Addr, error)

APIServerIPs implements the config.ClusterNetwork interface.

func (*ClusterConfig) AdminKubeconfig

func (c *ClusterConfig) AdminKubeconfig() config.AdminKubeconfig

AdminKubeconfig implements the config.ClusterConfig interface.

func (*ClusterConfig) AggregatorCA

func (c *ClusterConfig) AggregatorCA() *x509.PEMEncodedCertificateAndKey

AggregatorCA implements the config.ClusterConfig interface.

func (*ClusterConfig) CA

CA implements the config.ClusterConfig interface.

func (*ClusterConfig) CNI

func (c *ClusterConfig) CNI() config.CNI

CNI implements the config.ClusterNetwork interface.

func (*ClusterConfig) CertSANs

func (c *ClusterConfig) CertSANs() []string

CertSANs implements the config.ClusterConfig interface.

func (*ClusterConfig) ControllerManager

func (c *ClusterConfig) ControllerManager() config.ControllerManager

ControllerManager implements the config.ClusterConfig interface.

func (*ClusterConfig) CoreDNS

func (c *ClusterConfig) CoreDNS() config.CoreDNS

CoreDNS implements the config.ClusterConfig interface.

func (*ClusterConfig) DNSDomain

func (c *ClusterConfig) DNSDomain() string

DNSDomain implements the config.ClusterNetwork interface.

func (*ClusterConfig) DNSServiceIPs

func (c *ClusterConfig) DNSServiceIPs() ([]netip.Addr, error)

DNSServiceIPs implements the config.ClusterNetwork interface.

func (*ClusterConfig) DeepCopy

func (in *ClusterConfig) DeepCopy() *ClusterConfig

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

func (*ClusterConfig) DeepCopyInto

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

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

func (*ClusterConfig) Discovery

func (c *ClusterConfig) Discovery() config.Discovery

Discovery implements the config.Cluster interface.

func (ClusterConfig) Doc

func (_ ClusterConfig) Doc() *encoder.Doc

func (*ClusterConfig) Endpoint

func (c *ClusterConfig) Endpoint() *url.URL

Endpoint implements the config.ClusterConfig interface.

func (*ClusterConfig) Etcd

func (c *ClusterConfig) Etcd() config.Etcd

Etcd implements the config.ClusterConfig interface.

func (*ClusterConfig) ExternalCloudProvider

func (c *ClusterConfig) ExternalCloudProvider() config.ExternalCloudProvider

ExternalCloudProvider implements the config.ClusterConfig interface.

func (*ClusterConfig) ExtraManifestHeaderMap

func (c *ClusterConfig) ExtraManifestHeaderMap() map[string]string

ExtraManifestHeaderMap implements the config.ClusterConfig interface.

func (*ClusterConfig) ExtraManifestURLs

func (c *ClusterConfig) ExtraManifestURLs() []string

ExtraManifestURLs implements the config.ClusterConfig interface.

func (*ClusterConfig) ID

func (c *ClusterConfig) ID() string

ID returns the unique identifier for the cluster.

func (*ClusterConfig) InlineManifests

func (c *ClusterConfig) InlineManifests() []config.InlineManifest

InlineManifests implements the config.ClusterConfig interface.

func (*ClusterConfig) LocalAPIServerPort

func (c *ClusterConfig) LocalAPIServerPort() int

LocalAPIServerPort implements the config.ClusterConfig interface.

func (*ClusterConfig) Name

func (c *ClusterConfig) Name() string

Name implements the config.ClusterConfig interface.

func (*ClusterConfig) Network

func (c *ClusterConfig) Network() config.ClusterNetwork

Network implements the config.ClusterConfig interface.

func (*ClusterConfig) PodCIDRs

func (c *ClusterConfig) PodCIDRs() []string

PodCIDRs implements the config.ClusterNetwork interface.

func (*ClusterConfig) Proxy

func (c *ClusterConfig) Proxy() config.Proxy

Proxy implements the config.ClusterConfig interface.

func (*ClusterConfig) ScheduleOnControlPlanes

func (c *ClusterConfig) ScheduleOnControlPlanes() bool

ScheduleOnControlPlanes implements the config.ClusterConfig interface.

func (*ClusterConfig) Scheduler

func (c *ClusterConfig) Scheduler() config.Scheduler

Scheduler implements the config.ClusterConfig interface.

func (*ClusterConfig) Secret

func (c *ClusterConfig) Secret() string

Secret returns the cluster secret.

func (*ClusterConfig) SecretboxEncryptionSecret

func (c *ClusterConfig) SecretboxEncryptionSecret() string

SecretboxEncryptionSecret implements the config.ClusterConfig interface.

func (*ClusterConfig) ServiceAccount

func (c *ClusterConfig) ServiceAccount() *x509.PEMEncodedKey

ServiceAccount implements the config.ClusterConfig interface.

func (*ClusterConfig) ServiceCIDRs

func (c *ClusterConfig) ServiceCIDRs() []string

ServiceCIDRs implements the config.ClusterNetwork interface.

func (*ClusterConfig) Token

func (c *ClusterConfig) Token() config.Token

Token implements the config.ClusterConfig interface.

func (*ClusterConfig) Validate

func (c *ClusterConfig) Validate() error

Validate validates the config.

type ClusterDiscoveryConfig

type ClusterDiscoveryConfig struct {
	// description: |
	//   Enable the cluster membership discovery feature.
	//   Cluster discovery is based on individual registries which are configured under the registries field.
	DiscoveryEnabled *bool `yaml:"enabled,omitempty"`
	// description: |
	//   Configure registries used for cluster member discovery.
	DiscoveryRegistries DiscoveryRegistriesConfig `yaml:"registries"`
}

ClusterDiscoveryConfig struct configures cluster membership discovery.

func (*ClusterDiscoveryConfig) DeepCopy

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) Enabled

func (c *ClusterDiscoveryConfig) Enabled() bool

Enabled implements the config.ClusterDiscovery interface.

func (*ClusterDiscoveryConfig) Registries

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

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) 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

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

func (ClusterInlineManifests) DeepCopyInto

func (in ClusterInlineManifests) DeepCopyInto(out *ClusterInlineManifests)

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

func (ClusterInlineManifests) Validate

func (manifests ClusterInlineManifests) Validate() error

Validate the inline manifests.

type ClusterNetworkConfig

type ClusterNetworkConfig struct {
	//   description: |
	//     The CNI used.
	//     Composed of "name" and "urls".
	//     The "name" key supports the following options: "flannel", "custom", and "none".
	//     "flannel" uses Talos-managed Flannel CNI, and that's the default option.
	//     "custom" uses custom manifests that should be provided in "urls".
	//     "none" indicates that Talos will not manage any CNI installation.
	//   examples:
	//     - value: clusterCustomCNIExample
	CNI *CNIConfig `yaml:"cni,omitempty"`
	//   description: |
	//     The domain used by Kubernetes DNS.
	//     The default is `cluster.local`
	//   examples:
	//     - value: '"cluser.local"'
	DNSDomain string `yaml:"dnsDomain"`
	//   description: |
	//     The pod subnet CIDR.
	//   examples:
	//     -  value: >
	//          []string{"10.244.0.0/16"}
	PodSubnet []string `yaml:"podSubnets" merge:"replace"`
	//   description: |
	//     The service subnet CIDR.
	//   examples:
	//     -  value: >
	//          []string{"10.96.0.0/12"}
	ServiceSubnet []string `yaml:"serviceSubnets" merge:"replace"`
}

ClusterNetworkConfig represents kube networking configuration options.

func (*ClusterNetworkConfig) DeepCopy

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

func (*ClusterNetworkConfig) DeepCopyInto

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

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

func (ClusterNetworkConfig) Doc

func (_ ClusterNetworkConfig) Doc() *encoder.Doc

type Config

type Config struct {
	//   description: |
	//     Indicates the schema used to decode the contents.
	//   values:
	//     - "v1alpha1"
	ConfigVersion string `yaml:"version"`
	//   description: |
	//     Enable verbose logging to the console.
	//     All system containers logs will flow into serial console.
	//
	//     **Note:** To avoid breaking Talos bootstrap flow enable this option only if serial console can handle high message throughput.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	ConfigDebug *bool `yaml:"debug,omitempty"`
	//   description: |
	//     Indicates whether to pull the machine config upon every boot.
	//
	//	   **Note**: this option is deprecated and it will be removed in Talos 1.6.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	ConfigPersist *bool `yaml:"persist,omitempty"`
	//   description: |
	//     Provides machine specific configuration options.
	MachineConfig *MachineConfig `yaml:"machine"`
	//   description: |
	//     Provides cluster specific configuration options.
	ClusterConfig *ClusterConfig `yaml:"cluster"`
}

Config defines the v1alpha1 configuration file.

examples:
   - value: configExample

func (*Config) APIVersion added in v1.5.0

func (c *Config) APIVersion() string

APIVersion returns the API version of the document.

func (*Config) Clone added in v1.5.0

func (c *Config) Clone() config.Document

Clone implements config.Document interface.

func (*Config) Cluster

func (c *Config) Cluster() config.ClusterConfig

Cluster implements the config.Provider interface.

func (*Config) Debug

func (c *Config) Debug() bool

Debug implements the config.Provider interface.

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (Config) Doc

func (_ Config) Doc() *encoder.Doc

func (*Config) Kind added in v1.5.0

func (c *Config) Kind() string

Kind returns the kind of the document.

func (*Config) Machine

func (c *Config) Machine() config.MachineConfig

Machine implements the config.Provider interface.

func (*Config) Persist

func (c *Config) Persist() bool

Persist implements the config.Provider interface.

func (*Config) Redact added in v1.5.0

func (c *Config) Redact(replacement string)

Redact implements the config.SecretDocument 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

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) 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

func (in *CoreDNS) DeepCopy() *CoreDNS

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

func (*CoreDNS) DeepCopyInto

func (in *CoreDNS) DeepCopyInto(out *CoreDNS)

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

func (CoreDNS) Doc

func (_ CoreDNS) Doc() *encoder.Doc

func (*CoreDNS) Enabled

func (c *CoreDNS) Enabled() bool

Enabled implements the config.Provider interface.

func (*CoreDNS) Image

func (c *CoreDNS) Image() string

Image implements the config.Provider interface.

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) Addresses

func (d *Device) Addresses() []string

Addresses implements the MachineNetwork interface.

func (*Device) Bond

func (d *Device) Bond() config.Bond

Bond implements the MachineNetwork interface.

func (*Device) Bridge

func (d *Device) Bridge() config.Bridge

Bridge implements the MachineNetwork interface.

func (*Device) DHCP

func (d *Device) DHCP() bool

DHCP implements the MachineNetwork interface.

func (*Device) DHCPOptions

func (d *Device) DHCPOptions() config.DHCPOptions

DHCPOptions implements the MachineNetwork interface.

func (*Device) DeepCopy

func (in *Device) DeepCopy() *Device

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

func (*Device) DeepCopyInto

func (in *Device) DeepCopyInto(out *Device)

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

func (Device) Doc

func (_ Device) Doc() *encoder.Doc

func (*Device) Dummy

func (d *Device) Dummy() bool

Dummy implements the MachineNetwork interface.

func (*Device) Ignore

func (d *Device) Ignore() bool

Ignore implements the MachineNetwork interface.

func (*Device) Interface

func (d *Device) Interface() string

Interface implements the MachineNetwork interface.

func (*Device) MTU

func (d *Device) MTU() int

MTU implements the MachineNetwork interface.

func (*Device) Routes

func (d *Device) Routes() []config.Route

Routes implements the MachineNetwork interface.

func (*Device) Selector

func (d *Device) Selector() config.NetworkDeviceSelector

Selector implements the config.Device interface.

func (*Device) VIPConfig

func (d *Device) VIPConfig() config.VIPConfig

VIPConfig implements the MachineNetwork interface.

func (*Device) Vlans

func (d *Device) Vlans() []config.Vlan

Vlans implements the MachineNetwork interface.

func (*Device) WireguardConfig

func (d *Device) WireguardConfig() config.WireguardConfig

WireguardConfig implements the MachineNetwork interface.

type DeviceVIPConfig

type DeviceVIPConfig struct {
	// description: Specifies the IP address to be used.
	SharedIP 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"`
}

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

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) 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

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

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

func (*DiscoveryRegistriesConfig) DeepCopyInto

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

func (DiscoveryRegistriesConfig) Doc

func (DiscoveryRegistriesConfig) Kubernetes

Kubernetes implements the config.DiscoveryRegistries interface.

func (DiscoveryRegistriesConfig) Service

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

func (ds DiskSize) MarshalYAML() (interface{}, error)

MarshalYAML write as human readable string.

func (*DiskSize) UnmarshalYAML

func (ds *DiskSize) UnmarshalYAML(unmarshal func(interface{}) error) error

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

Keys implements the config.Provider interface.

func (*EncryptionConfig) Kind

func (e *EncryptionConfig) Kind() string

Kind implements the config.Provider interface.

func (*EncryptionConfig) Options

func (e *EncryptionConfig) Options() []string

Options 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

KMS implements the config.Provider interface.

func (*EncryptionKey) NodeID

NodeID implements the config.Provider interface.

func (*EncryptionKey) Slot

func (e *EncryptionKey) Slot() int

Slot implements the config.Provider interface.

func (*EncryptionKey) Static

Static implements the config.Provider interface.

func (*EncryptionKey) TPM added in v1.5.0

TPM implements the config.Provider interface.

type EncryptionKeyKMS added in v1.5.0

type EncryptionKeyKMS struct {
	//   description: >
	//     KMS endpoint to Seal/Unseal the key.
	KMSEndpoint string `yaml:"endpoint"`
}

EncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.

func (*EncryptionKeyKMS) DeepCopy added in v1.5.0

func (in *EncryptionKeyKMS) DeepCopy() *EncryptionKeyKMS

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

func (*EncryptionKeyKMS) DeepCopyInto added in v1.5.0

func (in *EncryptionKeyKMS) DeepCopyInto(out *EncryptionKeyKMS)

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

func (EncryptionKeyKMS) Doc added in v1.5.0

func (_ EncryptionKeyKMS) Doc() *encoder.Doc

func (*EncryptionKeyKMS) Endpoint added in v1.5.0

func (e *EncryptionKeyKMS) Endpoint() string

Endpoint implements the config.Provider interface.

type EncryptionKeyNodeID

type EncryptionKeyNodeID struct{}

EncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.

func (*EncryptionKeyNodeID) DeepCopy

func (in *EncryptionKeyNodeID) DeepCopy() *EncryptionKeyNodeID

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

func (*EncryptionKeyNodeID) DeepCopyInto

func (in *EncryptionKeyNodeID) DeepCopyInto(out *EncryptionKeyNodeID)

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

func (EncryptionKeyNodeID) Doc

func (_ EncryptionKeyNodeID) Doc() *encoder.Doc

type EncryptionKeyStatic

type EncryptionKeyStatic struct {
	//   description: >
	//     Defines the static passphrase value.
	KeyData string `yaml:"passphrase,omitempty"`
}

EncryptionKeyStatic represents throw away key type.

func (*EncryptionKeyStatic) DeepCopy

func (in *EncryptionKeyStatic) DeepCopy() *EncryptionKeyStatic

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

func (*EncryptionKeyStatic) DeepCopyInto

func (in *EncryptionKeyStatic) DeepCopyInto(out *EncryptionKeyStatic)

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

func (EncryptionKeyStatic) Doc

func (_ EncryptionKeyStatic) Doc() *encoder.Doc

func (*EncryptionKeyStatic) Key

func (e *EncryptionKeyStatic) Key() []byte

Key implements the config.Provider interface.

type EncryptionKeyTPM added in v1.5.0

type EncryptionKeyTPM struct{}

EncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.

func (*EncryptionKeyTPM) DeepCopy added in v1.5.0

func (in *EncryptionKeyTPM) DeepCopy() *EncryptionKeyTPM

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

func (*EncryptionKeyTPM) DeepCopyInto added in v1.5.0

func (in *EncryptionKeyTPM) DeepCopyInto(out *EncryptionKeyTPM)

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

func (EncryptionKeyTPM) Doc added in v1.5.0

func (_ EncryptionKeyTPM) Doc() *encoder.Doc

type Endpoint

type Endpoint struct {
	*url.URL
}

Endpoint represents the endpoint URL parsed out of the machine config.

func (*Endpoint) DeepCopy

func (e *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (e *Endpoint) DeepCopyInto(out *Endpoint)

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

func (Endpoint) Doc

func (_ Endpoint) Doc() *encoder.Doc

func (*Endpoint) MarshalYAML

func (e *Endpoint) MarshalYAML() (interface{}, error)

MarshalYAML is a custom marshaller for `Endpoint`.

func (*Endpoint) UnmarshalYAML

func (e *Endpoint) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML is a custom unmarshaller for `Endpoint`.

type Env

type Env = map[string]string

Env represents a set of environment variables.

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

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.

func (*EtcdConfig) Validate

func (e *EtcdConfig) Validate() error

Validate etcd configuration.

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

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

func (*ExternalCloudProviderConfig) DeepCopyInto

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

func (ExternalCloudProviderConfig) 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) Aliases

func (e *ExtraHost) Aliases() []string

Aliases implements the MachineNetwork interface.

func (*ExtraHost) DeepCopy

func (in *ExtraHost) DeepCopy() *ExtraHost

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

func (*ExtraHost) DeepCopyInto

func (in *ExtraHost) DeepCopyInto(out *ExtraHost)

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

func (ExtraHost) Doc

func (_ ExtraHost) Doc() *encoder.Doc

func (*ExtraHost) IP

func (e *ExtraHost) IP() string

IP implements the MachineNetwork interface.

type ExtraMount

type ExtraMount struct {
	specs.Mount `yaml:",inline"`
}

ExtraMount wraps OCI Mount specification.

func (*ExtraMount) DeepCopy

func (in *ExtraMount) DeepCopy() *ExtraMount

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

func (*ExtraMount) DeepCopyInto

func (in *ExtraMount) DeepCopyInto(out *ExtraMount)

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

func (ExtraMount) Doc

func (_ ExtraMount) Doc() *encoder.Doc

type FeaturesConfig

type FeaturesConfig struct {
	//   description: |
	//     Enable role-based access control (RBAC).
	RBAC *bool `yaml:"rbac,omitempty"`
	//   description: |
	//     Enable stable default hostname.
	StableHostname *bool `yaml:"stableHostname,omitempty"`
	//   description: |
	//    Configure Talos API access from Kubernetes pods.
	//
	//    This feature is disabled if the feature config is not specified.
	//   examples:
	//     - value: kubernetesTalosAPIAccessConfigExample
	KubernetesTalosAPIAccessConfig *KubernetesTalosAPIAccessConfig `yaml:"kubernetesTalosAPIAccess,omitempty"`
	//   description: |
	//     Enable checks for extended key usage of client certificates in apid.
	ApidCheckExtKeyUsage *bool `yaml:"apidCheckExtKeyUsage,omitempty"`
	//   description: |
	//     Enable XFS project quota support for EPHEMERAL partition and user disks.
	//     Also enables kubelet tracking of ephemeral disk usage in the kubelet via quota.
	DiskQuotaSupport *bool `yaml:"diskQuotaSupport,omitempty"`
	//   description: |
	//     KubePrism - local proxy/load balancer on defined port that will distribute
	//     requests to all API servers in the cluster.
	KubePrismSupport *KubePrism `yaml:"kubePrism,omitempty"`
}

FeaturesConfig describes individual Talos features that can be switched on or off.

func (*FeaturesConfig) ApidCheckExtKeyUsageEnabled

func (f *FeaturesConfig) ApidCheckExtKeyUsageEnabled() bool

ApidCheckExtKeyUsageEnabled implements config.Features interface.

func (*FeaturesConfig) DeepCopy

func (in *FeaturesConfig) DeepCopy() *FeaturesConfig

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

func (*FeaturesConfig) DeepCopyInto

func (in *FeaturesConfig) DeepCopyInto(out *FeaturesConfig)

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

func (*FeaturesConfig) DiskQuotaSupportEnabled added in v1.5.0

func (f *FeaturesConfig) DiskQuotaSupportEnabled() bool

DiskQuotaSupportEnabled implements config.Features interface.

func (FeaturesConfig) Doc

func (_ FeaturesConfig) Doc() *encoder.Doc

func (*FeaturesConfig) KubePrism added in v1.5.0

func (f *FeaturesConfig) KubePrism() config.KubePrism

KubePrism implements config.Features interface.

func (*FeaturesConfig) KubernetesTalosAPIAccess

func (f *FeaturesConfig) KubernetesTalosAPIAccess() config.KubernetesTalosAPIAccess

KubernetesTalosAPIAccess implements config.Features interface.

func (*FeaturesConfig) RBACEnabled

func (f *FeaturesConfig) RBACEnabled() bool

RBACEnabled implements config.Features interface.

func (*FeaturesConfig) StableHostnameEnabled

func (f *FeaturesConfig) StableHostnameEnabled() bool

StableHostnameEnabled implements config.Features interface.

type FileMode

type FileMode os.FileMode

FileMode represents file's permissions.

func (FileMode) MarshalYAML

func (fm FileMode) MarshalYAML() (interface{}, error)

MarshalYAML encodes as an octal value.

func (FileMode) String

func (fm FileMode) String() string

String convert file mode to octal string.

type IfaceSelector added in v1.5.0

type IfaceSelector struct {
	Name     *string
	Selector *NetworkDeviceSelector
}

IfaceSelector is a helper type to select network interface.

It might either to select interface by name or by selector.

func IfaceByName added in v1.5.0

func IfaceByName(name string) IfaceSelector

IfaceByName selects interface by name.

func IfaceBySelector added in v1.5.0

func IfaceBySelector(selector NetworkDeviceSelector) IfaceSelector

IfaceBySelector selects interface by selector.

func (*IfaceSelector) DeepCopy added in v1.5.0

func (in *IfaceSelector) DeepCopy() *IfaceSelector

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

func (*IfaceSelector) DeepCopyInto added in v1.5.0

func (in *IfaceSelector) DeepCopyInto(out *IfaceSelector)

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

type InstallConfig

type InstallConfig struct {
	//   description: |
	//     The disk used for installations.
	//   examples:
	//     - value: '"/dev/sda"'
	//     - value: '"/dev/nvme0"'
	InstallDisk string `yaml:"disk,omitempty"`
	//   description: |
	//     Look up disk using disk attributes like model, size, serial and others.
	//     Always has priority over `disk`.
	//   examples:
	//     - value: machineInstallDiskSelectorExample
	InstallDiskSelector *InstallDiskSelector `yaml:"diskSelector,omitempty"`
	//   description: |
	//     Allows for supplying extra kernel args via the bootloader.
	//   examples:
	//     - value: '[]string{"talos.platform=metal", "reboot=k"}'
	InstallExtraKernelArgs []string `yaml:"extraKernelArgs,omitempty"`
	//   description: |
	//     Allows for supplying the image used to perform the installation.
	//     Image reference for each Talos release can be found on
	//     [GitHub releases page](https://github.com/siderolabs/talos/releases).
	//   examples:
	//     - value: '"ghcr.io/siderolabs/installer:latest"'
	InstallImage string `yaml:"image,omitempty"`
	//   description: |
	//     Allows for supplying additional system extension images to install on top of base Talos image.
	//   examples:
	//     - value: installExtensionsExample
	InstallExtensions []InstallExtensionConfig `yaml:"extensions,omitempty"`
	//   description: |
	//     Indicates if a bootloader should be installed.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	InstallBootloader *bool `yaml:"bootloader,omitempty"`
	//   description: |
	//     Indicates if the installation disk should be wiped at installation time.
	//     Defaults to `true`.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	InstallWipe *bool `yaml:"wipe"`
	//   description: |
	//     Indicates if MBR partition should be marked as bootable (active).
	//     Should be enabled only for the systems with legacy BIOS that doesn't support GPT partitioning scheme.
	InstallLegacyBIOSSupport *bool `yaml:"legacyBIOSSupport,omitempty"`
}

InstallConfig represents the installation options for preparing a node.

func (*InstallConfig) DeepCopy

func (in *InstallConfig) DeepCopy() *InstallConfig

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

func (*InstallConfig) DeepCopyInto

func (in *InstallConfig) DeepCopyInto(out *InstallConfig)

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

func (*InstallConfig) Disk

func (i *InstallConfig) Disk() (string, error)

Disk implements the config.Provider interface.

func (*InstallConfig) DiskMatchers

func (i *InstallConfig) DiskMatchers() []disk.Matcher

DiskMatchers implements the config.Provider interface.

func (InstallConfig) Doc

func (_ InstallConfig) Doc() *encoder.Doc

func (*InstallConfig) Extensions

func (i *InstallConfig) Extensions() []config.Extension

Extensions implements the config.Provider interface.

func (*InstallConfig) ExtraKernelArgs

func (i *InstallConfig) ExtraKernelArgs() []string

ExtraKernelArgs implements the config.Provider interface.

func (*InstallConfig) Image

func (i *InstallConfig) Image() string

Image implements the config.Provider interface.

func (*InstallConfig) LegacyBIOSSupport

func (i *InstallConfig) LegacyBIOSSupport() bool

LegacyBIOSSupport implements the config.Provider interface.

func (*InstallConfig) WithBootloader

func (i *InstallConfig) WithBootloader() bool

WithBootloader implements the config.Provider interface.

func (*InstallConfig) Zero

func (i *InstallConfig) Zero() bool

Zero implements the config.Provider interface.

type InstallDiskSelector

type InstallDiskSelector struct {
	//   description: Disk size.
	//   examples:
	//     - name: Select a disk which size is equal to 4GB.
	//       value: machineInstallDiskSizeMatcherExamples[0]
	//     - name: Select a disk which size is greater than 1TB.
	//       value: machineInstallDiskSizeMatcherExamples[1]
	//     - name: Select a disk which size is less or equal than 2TB.
	//       value: machineInstallDiskSizeMatcherExamples[2]
	//   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

type InstallDiskSizeMatchData struct {
	Op   string
	Size uint64
}

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

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

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

type InstallDiskType disk.Type

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

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) Image

func (i InstallExtensionConfig) Image() string

Image implements the config.Provider interface.

type KernelConfig

type KernelConfig struct {
	// description: |
	//   Kernel modules to load.
	KernelModules []*KernelModuleConfig `yaml:"modules,omitempty"`
}

KernelConfig struct configures Talos Linux kernel.

func (*KernelConfig) DeepCopy

func (in *KernelConfig) DeepCopy() *KernelConfig

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

func (*KernelConfig) DeepCopyInto

func (in *KernelConfig) DeepCopyInto(out *KernelConfig)

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

func (KernelConfig) Doc

func (_ KernelConfig) Doc() *encoder.Doc

func (*KernelConfig) Modules

func (kc *KernelConfig) Modules() []config.KernelModule

Modules implements config.Kernel interface.

type KernelModuleConfig

type KernelModuleConfig struct {
	// description: |
	//   Module name.
	ModuleName string `yaml:"name"`
	// description: |
	//   Module parameters, changes applied after reboot.
	ModuleParameters []string `yaml:"parameters,omitempty"`
}

KernelModuleConfig struct configures Linux kernel modules to load.

func (*KernelModuleConfig) DeepCopy

func (in *KernelModuleConfig) DeepCopy() *KernelModuleConfig

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

func (*KernelModuleConfig) DeepCopyInto

func (in *KernelModuleConfig) DeepCopyInto(out *KernelModuleConfig)

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

func (KernelModuleConfig) Doc

func (_ KernelModuleConfig) Doc() *encoder.Doc

func (*KernelModuleConfig) Name

func (kmc *KernelModuleConfig) Name() string

Name implements config.KernelModule interface.

func (*KernelModuleConfig) Parameters

func (kmc *KernelModuleConfig) Parameters() []string

Parameters implements config.KernelModule interface.

type KubePrism added in v1.5.0

type KubePrism struct {
	//   description: |
	//     Enable KubePrism support - will start local load balacing proxy.
	ServerEnabled *bool `yaml:"enabled,omitempty"`
	//   description: |
	//     KubePrism port.
	ServerPort int `yaml:"port,omitempty"`
}

KubePrism describes the configuration for the KubePrism load balancer.

func (*KubePrism) DeepCopy added in v1.5.0

func (in *KubePrism) DeepCopy() *KubePrism

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

func (*KubePrism) DeepCopyInto added in v1.5.0

func (in *KubePrism) DeepCopyInto(out *KubePrism)

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

func (KubePrism) Doc added in v1.5.0

func (_ KubePrism) Doc() *encoder.Doc

func (*KubePrism) Enabled added in v1.5.0

func (a *KubePrism) Enabled() bool

Enabled implements config.KubePrism.

func (*KubePrism) Port added in v1.5.0

func (a *KubePrism) Port() int

Port implements config.KubePrism.

type KubeSpanFilters

type KubeSpanFilters struct {
	// description: |
	//   Filter node addresses which will be advertised as KubeSpan endpoints for peer-to-peer Wireguard connections.
	//
	//   By default, all addresses are advertised, and KubeSpan cycles through all endpoints until it finds one that works.
	//
	//   Default value: no filtering.
	// examples:
	//   - name: Exclude addresses in 192.168.0.0/16 subnet.
	//     value: '[]string{"0.0.0.0/0", "!192.168.0.0/16", "::/0"}'
	KubeSpanFiltersEndpoints []string `yaml:"endpoints,omitempty"`
}

KubeSpanFilters struct describes KubeSpan advanced network addresses filtering.

func (*KubeSpanFilters) DeepCopy

func (in *KubeSpanFilters) DeepCopy() *KubeSpanFilters

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

func (*KubeSpanFilters) DeepCopyInto

func (in *KubeSpanFilters) DeepCopyInto(out *KubeSpanFilters)

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

func (KubeSpanFilters) Doc

func (_ KubeSpanFilters) Doc() *encoder.Doc

func (*KubeSpanFilters) Endpoints

func (k *KubeSpanFilters) Endpoints() []string

Endpoints implements the config.KubeSpanFilters interface.

type KubeletConfig

type KubeletConfig struct {
	//   description: |
	//     The `image` field is an optional reference to an alternative kubelet image.
	//   examples:
	//     - value: kubeletImageExample
	KubeletImage string `yaml:"image,omitempty"`
	//   description: |
	//     The `ClusterDNS` field is an optional reference to an alternative kubelet clusterDNS ip list.
	//   examples:
	//     - value: '[]string{"10.96.0.10", "169.254.2.53"}'
	KubeletClusterDNS []string `yaml:"clusterDNS,omitempty"`
	//   description: |
	//     The `extraArgs` field is used to provide additional flags to the kubelet.
	//   examples:
	//     - value: >
	//         map[string]string{
	//           "key": "value",
	//         }
	KubeletExtraArgs map[string]string `yaml:"extraArgs,omitempty"`
	//   description: |
	//     The `extraMounts` field is used to add additional mounts to the kubelet container.
	//     Note that either `bind` or `rbind` are required in the `options`.
	//   examples:
	//     - value: kubeletExtraMountsExample
	KubeletExtraMounts []ExtraMount `yaml:"extraMounts,omitempty"`
	//   description: |
	//     The `extraConfig` field is used to provide kubelet configuration overrides.
	//
	//     Some fields are not allowed to be overridden: authentication and authorization, cgroups
	//     configuration, ports, etc.
	//   examples:
	//     - value: kubeletExtraConfigExample
	//   schema:
	//     type: object
	KubeletExtraConfig Unstructured `yaml:"extraConfig,omitempty"`
	//  description: |
	//    Enable container runtime default Seccomp profile.
	//  values:
	//    - true
	//    - yes
	//    - false
	//    - no
	KubeletDefaultRuntimeSeccompProfileEnabled *bool `yaml:"defaultRuntimeSeccompProfileEnabled,omitempty"`
	//   description: |
	//     The `registerWithFQDN` field is used to force kubelet to use the node FQDN for registration.
	//     This is required in clouds like AWS.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	KubeletRegisterWithFQDN *bool `yaml:"registerWithFQDN,omitempty"`
	//   description: |
	//     The `nodeIP` field is used to configure `--node-ip` flag for the kubelet.
	//     This is used when a node has multiple addresses to choose from.
	//   examples:
	//     - value: kubeletNodeIPExample
	KubeletNodeIP *KubeletNodeIPConfig `yaml:"nodeIP,omitempty"`
	//   description: |
	//      The `skipNodeRegistration` is used to run the kubelet without registering with the apiserver.
	//      This runs kubelet as standalone and only runs static pods.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	KubeletSkipNodeRegistration *bool `yaml:"skipNodeRegistration,omitempty"`
	//   description: |
	//     The `disableManifestsDirectory` field configures the kubelet to get static pod manifests from the /etc/kubernetes/manifests directory.
	//     It's recommended to configure static pods with the "pods" key instead.
	//   values:
	//     - true
	//     - yes
	//     - false
	//     - no
	KubeletDisableManifestsDirectory *bool `yaml:"disableManifestsDirectory,omitempty"`
}

KubeletConfig represents the kubelet config values.

func (*KubeletConfig) ClusterDNS

func (k *KubeletConfig) ClusterDNS() []string

ClusterDNS implements the config.Provider interface.

func (*KubeletConfig) DeepCopy

func (in *KubeletConfig) DeepCopy() *KubeletConfig

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

func (*KubeletConfig) DeepCopyInto

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

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

func (*KubeletConfig) DefaultRuntimeSeccompProfileEnabled

func (k *KubeletConfig) DefaultRuntimeSeccompProfileEnabled() bool

DefaultRuntimeSeccompProfileEnabled implements the config.Provider interface.

func (*KubeletConfig) DisableManifestsDirectory

func (k *KubeletConfig) DisableManifestsDirectory() bool

DisableManifestsDirectory implements the KubeletConfig interface.

func (KubeletConfig) Doc

func (_ KubeletConfig) Doc() *encoder.Doc

func (*KubeletConfig) ExtraArgs

func (k *KubeletConfig) ExtraArgs() map[string]string

ExtraArgs implements the config.Provider interface.

func (*KubeletConfig) ExtraConfig

func (k *KubeletConfig) ExtraConfig() map[string]interface{}

ExtraConfig implements the config.Provider interface.

func (*KubeletConfig) ExtraMounts

func (k *KubeletConfig) ExtraMounts() []specs.Mount

ExtraMounts implements the config.Provider interface.

func (*KubeletConfig) Image

func (k *KubeletConfig) Image() string

Image implements the config.Provider interface.

func (*KubeletConfig) NodeIP

func (k *KubeletConfig) NodeIP() config.KubeletNodeIP

NodeIP implements the config.Provider interface.

func (*KubeletConfig) RegisterWithFQDN

func (k *KubeletConfig) RegisterWithFQDN() bool

RegisterWithFQDN implements the config.Provider interface.

func (*KubeletConfig) SkipNodeRegistration

func (k *KubeletConfig) SkipNodeRegistration() bool

SkipNodeRegistration implements the config.Provider interface.

func (*KubeletConfig) Validate

func (k *KubeletConfig) Validate() ([]string, error)

Validate kubelet configuration.

type KubeletNodeIPConfig

type KubeletNodeIPConfig struct {
	//  description: |
	//    The `validSubnets` field configures the networks to pick kubelet node IP from.
	//    For dual stack configuration, there should be two subnets: one for IPv4, another for IPv6.
	//    IPs can be excluded from the list by using negative match with `!`, e.g `!10.0.0.0/8`.
	//    Negative subnet matches should be specified last to filter out IPs picked by positive matches.
	//    If not specified, node IP is picked based on cluster podCIDRs: IPv4/IPv6 address or both.
	KubeletNodeIPValidSubnets []string `yaml:"validSubnets,omitempty"`
}

KubeletNodeIPConfig represents the kubelet node IP configuration.

func (*KubeletNodeIPConfig) DeepCopy

func (in *KubeletNodeIPConfig) DeepCopy() *KubeletNodeIPConfig

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

func (*KubeletNodeIPConfig) DeepCopyInto

func (in *KubeletNodeIPConfig) DeepCopyInto(out *KubeletNodeIPConfig)

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

func (KubeletNodeIPConfig) Doc

func (_ KubeletNodeIPConfig) Doc() *encoder.Doc

func (*KubeletNodeIPConfig) ValidSubnets

func (k *KubeletNodeIPConfig) ValidSubnets() []string

ValidSubnets implements the config.Provider interface.

type KubernetesTalosAPIAccessConfig

type KubernetesTalosAPIAccessConfig struct {
	//   description: |
	//     Enable Talos API access from Kubernetes pods.
	AccessEnabled *bool `yaml:"enabled,omitempty"`
	//   description: |
	//     The list of Talos API roles which can be granted for access from Kubernetes pods.
	//
	//     Empty list means that no roles can be granted, so access is blocked.
	AccessAllowedRoles []string `yaml:"allowedRoles,omitempty"`
	//   description: |
	//     The list of Kubernetes namespaces Talos API access is available from.
	AccessAllowedKubernetesNamespaces []string `yaml:"allowedKubernetesNamespaces,omitempty"`
}

KubernetesTalosAPIAccessConfig describes the configuration for the Talos API access from Kubernetes pods.

func (*KubernetesTalosAPIAccessConfig) AllowedKubernetesNamespaces

func (c *KubernetesTalosAPIAccessConfig) AllowedKubernetesNamespaces() []string

AllowedKubernetesNamespaces implements config.KubernetesTalosAPIAccess.

func (*KubernetesTalosAPIAccessConfig) AllowedRoles

func (c *KubernetesTalosAPIAccessConfig) AllowedRoles() []string

AllowedRoles implements config.KubernetesTalosAPIAccess.

func (*KubernetesTalosAPIAccessConfig) DeepCopy

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

func (*KubernetesTalosAPIAccessConfig) DeepCopyInto

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

func (KubernetesTalosAPIAccessConfig) Doc

func (*KubernetesTalosAPIAccessConfig) Enabled

func (c *KubernetesTalosAPIAccessConfig) Enabled() bool

Enabled implements config.KubernetesTalosAPIAccess.

type LoggingConfig

type LoggingConfig struct {
	// description: |
	//   Logging destination.
	LoggingDestinations []LoggingDestination `yaml:"destinations"`
}

LoggingConfig struct configures Talos logging.

func (*LoggingConfig) DeepCopy

func (in *LoggingConfig) DeepCopy() *LoggingConfig

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

func (*LoggingConfig) DeepCopyInto

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

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

func (*LoggingConfig) Destinations

func (lc *LoggingConfig) Destinations() []config.LoggingDestination

Destinations implements config.Logging interface.

func (LoggingConfig) Doc

func (_ LoggingConfig) Doc() *encoder.Doc

func (*LoggingConfig) Validate

func (lc *LoggingConfig) Validate() error

Validate checks logging configuration for errors.

type LoggingDestination

type LoggingDestination struct {
	// description: |
	//   Where to send logs. Supported protocols are "tcp" and "udp".
	// examples:
	//   - value: loggingEndpointExample1
	//   - value: loggingEndpointExample2
	LoggingEndpoint *Endpoint `yaml:"endpoint"`
	// description: |
	//   Logs format.
	// values:
	//   - json_lines
	LoggingFormat string `yaml:"format"`
}

LoggingDestination struct configures Talos logging destination.

func (*LoggingDestination) DeepCopy

func (in *LoggingDestination) DeepCopy() *LoggingDestination

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

func (*LoggingDestination) DeepCopyInto

func (in *LoggingDestination) DeepCopyInto(out *LoggingDestination)

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

func (LoggingDestination) Doc

func (_ LoggingDestination) Doc() *encoder.Doc

func (LoggingDestination) Endpoint

func (ld LoggingDestination) Endpoint() *url.URL

Endpoint implements config.LoggingDestination interface.

func (LoggingDestination) Format

func (ld LoggingDestination) Format() string

Format implements config.LoggingDestination interface.

type MachineConfig

type MachineConfig struct {
	//   description: |
	//     Defines the role of the machine within the cluster.
	//
	//     **Control Plane**
	//
	//     Control Plane node type designates the node as a control plane member.
	//     This means it will host etcd along with the Kubernetes controlplane components such as API Server, Controller Manager, Scheduler.
	//
	//     **Worker**
	//
	//     Worker node type designates the node as a worker node.
	//     This means it will be an available compute node for scheduling workloads.
	//
	//     This node type was previously known as "join"; that value is still supported but deprecated.
	//   values:
	//     - "controlplane"
	//     - "worker"
	MachineType string `yaml:"type"`
	//   description: |
	//     The `token` is used by a machine to join the PKI of the cluster.
	//     Using this token, a machine will create a certificate signing request (CSR), and request a certificate that will be used as its' identity.
	//   examples:
	//     - name: example token
	//       value: "\"328hom.uqjzh6jnn2eie9oi\""
	MachineToken string `yaml:"token"` // Warning: It is important to ensure that this token is correct since a machine's certificate has a short TTL by default.
	//   description: |
	//     The root certificate authority of the PKI.
	//     It is composed of a base64 encoded `crt` and `key`.
	//   examples:
	//     - value: pemEncodedCertificateExample
	//       name: machine CA example
	//   schema:
	//     type: object
	//     additionalProperties: false
	//     properties:
	//       crt:
	//         type: string
	//       key:
	//         type: string
	MachineCA *x509.PEMEncodedCertificateAndKey `yaml:"ca,omitempty"`
	//   description: |
	//     Extra certificate subject alternative names for the machine's certificate.
	//     By default, all non-loopback interface IPs are automatically added to the certificate's SANs.
	//   examples:
	//     - name: Uncomment this to enable SANs.
	//       value: '[]string{"10.0.0.10", "172.16.0.10", "192.168.0.10"}'
	MachineCertSANs []string `yaml:"certSANs"`
	//   description: |
	//     Provides machine specific control plane configuration options.
	//   examples:
	//     - name: ControlPlane definition example.
	//       value: machineControlplaneExample
	MachineControlPlane *MachineControlPlaneConfig `yaml:"controlPlane,omitempty"`
	//   description: |
	//     Used to provide additional options to the kubelet.
	//   examples:
	//     - name: Kubelet definition example.
	//       value: machineKubeletExample
	MachineKubelet *KubeletConfig `yaml:"kubelet,omitempty"`
	//   description: |
	//     Used to provide static pod definitions to be run by the kubelet directly bypassing the kube-apiserver.
	//
	//     Static pods can be used to run components which should be started before the Kubernetes control plane is up.
	//     Talos doesn't validate the pod definition.
	//     Updates to this field can be applied without a reboot.
	//
	//     See https://kubernetes.io/docs/tasks/configure-pod-container/static-pod/.
	//   examples:
	//     - name: nginx static pod.
	//       value: machinePodsExample
	//   schema:
	//     type: array
	//     items:
	//       type: object
	MachinePods []Unstructured `yaml:"pods,omitempty"`
	//   description: |
	//     Provides machine specific network configuration options.
	//   examples:
	//     - name: Network definition example.
	//       value: machineNetworkConfigExample
	MachineNetwork *NetworkConfig `yaml:"network,omitempty"`
	//   description: |
	//     Used to partition, format and mount additional disks.
	//     Since the rootfs is read only with the exception of `/var`, mounts are only valid if they are under `/var`.
	//     Note that the partitioning and formatting is done only once, if and only if no existing XFS partitions are found.
	//     If `size:` is omitted, the partition is sized to occupy the full disk.
	//   examples:
	//     - name: MachineDisks list example.
	//       value: machineDisksExample
	MachineDisks []*MachineDisk `yaml:"disks,omitempty"` // Note: `size` is in units of bytes.
	//   description: |
	//     Used to provide instructions for installations.
	//
	//     Note that this configuration section gets silently ignored by Talos images that are considered pre-installed.
	//     To make sure Talos installs according to the provided configuration, Talos should be booted with ISO or PXE-booted.
	//   examples:
	//     - name: MachineInstall config usage example.
	//       value: machineInstallExample
	MachineInstall *InstallConfig `yaml:"install,omitempty"`
	//   description: |
	//     Allows the addition of user specified files.
	//     The value of `op` can be `create`, `overwrite`, or `append`.
	//     In the case of `create`, `path` must not exist.
	//     In the case of `overwrite`, and `append`, `path` must be a valid file.
	//     If an `op` value of `append` is used, the existing file will be appended.
	//     Note that the file contents are not required to be base64 encoded.
	//   examples:
	//      - name: MachineFiles usage example.
	//        value: machineFilesExample
	MachineFiles []*MachineFile `yaml:"files,omitempty"` // Note: The specified `path` is relative to `/var`.
	//   description: |
	//     The `env` field allows for the addition of environment variables.
	//     All environment variables are set on PID 1 in addition to every service.
	//   values:
	//     - "`GRPC_GO_LOG_VERBOSITY_LEVEL`"
	//     - "`GRPC_GO_LOG_SEVERITY_LEVEL`"
	//     - "`http_proxy`"
	//     - "`https_proxy`"
	//     - "`no_proxy`"
	//   examples:
	//     - name: Environment variables definition examples.
	//       value: machineEnvExamples[0]
	//     - value: machineEnvExamples[1]
	//     - value: machineEnvExamples[2]
	//   schema:
	//     type: object
	//     patternProperties:
	//       ".*":
	//         type: string
	MachineEnv Env `yaml:"env,omitempty"`
	//   description: |
	//     Used to configure the machine's time settings.
	//   examples:
	//     - name: Example configuration for cloudflare ntp server.
	//       value: machineTimeExample
	MachineTime *TimeConfig `yaml:"time,omitempty"`
	//   description: |
	//     Used to configure the machine's sysctls.
	//   examples:
	//     - name: MachineSysctls usage example.
	//       value: machineSysctlsExample
	MachineSysctls map[string]string `yaml:"sysctls,omitempty"`
	//   description: |
	//     Used to configure the machine's sysfs.
	//   examples:
	//     - name: MachineSysfs usage example.
	//       value: machineSysfsExample
	MachineSysfs map[string]string `yaml:"sysfs,omitempty"`
	//   description: |
	//     Used to configure the machine's container image registry mirrors.
	//
	//     Automatically generates matching CRI configuration for registry mirrors.
	//
	//     The `mirrors` section allows to redirect requests for images to a non-default registry,
	//     which might be a local registry or a caching mirror.
	//
	//     The `config` section provides a way to authenticate to the registry with TLS client
	//     identity, provide registry CA, or authentication information.
	//     Authentication information has same meaning with the corresponding field in [`.docker/config.json`](https://docs.docker.com/engine/api/v1.41/#section/Authentication).
	//
	//     See also matching configuration for [CRI containerd plugin](https://github.com/containerd/cri/blob/master/docs/registry.md).
	//   examples:
	//     - value: machineConfigRegistriesExample
	MachineRegistries RegistriesConfig `yaml:"registries,omitempty"`
	//   description: |
	//     Machine system disk encryption configuration.
	//     Defines each system partition encryption parameters.
	//   examples:
	//     - value: machineSystemDiskEncryptionExample
	MachineSystemDiskEncryption *SystemDiskEncryptionConfig `yaml:"systemDiskEncryption,omitempty"`
	//   description: |
	//     Features describe individual Talos features that can be switched on or off.
	//   examples:
	//     - value: machineFeaturesExample
	MachineFeatures *FeaturesConfig `yaml:"features,omitempty"`
	//   description: |
	//     Configures the udev system.
	//   examples:
	//     - value: machineUdevExample
	MachineUdev *UdevConfig `yaml:"udev,omitempty"`
	//   description: |
	//     Configures the logging system.
	//   examples:
	//     - value: machineLoggingExample
	MachineLogging *LoggingConfig `yaml:"logging,omitempty"`
	//   description: |
	//     Configures the kernel.
	//   examples:
	//     - value: machineKernelExample
	MachineKernel *KernelConfig `yaml:"kernel,omitempty"`
	//  description: |
	//    Configures the seccomp profiles for the machine.
	//  examples:
	//    - value: machineSeccompExample
	MachineSeccompProfiles []*MachineSeccompProfile `yaml:"seccompProfiles,omitempty" talos:"omitonlyifnil"`
	//  description: |
	//    Configures the node labels for the machine.
	//  examples:
	//    - name: node labels example.
	//      value: 'map[string]string{"exampleLabel": "exampleLabelValue"}'
	MachineNodeLabels map[string]string `yaml:"nodeLabels,omitempty"`
}

MachineConfig represents the machine-specific config values.

examples:
   - value: machineConfigExample

func (*MachineConfig) CA

CA implements the config.Provider interface.

func (*MachineConfig) CertSANs

func (m *MachineConfig) CertSANs() []string

CertSANs implements the config.Provider interface.

func (*MachineConfig) Controlplane

func (m *MachineConfig) Controlplane() config.MachineControlPlane

Controlplane implements the config.Provider interface.

func (*MachineConfig) DeepCopy

func (in *MachineConfig) DeepCopy() *MachineConfig

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

func (*MachineConfig) DeepCopyInto

func (in *MachineConfig) DeepCopyInto(out *MachineConfig)

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

func (*MachineConfig) Disks

func (m *MachineConfig) Disks() []config.Disk

Disks implements the config.Provider interface.

func (MachineConfig) Doc

func (_ MachineConfig) Doc() *encoder.Doc

func (*MachineConfig) Env

func (m *MachineConfig) Env() config.Env

Env implements the config.Provider interface.

func (*MachineConfig) Features

func (m *MachineConfig) Features() config.Features

Features implements the config.MachineConfig interface.

func (*MachineConfig) Files

func (m *MachineConfig) Files() ([]config.File, error)

Files implements the config.Provider interface.

func (*MachineConfig) Install

func (m *MachineConfig) Install() config.Install

Install implements the config.Provider interface.

func (*MachineConfig) Kernel

func (m *MachineConfig) Kernel() config.Kernel

Kernel implements the config.MachineConfig interface.

func (*MachineConfig) Kubelet

func (m *MachineConfig) Kubelet() config.Kubelet

Kubelet implements the config.Provider interface.

func (*MachineConfig) Logging

func (m *MachineConfig) Logging() config.Logging

Logging implements the config.MachineConfig interface.

func (*MachineConfig) Network

func (m *MachineConfig) Network() config.MachineNetwork

Network implements the config.Provider interface.

func (*MachineConfig) NodeLabels

func (m *MachineConfig) NodeLabels() config.NodeLabels

NodeLabels implements the config.Provider interface.

func (*MachineConfig) Pods

func (m *MachineConfig) Pods() []map[string]interface{}

Pods implements the config.Provider interface.

func (*MachineConfig) Registries

func (m *MachineConfig) Registries() config.Registries

Registries implements the config.Provider interface.

func (*MachineConfig) SeccompProfiles

func (m *MachineConfig) SeccompProfiles() []config.SeccompProfile

SeccompProfiles implements the config.Provider interface.

func (*MachineConfig) Security

func (m *MachineConfig) Security() config.Security

Security implements the config.Provider interface.

func (*MachineConfig) Server

func (m *MachineConfig) Server() string

Server implements the config.Provider interface.

func (*MachineConfig) Sysctls

func (m *MachineConfig) Sysctls() map[string]string

Sysctls implements the config.Provider interface.

func (*MachineConfig) Sysfs

func (m *MachineConfig) Sysfs() map[string]string

Sysfs implements the config.Provider interface.

func (*MachineConfig) SystemDiskEncryption

func (m *MachineConfig) SystemDiskEncryption() config.SystemDiskEncryption

SystemDiskEncryption implements the config.Provider interface.

func (*MachineConfig) Time

func (m *MachineConfig) Time() config.Time

Time implements the config.Provider interface.

func (*MachineConfig) Token

func (m *MachineConfig) Token() string

Token implements the config.Provider interface.

func (*MachineConfig) Type

func (m *MachineConfig) Type() machine.Type

Type implements the config.Provider interface.

func (*MachineConfig) Udev

func (m *MachineConfig) Udev() config.UdevConfig

Udev implements the config.MachineConfig interface.

type MachineControlPlaneConfig

type MachineControlPlaneConfig struct {
	//   description: |
	//     Controller manager machine specific configuration options.
	MachineControllerManager *MachineControllerManagerConfig `yaml:"controllerManager,omitempty"`
	//   description: |
	//     Scheduler machine specific configuration options.
	MachineScheduler *MachineSchedulerConfig `yaml:"scheduler,omitempty"`
}

MachineControlPlaneConfig machine specific configuration options.

func (*MachineControlPlaneConfig) ControllerManager

ControllerManager implements the config.Provider interface.

func (*MachineControlPlaneConfig) DeepCopy

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

func (*MachineControlPlaneConfig) DeepCopyInto

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

func (MachineControlPlaneConfig) Doc

func (*MachineControlPlaneConfig) Scheduler

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

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

func (*MachineControllerManagerConfig) DeepCopyInto

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

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

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

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

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) 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

type NetworkDeviceCheck func(*Device, map[string]string) ([]string, error)

NetworkDeviceCheck defines the function type for checks.

type NetworkDeviceList

type NetworkDeviceList []*Device

NetworkDeviceList is a list of *Device structures with overridden merge process.

func (NetworkDeviceList) DeepCopy

func (in NetworkDeviceList) DeepCopy() NetworkDeviceList

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

func (NetworkDeviceList) DeepCopyInto

func (in NetworkDeviceList) DeepCopyInto(out *NetworkDeviceList)

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

func (*NetworkDeviceList) Merge

func (devices *NetworkDeviceList) Merge(other interface{}) error

Merge the network interface configuration intelligently.

type NetworkDeviceSelector

type NetworkDeviceSelector struct {
	// description: PCI, USB bus prefix, supports matching by wildcard.
	NetworkDeviceBus string `yaml:"busPath,omitempty"`
	// description: Device hardware address, supports matching by wildcard.
	NetworkDeviceHardwareAddress string `yaml:"hardwareAddr,omitempty"`
	// description: PCI ID (vendor ID, product ID), supports matching by wildcard.
	NetworkDevicePCIID string `yaml:"pciID,omitempty"`
	// description: Kernel driver, supports matching by wildcard.
	NetworkDeviceKernelDriver string `yaml:"driver,omitempty"`
}

NetworkDeviceSelector struct describes network device selector.

func (*NetworkDeviceSelector) Bus

func (s *NetworkDeviceSelector) Bus() string

Bus implements config.NetworkDeviceSelector interface.

func (*NetworkDeviceSelector) DeepCopy

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) HardwareAddress

func (s *NetworkDeviceSelector) HardwareAddress() string

HardwareAddress implements config.NetworkDeviceSelector interface.

func (*NetworkDeviceSelector) KernelDriver

func (s *NetworkDeviceSelector) KernelDriver() string

KernelDriver implements config.NetworkDeviceSelector interface.

func (*NetworkDeviceSelector) PCIID

func (s *NetworkDeviceSelector) PCIID() string

PCIID implements config.NetworkDeviceSelector interface.

type NetworkKubeSpan

type NetworkKubeSpan struct {
	// description: |
	//   Enable the KubeSpan feature.
	//   Cluster discovery should be enabled with .cluster.discovery.enabled for KubeSpan to be enabled.
	KubeSpanEnabled *bool `yaml:"enabled,omitempty"`
	// description: |
	//   Control whether Kubernetes pod CIDRs are announced over KubeSpan from the node.
	//   If disabled, CNI handles encapsulating pod-to-pod traffic into some node-to-node tunnel,
	//   and KubeSpan handles the node-to-node traffic.
	//   If enabled, KubeSpan will take over pod-to-pod traffic and send it over KubeSpan directly.
	//   When enabled, KubeSpan should have a way to detect complete pod CIDRs of the node which
	//   is not always the case with CNIs not relying on Kubernetes for IPAM.
	KubeSpanAdvertiseKubernetesNetworks *bool `yaml:"advertiseKubernetesNetworks,omitempty"`
	// description: |
	//   Skip sending traffic via KubeSpan if the peer connection state is not up.
	//   This provides configurable choice between connectivity and security: either traffic is always
	//   forced to go via KubeSpan (even if Wireguard peer connection is not up), or traffic can go directly
	//   to the peer if Wireguard connection can't be established.
	KubeSpanAllowDownPeerBypass *bool `yaml:"allowDownPeerBypass,omitempty"`
	// description: |
	//   KubeSpan link MTU size.
	//   Default value is 1420.
	KubeSpanMTU *uint32 `yaml:"mtu,omitempty"`
	// description: |
	//   KubeSpan advanced filtering of network addresses .
	//
	//   Settings in this section are optional, and settings apply only to the node.
	KubeSpanFilters *KubeSpanFilters `yaml:"filters,omitempty"`
}

NetworkKubeSpan struct describes KubeSpan configuration.

func (*NetworkKubeSpan) AdvertiseKubernetesNetworks

func (k *NetworkKubeSpan) AdvertiseKubernetesNetworks() bool

AdvertiseKubernetesNetworks implements KubeSpan interface.

func (*NetworkKubeSpan) DeepCopy

func (in *NetworkKubeSpan) DeepCopy() *NetworkKubeSpan

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

func (*NetworkKubeSpan) DeepCopyInto

func (in *NetworkKubeSpan) DeepCopyInto(out *NetworkKubeSpan)

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

func (NetworkKubeSpan) Doc

func (_ NetworkKubeSpan) Doc() *encoder.Doc

func (*NetworkKubeSpan) Enabled

func (k *NetworkKubeSpan) Enabled() bool

Enabled implements KubeSpan interface.

func (*NetworkKubeSpan) Filters

func (k *NetworkKubeSpan) Filters() config.KubeSpanFilters

Filters implements the KubeSpan interface.

func (*NetworkKubeSpan) ForceRouting

func (k *NetworkKubeSpan) ForceRouting() bool

ForceRouting implements KubeSpan interface.

func (*NetworkKubeSpan) MTU

func (k *NetworkKubeSpan) MTU() uint32

MTU implements the KubeSpan interface.

type PodCheckpointer

type PodCheckpointer struct {
	//   description: |
	//     The `image` field is an override to the default pod-checkpointer image.
	PodCheckpointerImage string `yaml:"image,omitempty"`
}

PodCheckpointer represents the pod-checkpointer config values.

func (*PodCheckpointer) DeepCopy

func (in *PodCheckpointer) DeepCopy() *PodCheckpointer

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

func (*PodCheckpointer) DeepCopyInto

func (in *PodCheckpointer) DeepCopyInto(out *PodCheckpointer)

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

func (PodCheckpointer) Doc

func (_ PodCheckpointer) Doc() *encoder.Doc

type ProxyConfig

type ProxyConfig struct {
	//   description: |
	//     Disable kube-proxy deployment on cluster bootstrap.
	//   examples:
	//     - value: pointer.To(false)
	Disabled *bool `yaml:"disabled,omitempty"`
	//   description: |
	//     The container image used in the kube-proxy manifest.
	//   examples:
	//     - value: clusterProxyImageExample
	ContainerImage string `yaml:"image,omitempty"`
	//   description: |
	//     proxy mode of kube-proxy.
	//     The default is 'iptables'.
	ModeConfig string `yaml:"mode,omitempty"`
	//   description: |
	//     Extra arguments to supply to kube-proxy.
	ExtraArgsConfig map[string]string `yaml:"extraArgs,omitempty"`
}

ProxyConfig represents the kube proxy configuration options.

func (*ProxyConfig) DeepCopy

func (in *ProxyConfig) DeepCopy() *ProxyConfig

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

func (*ProxyConfig) DeepCopyInto

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

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

func (ProxyConfig) Doc

func (_ ProxyConfig) Doc() *encoder.Doc

func (*ProxyConfig) Enabled

func (p *ProxyConfig) Enabled() bool

Enabled implements the config.Proxy interface.

func (*ProxyConfig) ExtraArgs

func (p *ProxyConfig) ExtraArgs() map[string]string

ExtraArgs implements the config.Proxy interface.

func (*ProxyConfig) Image

func (p *ProxyConfig) Image() string

Image implements the config.Proxy interface.

func (*ProxyConfig) Mode

func (p *ProxyConfig) Mode() string

Mode implements the config.Proxy interface.

type RegistriesConfig

type RegistriesConfig struct {
	//   description: |
	//     Specifies mirror configuration for each registry host namespace.
	//     This setting allows to configure local pull-through caching registires,
	//     air-gapped installations, etc.
	//
	//     For example, when pulling an image with the reference `example.com:123/image:v1`,
	//     the `example.com:123` key will be used to lookup the mirror configuration.
	//
	//     Optionally the `*` key can be used to configure a fallback mirror.
	//
	//     Registry name is the first segment of image identifier, with 'docker.io'
	//     being default one.
	//   examples:
	//     - value: machineConfigRegistryMirrorsExample
	RegistryMirrors map[string]*RegistryMirrorConfig `yaml:"mirrors,omitempty"`
	//   description: |
	//     Specifies TLS & auth configuration for HTTPS image registries.
	//     Mutual TLS can be enabled with 'clientIdentity' option.
	//
	//     The full hostname and port (if not using a default port 443)
	//     should be used as the key.
	//     The fallback key `*` can't be used for TLS configuration.
	//
	//     TLS configuration can be skipped if registry has trusted
	//     server certificate.
	//   examples:
	//     - value: machineConfigRegistryConfigExample
	RegistryConfig map[string]*RegistryConfig `yaml:"config,omitempty"`
}

RegistriesConfig represents the image pull options.

func (*RegistriesConfig) Config

func (r *RegistriesConfig) Config() map[string]config.RegistryConfig

Config implements the Registries interface.

func (*RegistriesConfig) DeepCopy

func (in *RegistriesConfig) DeepCopy() *RegistriesConfig

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

func (*RegistriesConfig) DeepCopyInto

func (in *RegistriesConfig) DeepCopyInto(out *RegistriesConfig)

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

func (RegistriesConfig) Doc

func (_ RegistriesConfig) Doc() *encoder.Doc

func (*RegistriesConfig) Mirrors

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

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

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

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) 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

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

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) Enabled

func (c RegistryServiceConfig) Enabled() bool

Enabled implements the config.ServiceRegistry interface.

func (RegistryServiceConfig) Endpoint

func (c RegistryServiceConfig) Endpoint() string

Endpoint implements the config.ServiceRegistry interface.

type RegistryTLSConfig

type RegistryTLSConfig struct {
	//   description: |
	//     Enable mutual TLS authentication with the registry.
	//     Client certificate and key should be base64-encoded.
	//   examples:
	//     - value: pemEncodedCertificateExample
	//   schema:
	//     type: object
	//     additionalProperties: false
	//     properties:
	//       crt:
	//         type: string
	//       key:
	//         type: string
	TLSClientIdentity *x509.PEMEncodedCertificateAndKey `yaml:"clientIdentity,omitempty"`
	//   description: |
	//     CA registry certificate to add the list of trusted certificates.
	//     Certificate should be base64-encoded.
	//   schema:
	//     type: string
	TLSCA Base64Bytes `yaml:"ca,omitempty"`
	//   description: |
	//     Skip TLS server certificate verification (not recommended).
	TLSInsecureSkipVerify *bool `yaml:"insecureSkipVerify,omitempty"`
}

RegistryTLSConfig specifies TLS config for HTTPS registries.

func (*RegistryTLSConfig) CA

func (r *RegistryTLSConfig) CA() []byte

CA implements the Registries interface.

func (*RegistryTLSConfig) ClientIdentity

func (r *RegistryTLSConfig) ClientIdentity() *x509.PEMEncodedCertificateAndKey

ClientIdentity implements the Registries interface.

func (*RegistryTLSConfig) DeepCopy

func (in *RegistryTLSConfig) DeepCopy() *RegistryTLSConfig

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

func (*RegistryTLSConfig) DeepCopyInto

func (in *RegistryTLSConfig) DeepCopyInto(out *RegistryTLSConfig)

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

func (RegistryTLSConfig) Doc

func (_ RegistryTLSConfig) Doc() *encoder.Doc

func (*RegistryTLSConfig) GetTLSConfig

func (r *RegistryTLSConfig) GetTLSConfig() (*tls.Config, error)

GetTLSConfig prepares TLS configuration for connection.

func (*RegistryTLSConfig) InsecureSkipVerify

func (r *RegistryTLSConfig) InsecureSkipVerify() bool

InsecureSkipVerify implements the Registries interface.

type ResourcesConfig added in v1.5.0

type ResourcesConfig struct {
	//   description: |
	//     Requests configures the reserved cpu/memory resources.
	//   examples:
	//     - name: resources requests.
	//       value: resourcesConfigRequestsExample
	Requests Unstructured `yaml:"requests,omitempty"`
	//   description: |
	//     Limits configures the maximum cpu/memory resources a container can use.
	//   examples:
	//     - name: resources requests.
	//       value: resourcesConfigLimitsExample
	Limits Unstructured `yaml:"limits,omitempty"`
}

ResourcesConfig represents the pod resources.

func (*ResourcesConfig) CPULimits added in v1.5.0

func (r *ResourcesConfig) CPULimits() string

CPULimits implements the config.Resources interface.

func (*ResourcesConfig) CPURequests added in v1.5.0

func (r *ResourcesConfig) CPURequests() string

CPURequests implements the config.Resources interface.

func (*ResourcesConfig) DeepCopy added in v1.5.0

func (in *ResourcesConfig) DeepCopy() *ResourcesConfig

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

func (*ResourcesConfig) DeepCopyInto added in v1.5.0

func (in *ResourcesConfig) DeepCopyInto(out *ResourcesConfig)

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

func (ResourcesConfig) Doc added in v1.5.0

func (_ ResourcesConfig) Doc() *encoder.Doc

func (*ResourcesConfig) MemoryLimits added in v1.5.0

func (r *ResourcesConfig) MemoryLimits() string

MemoryLimits implements the config.Resources interface.

func (*ResourcesConfig) MemoryRequests added in v1.5.0

func (r *ResourcesConfig) MemoryRequests() string

MemoryRequests implements the config.Resources interface.

func (*ResourcesConfig) Validate added in v1.5.0

func (r *ResourcesConfig) Validate() error

Validate performs config validation.

type Route

type Route struct {
	//   description: The route's network (destination).
	RouteNetwork string `yaml:"network"`
	//   description: The route's gateway (if empty, creates link scope route).
	RouteGateway string `yaml:"gateway"`
	//   description: The route's source address (optional).
	RouteSource string `yaml:"source,omitempty"`
	//   description: The optional metric for the route.
	RouteMetric uint32 `yaml:"metric,omitempty"`
	//   description: The optional MTU for the route.
	RouteMTU uint32 `yaml:"mtu,omitempty"`
}

Route represents a network route.

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

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

func (*Route) DeepCopyInto

func (in *Route) DeepCopyInto(out *Route)

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

func (Route) Doc

func (_ Route) Doc() *encoder.Doc

func (*Route) Gateway

func (r *Route) Gateway() string

Gateway implements the MachineNetwork interface.

func (*Route) MTU

func (r *Route) MTU() uint32

MTU implements the MachineNetwork interface.

func (*Route) Metric

func (r *Route) Metric() uint32

Metric implements the MachineNetwork interface.

func (*Route) Network

func (r *Route) Network() string

Network implements the MachineNetwork interface.

func (*Route) Source

func (r *Route) Source() string

Source implements the MachineNetwork interface.

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

func (in *STP) DeepCopy() *STP

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

func (*STP) DeepCopyInto

func (in *STP) DeepCopyInto(out *STP)

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

func (STP) Doc

func (_ STP) Doc() *encoder.Doc

func (*STP) Enabled

func (s *STP) Enabled() bool

Enabled implements the config.STP interface.

type SchedulerConfig

type SchedulerConfig struct {
	//   description: |
	//     The container image used in the scheduler manifest.
	//   examples:
	//     - value: clusterSchedulerImageExample
	ContainerImage string `yaml:"image,omitempty"`
	//   description: |
	//     Extra arguments to supply to the scheduler.
	ExtraArgsConfig map[string]string `yaml:"extraArgs,omitempty"`
	//   description: |
	//     Extra volumes to mount to the scheduler static pod.
	ExtraVolumesConfig []VolumeMountConfig `yaml:"extraVolumes,omitempty"`
	//   description: |
	//     The `env` field allows for the addition of environment variables for the control plane component.
	//   schema:
	//     type: object
	//     patternProperties:
	//       ".*":
	//         type: string
	EnvConfig Env `yaml:"env,omitempty"`
	//   description: |
	//     Configure the scheduler resources.
	//   schema:
	//     type: object
	ResourcesConfig *ResourcesConfig `yaml:"resources,omitempty"`
}

SchedulerConfig represents the kube scheduler configuration options.

func (*SchedulerConfig) DeepCopy

func (in *SchedulerConfig) DeepCopy() *SchedulerConfig

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

func (*SchedulerConfig) DeepCopyInto

func (in *SchedulerConfig) DeepCopyInto(out *SchedulerConfig)

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

func (SchedulerConfig) Doc

func (_ SchedulerConfig) Doc() *encoder.Doc

func (*SchedulerConfig) Env

func (s *SchedulerConfig) Env() Env

Env implements the config.Scheduler interface.

func (*SchedulerConfig) ExtraArgs

func (s *SchedulerConfig) ExtraArgs() map[string]string

ExtraArgs implements the config.Scheduler interface.

func (*SchedulerConfig) ExtraVolumes

func (s *SchedulerConfig) ExtraVolumes() []config.VolumeMount

ExtraVolumes implements the config.Scheduler interface.

func (*SchedulerConfig) Image

func (s *SchedulerConfig) Image() string

Image implements the config.Scheduler interface.

func (*SchedulerConfig) Resources added in v1.5.0

func (s *SchedulerConfig) Resources() config.Resources

Resources implements the config.Resources interface.

func (*SchedulerConfig) Validate added in v1.5.0

func (s *SchedulerConfig) Validate() error

Validate performs config validation.

type SystemDiskEncryptionConfig

type SystemDiskEncryptionConfig struct {
	//   description: |
	//     State partition encryption.
	StatePartition *EncryptionConfig `yaml:"state,omitempty"`
	//   description: |
	//     Ephemeral partition encryption.
	EphemeralPartition *EncryptionConfig `yaml:"ephemeral,omitempty"`
}

SystemDiskEncryptionConfig specifies system disk partitions encryption settings.

func (*SystemDiskEncryptionConfig) DeepCopy

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

func (*SystemDiskEncryptionConfig) DeepCopyInto

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

func (SystemDiskEncryptionConfig) Doc

func (*SystemDiskEncryptionConfig) Get

Get implements the config.Provider interface.

type TimeConfig

type TimeConfig struct {
	//   description: |
	//     Indicates if the time service is disabled for the machine.
	//     Defaults to `false`.
	TimeDisabled *bool `yaml:"disabled,omitempty"`
	//   description: |
	//     Specifies time (NTP) servers to use for setting the system time.
	//     Defaults to `pool.ntp.org`
	TimeServers []string `yaml:"servers,omitempty"`
	//   description: |
	//     Specifies the timeout when the node time is considered to be in sync unlocking the boot sequence.
	//     NTP sync will be still running in the background.
	//     Defaults to "infinity" (waiting forever for time sync)
	//   schema:
	//     type: string
	//     pattern: ^[-+]?(((\d+(\.\d*)?|\d*(\.\d+)+)([nuµm]?s|m|h))|0)+$
	TimeBootTimeout time.Duration `yaml:"bootTimeout,omitempty"`
}

TimeConfig represents the options for configuring time on a machine.

func (*TimeConfig) BootTimeout

func (t *TimeConfig) BootTimeout() time.Duration

BootTimeout implements the config.Provider interface.

func (*TimeConfig) DeepCopy

func (in *TimeConfig) DeepCopy() *TimeConfig

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

func (*TimeConfig) DeepCopyInto

func (in *TimeConfig) DeepCopyInto(out *TimeConfig)

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

func (*TimeConfig) Disabled

func (t *TimeConfig) Disabled() bool

Disabled implements the config.Provider interface.

func (TimeConfig) Doc

func (_ TimeConfig) Doc() *encoder.Doc

func (*TimeConfig) Servers

func (t *TimeConfig) Servers() []string

Servers implements the config.Provider interface.

type UdevConfig

type UdevConfig struct {
	//   description: |
	//     List of udev rules to apply to the udev system
	UdevRules []string `yaml:"rules,omitempty"`
}

UdevConfig describes how the udev system should be configured.

func (*UdevConfig) DeepCopy

func (in *UdevConfig) DeepCopy() *UdevConfig

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

func (*UdevConfig) DeepCopyInto

func (in *UdevConfig) DeepCopyInto(out *UdevConfig)

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

func (UdevConfig) Doc

func (_ UdevConfig) Doc() *encoder.Doc

func (*UdevConfig) Rules

func (u *UdevConfig) Rules() []string

Rules implements config.Udev interface.

type Unstructured

type Unstructured struct {
	Object map[string]interface{} `yaml:",inline"`
}

Unstructured allows wrapping any map[string]interface{} into a config object.

docgen: nodoc +k8s:deepcopy-gen=true

func (*Unstructured) DeepCopy

func (in *Unstructured) DeepCopy() *Unstructured

DeepCopy performs copying of the Object contents.

func (*Unstructured) DeepCopyInto

func (in *Unstructured) DeepCopyInto(out *Unstructured)

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

type VIPEquinixMetalConfig

type VIPEquinixMetalConfig struct {
	// description: Specifies the Equinix Metal API Token.
	EquinixMetalAPIToken string `yaml:"apiToken"`
}

VIPEquinixMetalConfig contains settings for Equinix Metal VIP management.

func (*VIPEquinixMetalConfig) APIToken

func (v *VIPEquinixMetalConfig) APIToken() string

APIToken implements the config.VIPEquinixMetal interface.

func (*VIPEquinixMetalConfig) DeepCopy

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

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) Addresses

func (v *Vlan) Addresses() []string

Addresses implements the MachineNetwork interface.

func (*Vlan) DHCP

func (v *Vlan) DHCP() bool

DHCP implements the MachineNetwork interface.

func (*Vlan) DHCPOptions

func (v *Vlan) DHCPOptions() config.DHCPOptions

DHCPOptions implements the MachineNetwork interface.

func (*Vlan) DeepCopy

func (in *Vlan) DeepCopy() *Vlan

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

func (*Vlan) DeepCopyInto

func (in *Vlan) DeepCopyInto(out *Vlan)

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

func (Vlan) Doc

func (_ Vlan) Doc() *encoder.Doc

func (*Vlan) ID

func (v *Vlan) ID() uint16

ID implements the MachineNetwork interface.

func (*Vlan) MTU

func (v *Vlan) MTU() uint32

MTU implements the MachineNetwork interface.

func (*Vlan) Routes

func (v *Vlan) Routes() []config.Route

Routes implements the MachineNetwork interface.

func (*Vlan) VIPConfig

func (v *Vlan) VIPConfig() config.VIPConfig

VIPConfig implements the MachineNetwork interface.

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

func (in VlanList) DeepCopy() VlanList

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

func (VlanList) DeepCopyInto added in v1.4.0

func (in VlanList) DeepCopyInto(out *VlanList)

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

func (*VlanList) Merge added in v1.4.0

func (vlans *VlanList) Merge(other interface{}) error

Merge the network interface configuration intelligently.

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.

Directories

Path Synopsis
Package generate provides Talos machine configuration generation and client config generation.
Package generate provides Talos machine configuration generation and client config generation.
Package machine defines common machine type.
Package machine defines common machine type.

Jump to

Keyboard shortcuts

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