Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bond ¶
type Bond struct { Interfaces []string `yaml:"interfaces"` ARPIPTarget []string `yaml:"arpIPTarget"` Mode string `yaml:"mode"` HashPolicy string `yaml:"xmitHashPolicy"` LACPRate string `yaml:"lacpRate"` ADActorSystem string `yaml:"adActorSystem"` ARPValidate string `yaml:"arpValidate"` ARPAllTargets string `yaml:"arpAllTargets"` Primary string `yaml:"primary"` PrimaryReselect string `yaml:"primaryReselect"` FailOverMac string `yaml:"failOverMac"` ADSelect string `yaml:"adSelect"` MIIMon uint32 `yaml:"miimon"` UpDelay uint32 `yaml:"updelay"` DownDelay uint32 `yaml:"downdelay"` ARPInterval uint32 `yaml:"arpInterval"` ResendIGMP uint32 `yaml:"resendIgmp"` MinLinks uint32 `yaml:"minLinks"` LPInterval uint32 `yaml:"lpInterval"` PacketsPerSlave uint32 `yaml:"packetsPerSlave"` NumPeerNotif uint8 `yaml:"numPeerNotif"` TLBDynamicLB uint8 `yaml:"tlbDynamicLb"` AllSlavesActive uint8 `yaml:"allSlavesActive"` UseCarrier bool `yaml:"useCarrier"` ADActorSysPrio uint16 `yaml:"adActorSysPrio"` ADUserPortKey uint16 `yaml:"adUserPortKey"` PeerNotifyDelay uint32 `yaml:"peerNotifyDelay"` }
Bond contains the various options for configuring a bonded interface.
type Device ¶
type Device struct { Interface string `yaml:"interface"` CIDR string `yaml:"cidr"` Routes []Route `yaml:"routes"` Bond *Bond `yaml:"bond"` MTU int `yaml:"mtu"` DHCP bool `yaml:"dhcp"` Ignore bool `yaml:"ignore"` }
Device represents a network interface.
type Disk ¶
type Disk struct { Device string `yaml:"device,omitempty"` Partitions []Partition `yaml:"partitions,omitempty"` }
Disk represents the options available for partitioning, formatting, and mounting extra disks.
type File ¶
type File struct { Content string `yaml:"content"` Permissions os.FileMode `yaml:"permissions"` Path string `yaml:"path"` Op string `yaml:"op"` }
File represents a file to write to disk.
type Install ¶
type Install interface { Image() string Disk() string ExtraKernelArgs() []string Zero() bool Force() bool WithBootloader() bool }
Install defines the requirements for a config that pertains to install related options.
type Kubelet ¶
Kubelet defines the requirements for a config that pertains to kubelet related options.
type Machine ¶
type Machine interface { Install() Install Security() Security Network() Network Disks() []Disk Time() Time Env() Env Files() ([]File, error) Type() Type Kubelet() Kubelet Sysctls() map[string]string Registries() Registries }
Machine defines the requirements for a config that pertains to machine related options.
type Network ¶
type Network interface { Hostname() string SetHostname(string) Resolvers() []string Devices() []Device }
Network defines the requirements for a config that pertains to network related options.
type Partition ¶
type Partition struct { Size uint `yaml:"size,omitempty"` MountPoint string `yaml:"mountpoint,omitempty"` }
Partition represents the options for a device partition.
type Registries ¶ added in v0.4.0
type Registries interface { // Mirror config by registry host (first part of image reference). Mirrors() map[string]RegistryMirrorConfig // Registry config (auth, TLS) by hostname. Config() map[string]RegistryConfig // ExtraFiles generates TOML config for containerd CRI plugin. ExtraFiles() ([]File, error) }
Registries defines the configuration for image fetching.
type RegistryAuthConfig ¶ added in v0.4.0
type RegistryAuthConfig struct { // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in .docker/config.json. Username string `yaml:"username"` // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in .docker/config.json. Password string `yaml:"password"` // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in .docker/config.json. Auth string `yaml:"auth"` // description: | // Optional registry authentication. // The meaning of each field is the same with the corresponding field in .docker/config.json. IdentityToken string `yaml:"identityToken"` }
RegistryAuthConfig specifies authentication configuration for a registry.
type RegistryConfig ¶ added in v0.4.0
type RegistryConfig struct { TLS *RegistryTLSConfig `yaml:"tls,omitempty"` Auth *RegistryAuthConfig `yaml:"auth,omitempty"` }
RegistryConfig specifies auth & TLS config per registry.
type RegistryMirrorConfig ¶ added in v0.4.0
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`). Endpoints []string `yaml:"endpoints"` }
RegistryMirrorConfig represents mirror configuration for a registry.
type RegistryTLSConfig ¶ added in v0.4.0
type RegistryTLSConfig struct { // description: | // Enable mutual TLS authentication with the registry. // Client certificate and key should be base64-encoded. // examples: // - | // clientIdentity: // crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJIekNCMHF... // key: LS0tLS1CRUdJTiBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0KTUM... ClientIdentity *x509.PEMEncodedCertificateAndKey `yaml:"clientIdentity,omitempty"` // description: | // CA registry certificate to add the list of trusted certificates. // Certificate should be base64-encoded. CA []byte `yaml:"ca,omitempty"` // description: | // Skip TLS server certificate verification (not recommended). InsecureSkipVerify bool `yaml:"insecureSkipVerify,omitempty"` }
RegistryTLSConfig specifies TLS config for HTTPS registries.
func (*RegistryTLSConfig) GetTLSConfig ¶ added in v0.4.0
func (cfg *RegistryTLSConfig) GetTLSConfig() (*tls.Config, error)
GetTLSConfig prepares TLS configuration for connection.
type Security ¶
type Security interface { CA() *x509.PEMEncodedCertificateAndKey Token() string CertSANs() []string SetCertSANs([]string) }
Security defines the requirements for a config that pertains to security related options.
type Time ¶
type Time interface {
Servers() []string
}
Time defines the requirements for a config that pertains to time related options.