types

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: May 18, 2018 License: Apache-2.0 Imports: 22 Imported by: 13

Documentation

Index

Constants

View Source
const (
	BYTES_PER_SECTOR = 512
)

Variables

View Source
var (
	ErrPlatformUnspecified = fmt.Errorf("platform must be specified to use templating")
	ErrInvalidKey          = errors.New("Key is invalid (wrong type or not found")
	ErrNilNode             = errors.New("Ast node is nil")
	ErrKeyNotFound         = errors.New("Key not found")
)
View Source
var (
	EtcdVersionTooOld      = errors.New("Etcd version specified is not valid (too old)")
	EtcdMinorVersionTooNew = errors.New("Etcd minor version specified is too new, only options available in the previous minor version will be accepted")
	EtcdMajorVersionTooNew = errors.New("Etcd version is not valid (too new)")
	OldestEtcd             = *semver.New("2.3.0")
	EtcdDefaultVersion     = *semver.New("3.0.0")
)
View Source
var (
	DefaultFileMode = 0644
	DefaultDirMode  = 0755

	WarningUnsetFileMode = fmt.Errorf("mode unspecified for file, defaulting to %#o", DefaultFileMode)
	WarningUnsetDirMode  = fmt.Errorf("mode unspecified for directory, defaulting to %#o", DefaultDirMode)

	ErrTooManyFileSources = errors.New("only one of the following can be set: local, inline, remote.url")
)
View Source
var (
	ErrFlannelTooOld                  = errors.New("invalid flannel version (too old)")
	ErrFlannelMinorTooNew             = errors.New("flannel minor version too new. Only options available in the previous minor version will be supported")
	ErrNetConfigInvalidJSON           = errors.New("flannel network config doesn't appear to be valid JSON")
	ErrNetConfigProvidedAndKubeMgrSet = errors.New("flannel network config cannot be provided if kube_subnet_mgr is set")
	OldestFlannelVersion              = *semver.New("0.5.0")
	FlannelDefaultVersion             = *semver.New("0.6.0")
)
View Source
var (
	ErrMissingStartOrLength = errors.New("window-start and window-length must both be specified")
	ErrUnknownStrategy      = errors.New("unknown reboot strategy")
	ErrParsingWindowStart   = errors.New("couldn't parse window start")
	ErrUnknownDay           = errors.New("unknown day in window start")
	ErrParsingWindow        = errors.New("couldn't parse window start")
	ErrParsingLength        = errors.New("couldn't parse window length")
)
View Source
var (
	ErrUnknownGroup = errors.New("unknown update group")
)

Functions

func Convert added in v0.6.0

func Convert(in Config, platform string, ast astnode.AstNode) (ignTypes.Config, report.Report)

Types

type CaReference added in v0.8.0

type CaReference struct {
	Source       string       `yaml:"source"`
	Verification Verification `yaml:"verification"`
}

type Config

type Config struct {
	Ignition  Ignition   `yaml:"ignition"`
	Storage   Storage    `yaml:"storage"`
	Systemd   Systemd    `yaml:"systemd"`
	Networkd  Networkd   `yaml:"networkd"`
	Passwd    Passwd     `yaml:"passwd"`
	Etcd      *Etcd      `yaml:"etcd"`
	Flannel   *Flannel   `yaml:"flannel"`
	Update    *Update    `yaml:"update"`
	Docker    *Docker    `yaml:"docker"`
	Locksmith *Locksmith `yaml:"locksmith"`
}

type ConfigReference

type ConfigReference struct {
	Source       string       `yaml:"source"`
	Verification Verification `yaml:"verification"`
}

type Create

type Create struct {
	Force   bool     `yaml:"force"`
	Options []string `yaml:"options"`
}

type Directory added in v0.5.0

type Directory struct {
	Filesystem string     `yaml:"filesystem"`
	Path       string     `yaml:"path"`
	User       *FileUser  `yaml:"user"`
	Group      *FileGroup `yaml:"group"`
	Mode       *int       `yaml:"mode"`
	Overwrite  *bool      `yaml:"overwrite"`
}

func (Directory) ValidateMode added in v0.6.0

func (d Directory) ValidateMode() report.Report

type Disk

type Disk struct {
	Device     string      `yaml:"device"`
	WipeTable  bool        `yaml:"wipe_table"`
	Partitions []Partition `yaml:"partitions"`
}

type Docker added in v0.2.0

type Docker struct {
	Flags []string `yaml:"flags"`
}

type Etcd added in v0.2.0

type Etcd struct {
	Version *EtcdVersion `yaml:"version"`
	Options
}

Etcd is a stub for yaml unmarshalling that figures out which of the other Etcd structs to use and unmarshals to that. Options needs to be an embedded type so that the structure of the yaml tree matches the structure of the go config tree

func (*Etcd) UnmarshalYAML added in v0.2.0

func (etcd *Etcd) UnmarshalYAML(unmarshal func(interface{}) error) error

type Etcd2 added in v0.2.0

type Etcd2 struct {
	AdvertiseClientURLs      *string `yaml:"advertise_client_urls"         cli:"advertise-client-urls"`
	CAFile                   *string `` /* 141-byte string literal not displayed */
	CertFile                 *string `yaml:"cert_file"                     cli:"cert-file"`
	ClientCertAuth           *bool   `yaml:"client_cert_auth"              cli:"client-cert-auth"`
	CorsOrigins              *string `yaml:"cors"                          cli:"cors"`
	DataDir                  *string `yaml:"data_dir"                      cli:"data-dir"`
	Debug                    *bool   `yaml:"debug"                         cli:"debug"`
	Discovery                *string `yaml:"discovery"                     cli:"discovery"`
	DiscoveryFallback        *string `yaml:"discovery_fallback"            cli:"discovery-fallback"`
	DiscoverySRV             *string `yaml:"discovery_srv"                 cli:"discovery-srv"`
	DiscoveryProxy           *string `yaml:"discovery_proxy"               cli:"discovery-proxy"`
	ElectionTimeout          *int    `yaml:"election_timeout"              cli:"election-timeout"`
	EnablePprof              *bool   `yaml:"enable_pprof"                  cli:"enable-pprof"`
	ForceNewCluster          *bool   `yaml:"force_new_cluster"             cli:"force-new-cluster"`
	HeartbeatInterval        *int    `yaml:"heartbeat_interval"            cli:"heartbeat-interval"`
	InitialAdvertisePeerURLs *string `yaml:"initial_advertise_peer_urls"   cli:"initial-advertise-peer-urls"`
	InitialCluster           *string `yaml:"initial_cluster"               cli:"initial-cluster"`
	InitialClusterState      *string `yaml:"initial_cluster_state"         cli:"initial-cluster-state"`
	InitialClusterToken      *string `yaml:"initial_cluster_token"         cli:"initial-cluster-token"`
	KeyFile                  *string `yaml:"key_file"                      cli:"key-file"`
	ListenClientURLs         *string `yaml:"listen_client_urls"            cli:"listen-client-urls"`
	ListenPeerURLs           *string `yaml:"listen_peer_urls"              cli:"listen-peer-urls"`
	LogPackageLevels         *string `yaml:"log_package_levels"            cli:"log-package-levels"`
	MaxSnapshots             *int    `yaml:"max_snapshots"                 cli:"max-snapshots"`
	MaxWALs                  *int    `yaml:"max_wals"                      cli:"max-wals"`
	Name                     *string `yaml:"name"                          cli:"name"`
	PeerCAFile               *string `` /* 153-byte string literal not displayed */
	PeerCertFile             *string `yaml:"peer_cert_file"                cli:"peer-cert-file"`
	PeerKeyFile              *string `yaml:"peer_key_file"                 cli:"peer-key-file"`
	PeerClientCertAuth       *bool   `yaml:"peer_client_cert_auth"         cli:"peer-client-cert-auth"`
	PeerTrustedCAFile        *string `yaml:"peer_trusted_ca_file"          cli:"peer-trusted-ca-file"`
	Proxy                    *string `yaml:"proxy"                         cli:"proxy"                       valid:"^(on|off|readonly)$"`
	ProxyDialTimeout         *int    `yaml:"proxy_dial_timeout"            cli:"proxy-dial-timeout"`
	ProxyFailureWait         *int    `yaml:"proxy_failure_wait"            cli:"proxy-failure-wait"`
	ProxyReadTimeout         *int    `yaml:"proxy_read_timeout"            cli:"proxy-read-timeout"`
	ProxyRefreshInterval     *int    `yaml:"proxy_refresh_interval"        cli:"proxy-refresh-interval"`
	ProxyWriteTimeout        *int    `yaml:"proxy_write_timeout"           cli:"proxy-write-timeout"`
	SnapshotCount            *int    `yaml:"snapshot_count"                cli:"snapshot-count"`
	StrictReconfigCheck      *bool   `yaml:"strict_reconfig_check"         cli:"strict-reconfig-check"`
	TrustedCAFile            *string `yaml:"trusted_ca_file"               cli:"trusted-ca-file"`
	WalDir                   *string `yaml:"wal_dir"                       cli:"wal-dir"`
}

type Etcd3_0 added in v0.2.0

type Etcd3_0 struct {
	Name                     *string `yaml:"name"                        cli:"name"`
	DataDir                  *string `yaml:"data_dir"                    cli:"data-dir"`
	WalDir                   *string `yaml:"wal_dir"                     cli:"wal-dir"`
	SnapshotCount            *int    `yaml:"snapshot_count"              cli:"snapshot-count"`
	HeartbeatInterval        *int    `yaml:"heartbeat_interval"          cli:"heartbeat-interval"`
	ElectionTimeout          *int    `yaml:"election_timeout"            cli:"election-timeout"`
	EnablePprof              *bool   `yaml:"enable_pprof"                cli:"enable-pprof"`
	ListenPeerUrls           *string `yaml:"listen_peer_urls"            cli:"listen-peer-urls"`
	ListenClientUrls         *string `yaml:"listen_client_urls"          cli:"listen-client-urls"`
	MaxSnapshots             *int    `yaml:"max_snapshots"               cli:"max-snapshots"`
	MaxWals                  *int    `yaml:"max_wals"                    cli:"max-wals"`
	Cors                     *string `yaml:"cors"                        cli:"cors"`
	InitialAdvertisePeerUrls *string `yaml:"initial_advertise_peer_urls" cli:"initial-advertise-peer-urls"`
	InitialCluster           *string `yaml:"initial_cluster"             cli:"initial-cluster"`
	InitialClusterState      *string `yaml:"initial_cluster_state"       cli:"initial-cluster-state"`
	InitialClusterToken      *string `yaml:"initial_cluster_token"       cli:"initial-cluster-token"`
	AdvertiseClientUrls      *string `yaml:"advertise_client_urls"       cli:"advertise-client-urls"`
	Discovery                *string `yaml:"discovery"                   cli:"discovery"`
	DiscoverySrv             *string `yaml:"discovery_srv"               cli:"discovery-srv"`
	DiscoveryFallback        *string `yaml:"discovery_fallback"          cli:"discovery-fallback"`
	DiscoveryProxy           *string `yaml:"discovery_proxy"             cli:"discovery-proxy"`
	StrictReconfigCheck      *bool   `yaml:"strict_reconfig_check"       cli:"strict-reconfig-check"`
	AutoCompactionRetention  *int    `yaml:"auto_compaction_retention"   cli:"auto-compaction-retention"`
	Proxy                    *string `yaml:"proxy"                       cli:"proxy"`
	ProxyFailureWait         *int    `yaml:"proxy_failure_wait"          cli:"proxy-failure-wait"`
	ProxyRefreshInterval     *int    `yaml:"proxy_refresh_interval"      cli:"proxy-refresh-interval"`
	ProxyDialTimeout         *int    `yaml:"proxy_dial_timeout"          cli:"proxy-dial-timeout"`
	ProxyWriteTimeout        *int    `yaml:"proxy_write_timeout"         cli:"proxy-write-timeout"`
	ProxyReadTimeout         *int    `yaml:"proxy_read_timeout"          cli:"proxy-read-timeout"`
	CaFile                   *string `` /* 139-byte string literal not displayed */
	CertFile                 *string `yaml:"cert_file"                   cli:"cert-file"`
	KeyFile                  *string `yaml:"key_file"                    cli:"key-file"`
	ClientCertAuth           *bool   `yaml:"client_cert_auth"            cli:"client-cert-auth"`
	TrustedCaFile            *string `yaml:"trusted_ca_file"             cli:"trusted-ca-file"`
	AutoTls                  *bool   `yaml:"auto_tls"                    cli:"auto-tls"`
	PeerCaFile               *string `` /* 151-byte string literal not displayed */
	PeerCertFile             *string `yaml:"peer_cert_file"              cli:"peer-cert-file"`
	PeerKeyFile              *string `yaml:"peer_key_file"               cli:"peer-key-file"`
	PeerClientCertAuth       *bool   `yaml:"peer_client_cert_auth"       cli:"peer-client-cert-auth"`
	PeerTrustedCaFile        *string `yaml:"peer_trusted_ca_file"        cli:"peer-trusted-ca-file"`
	PeerAutoTls              *bool   `yaml:"peer_auto_tls"               cli:"peer-auto-tls"`
	Debug                    *bool   `yaml:"debug"                       cli:"debug"`
	LogPackageLevels         *string `yaml:"log_package_levels"          cli:"log-package-levels"`
	ForceNewCluster          *bool   `yaml:"force_new_cluster"           cli:"force-new-cluster"`
}

type Etcd3_1 added in v0.2.0

type Etcd3_1 struct {
	Name                     *string `yaml:"name"                        cli:"name"`
	DataDir                  *string `yaml:"data_dir"                    cli:"data-dir"`
	WalDir                   *string `yaml:"wal_dir"                     cli:"wal-dir"`
	SnapshotCount            *int    `yaml:"snapshot_count"              cli:"snapshot-count"`
	HeartbeatInterval        *int    `yaml:"heartbeat_interval"          cli:"heartbeat-interval"`
	ElectionTimeout          *int    `yaml:"election_timeout"            cli:"election-timeout"`
	EnablePprof              *bool   `yaml:"enable_pprof"                cli:"enable-pprof"`
	ListenPeerUrls           *string `yaml:"listen_peer_urls"            cli:"listen-peer-urls"`
	ListenClientUrls         *string `yaml:"listen_client_urls"          cli:"listen-client-urls"`
	MaxSnapshots             *int    `yaml:"max_snapshots"               cli:"max-snapshots"`
	MaxWals                  *int    `yaml:"max_wals"                    cli:"max-wals"`
	Cors                     *string `yaml:"cors"                        cli:"cors"`
	InitialAdvertisePeerUrls *string `yaml:"initial_advertise_peer_urls" cli:"initial-advertise-peer-urls"`
	InitialCluster           *string `yaml:"initial_cluster"             cli:"initial-cluster"`
	InitialClusterState      *string `yaml:"initial_cluster_state"       cli:"initial-cluster-state"`
	InitialClusterToken      *string `yaml:"initial_cluster_token"       cli:"initial-cluster-token"`
	AdvertiseClientUrls      *string `yaml:"advertise_client_urls"       cli:"advertise-client-urls"`
	Discovery                *string `yaml:"discovery"                   cli:"discovery"`
	DiscoverySrv             *string `yaml:"discovery_srv"               cli:"discovery-srv"`
	DiscoveryFallback        *string `yaml:"discovery_fallback"          cli:"discovery-fallback"`
	DiscoveryProxy           *string `yaml:"discovery_proxy"             cli:"discovery-proxy"`
	StrictReconfigCheck      *bool   `yaml:"strict_reconfig_check"       cli:"strict-reconfig-check"`
	AutoCompactionRetention  *int    `yaml:"auto_compaction_retention"   cli:"auto-compaction-retention"`
	Proxy                    *string `yaml:"proxy"                       cli:"proxy"`
	ProxyFailureWait         *int    `yaml:"proxy_failure_wait"          cli:"proxy-failure-wait"`
	ProxyRefreshInterval     *int    `yaml:"proxy_refresh_interval"      cli:"proxy-refresh-interval"`
	ProxyDialTimeout         *int    `yaml:"proxy_dial_timeout"          cli:"proxy-dial-timeout"`
	ProxyWriteTimeout        *int    `yaml:"proxy_write_timeout"         cli:"proxy-write-timeout"`
	ProxyReadTimeout         *int    `yaml:"proxy_read_timeout"          cli:"proxy-read-timeout"`
	CaFile                   *string `` /* 139-byte string literal not displayed */
	CertFile                 *string `yaml:"cert_file"                   cli:"cert-file"`
	KeyFile                  *string `yaml:"key_file"                    cli:"key-file"`
	ClientCertAuth           *bool   `yaml:"client_cert_auth"            cli:"client-cert-auth"`
	TrustedCaFile            *string `yaml:"trusted_ca_file"             cli:"trusted-ca-file"`
	AutoTls                  *bool   `yaml:"auto_tls"                    cli:"auto-tls"`
	PeerCaFile               *string `` /* 151-byte string literal not displayed */
	PeerCertFile             *string `yaml:"peer_cert_file"              cli:"peer-cert-file"`
	PeerKeyFile              *string `yaml:"peer_key_file"               cli:"peer-key-file"`
	PeerClientCertAuth       *bool   `yaml:"peer_client_cert_auth"       cli:"peer-client-cert-auth"`
	PeerTrustedCaFile        *string `yaml:"peer_trusted_ca_file"        cli:"peer-trusted-ca-file"`
	PeerAutoTls              *bool   `yaml:"peer_auto_tls"               cli:"peer-auto-tls"`
	Debug                    *bool   `yaml:"debug"                       cli:"debug"`
	LogPackageLevels         *string `yaml:"log_package_levels"          cli:"log-package-levels"`
	ForceNewCluster          *bool   `yaml:"force_new_cluster"           cli:"force-new-cluster"`
	Metrics                  *string `yaml:"metrics"                     cli:"metrics"`
	LogOutput                *string `yaml:"log_output"                  cli:"log-output"`
}

type Etcd3_2 added in v0.4.0

type Etcd3_2 struct {
	Name                     *string `yaml:"name"                        cli:"name"`
	DataDir                  *string `yaml:"data_dir"                    cli:"data-dir"`
	WalDir                   *string `yaml:"wal_dir"                     cli:"wal-dir"`
	SnapshotCount            *int    `yaml:"snapshot_count"              cli:"snapshot-count"`
	HeartbeatInterval        *int    `yaml:"heartbeat_interval"          cli:"heartbeat-interval"`
	ElectionTimeout          *int    `yaml:"election_timeout"            cli:"election-timeout"`
	EnablePprof              *bool   `yaml:"enable_pprof"                cli:"enable-pprof"`
	EnableV2                 *bool   `yaml:"enable_v2"                   cli:"enable-v2"`
	ListenPeerUrls           *string `yaml:"listen_peer_urls"            cli:"listen-peer-urls"`
	ListenClientUrls         *string `yaml:"listen_client_urls"          cli:"listen-client-urls"`
	MaxSnapshots             *int    `yaml:"max_snapshots"               cli:"max-snapshots"`
	MaxWals                  *int    `yaml:"max_wals"                    cli:"max-wals"`
	Cors                     *string `yaml:"cors"                        cli:"cors"`
	InitialAdvertisePeerUrls *string `yaml:"initial_advertise_peer_urls" cli:"initial-advertise-peer-urls"`
	InitialCluster           *string `yaml:"initial_cluster"             cli:"initial-cluster"`
	InitialClusterState      *string `yaml:"initial_cluster_state"       cli:"initial-cluster-state"`
	InitialClusterToken      *string `yaml:"initial_cluster_token"       cli:"initial-cluster-token"`
	AdvertiseClientUrls      *string `yaml:"advertise_client_urls"       cli:"advertise-client-urls"`
	Discovery                *string `yaml:"discovery"                   cli:"discovery"`
	DiscoverySrv             *string `yaml:"discovery_srv"               cli:"discovery-srv"`
	DiscoveryFallback        *string `yaml:"discovery_fallback"          cli:"discovery-fallback"`
	DiscoveryProxy           *string `yaml:"discovery_proxy"             cli:"discovery-proxy"`
	StrictReconfigCheck      *bool   `yaml:"strict_reconfig_check"       cli:"strict-reconfig-check"`
	AutoCompactionRetention  *int    `yaml:"auto_compaction_retention"   cli:"auto-compaction-retention"`
	Proxy                    *string `yaml:"proxy"                       cli:"proxy"`
	ProxyFailureWait         *int    `yaml:"proxy_failure_wait"          cli:"proxy-failure-wait"`
	ProxyRefreshInterval     *int    `yaml:"proxy_refresh_interval"      cli:"proxy-refresh-interval"`
	ProxyDialTimeout         *int    `yaml:"proxy_dial_timeout"          cli:"proxy-dial-timeout"`
	ProxyWriteTimeout        *int    `yaml:"proxy_write_timeout"         cli:"proxy-write-timeout"`
	ProxyReadTimeout         *int    `yaml:"proxy_read_timeout"          cli:"proxy-read-timeout"`
	CaFile                   *string `` /* 139-byte string literal not displayed */
	CertFile                 *string `yaml:"cert_file"                   cli:"cert-file"`
	KeyFile                  *string `yaml:"key_file"                    cli:"key-file"`
	ClientCertAuth           *bool   `yaml:"client_cert_auth"            cli:"client-cert-auth"`
	TrustedCaFile            *string `yaml:"trusted_ca_file"             cli:"trusted-ca-file"`
	AutoTls                  *bool   `yaml:"auto_tls"                    cli:"auto-tls"`
	PeerCaFile               *string `` /* 151-byte string literal not displayed */
	PeerCertFile             *string `yaml:"peer_cert_file"              cli:"peer-cert-file"`
	PeerKeyFile              *string `yaml:"peer_key_file"               cli:"peer-key-file"`
	PeerClientCertAuth       *bool   `yaml:"peer_client_cert_auth"       cli:"peer-client-cert-auth"`
	PeerTrustedCaFile        *string `yaml:"peer_trusted_ca_file"        cli:"peer-trusted-ca-file"`
	PeerAutoTls              *bool   `yaml:"peer_auto_tls"               cli:"peer-auto-tls"`
	AuthToken                *string `yaml:"auth_token"                  cli:"auth-token"`
	Debug                    *bool   `yaml:"debug"                       cli:"debug"`
	LogPackageLevels         *string `yaml:"log_package_levels"          cli:"log-package-levels"`
	ForceNewCluster          *bool   `yaml:"force_new_cluster"           cli:"force-new-cluster"`
	Metrics                  *string `yaml:"metrics"                     cli:"metrics"`
	LogOutput                *string `yaml:"log_output"                  cli:"log-output"`
}

type Etcd3_3 added in v0.7.0

type Etcd3_3 struct {
	Name                            *string `yaml:"name"                               cli:"name"`
	DataDir                         *string `yaml:"data_dir"                           cli:"data-dir"`
	WalDir                          *string `yaml:"wal_dir"                            cli:"wal-dir"`
	SnapshotCount                   *int    `yaml:"snapshot_count"                     cli:"snapshot-count"`
	HeartbeatInterval               *int    `yaml:"heartbeat_interval"                 cli:"heartbeat-interval"`
	ElectionTimeout                 *int    `yaml:"election_timeout"                   cli:"election-timeout"`
	EnablePprof                     *bool   `yaml:"enable_pprof"                       cli:"enable-pprof"`
	EnableV2                        *bool   `yaml:"enable_v2"                          cli:"enable-v2"`
	ListenPeerUrls                  *string `yaml:"listen_peer_urls"                   cli:"listen-peer-urls"`
	ListenClientUrls                *string `yaml:"listen_client_urls"                 cli:"listen-client-urls"`
	MaxSnapshots                    *int    `yaml:"max_snapshots"                      cli:"max-snapshots"`
	MaxWals                         *int    `yaml:"max_wals"                           cli:"max-wals"`
	Cors                            *string `yaml:"cors"                               cli:"cors"`
	QuotaBackendBytes               *int    `yaml:"quota_backend_bytes"                cli:"quota-backend-bytes"`
	MaxTxnOps                       *int    `yaml:"max_txn_ops"                        cli:"max-txn-ops"`
	MaxRequestBytes                 *int    `yaml:"max_request_bytes"                  cli:"max-request-bytes"`
	GrpcKeepaliveMinTime            *string `yaml:"grpc_keepalive_min_time"            cli:"grpc-keepalive-min-time"`
	GrpcKeepaliveInterval           *string `yaml:"grpc_keepalive_interval"            cli:"grpc-keepalive-interval"`
	GrpcKeepaliveTimeout            *string `yaml:"grpc_keepalive_timeout"             cli:"grpc-keepalive-timeout"`
	InitialAdvertisePeerUrls        *string `yaml:"initial_advertise_peer_urls"        cli:"initial-advertise-peer-urls"`
	InitialCluster                  *string `yaml:"initial_cluster"                    cli:"initial-cluster"`
	InitialClusterState             *string `yaml:"initial_cluster_state"              cli:"initial-cluster-state"`
	InitialClusterToken             *string `yaml:"initial_cluster_token"              cli:"initial-cluster-token"`
	AdvertiseClientUrls             *string `yaml:"advertise_client_urls"              cli:"advertise-client-urls"`
	Discovery                       *string `yaml:"discovery"                          cli:"discovery"`
	DiscoverySrv                    *string `yaml:"discovery_srv"                      cli:"discovery-srv"`
	DiscoveryFallback               *string `yaml:"discovery_fallback"                 cli:"discovery-fallback"`
	DiscoveryProxy                  *string `yaml:"discovery_proxy"                    cli:"discovery-proxy"`
	StrictReconfigCheck             *bool   `yaml:"strict_reconfig_check"              cli:"strict-reconfig-check"`
	AutoCompactionRetention         *string `yaml:"auto_compaction_retention"          cli:"auto-compaction-retention"`
	AutoCompactionMode              *string `yaml:"auto_compaction_mode"               cli:"auto-compaction-mode"`
	Proxy                           *string `yaml:"proxy"                              cli:"proxy"`
	ProxyFailureWait                *int    `yaml:"proxy_failure_wait"                 cli:"proxy-failure-wait"`
	ProxyRefreshInterval            *int    `yaml:"proxy_refresh_interval"             cli:"proxy-refresh-interval"`
	ProxyDialTimeout                *int    `yaml:"proxy_dial_timeout"                 cli:"proxy-dial-timeout"`
	ProxyWriteTimeout               *int    `yaml:"proxy_write_timeout"                cli:"proxy-write-timeout"`
	ProxyReadTimeout                *int    `yaml:"proxy_read_timeout"                 cli:"proxy-read-timeout"`
	CaFile                          *string `` /* 146-byte string literal not displayed */
	CertFile                        *string `yaml:"cert_file"                          cli:"cert-file"`
	KeyFile                         *string `yaml:"key_file"                           cli:"key-file"`
	ClientCertAuth                  *bool   `yaml:"client_cert_auth"                   cli:"client-cert-auth"`
	ClientCrlFile                   *string `yaml:"client_crl_file"                    cli:"client-crl-file"`
	TrustedCaFile                   *string `yaml:"trusted_ca_file"                    cli:"trusted-ca-file"`
	AutoTls                         *bool   `yaml:"auto_tls"                           cli:"auto-tls"`
	PeerCaFile                      *string `` /* 158-byte string literal not displayed */
	PeerCertFile                    *string `yaml:"peer_cert_file"                     cli:"peer-cert-file"`
	PeerKeyFile                     *string `yaml:"peer_key_file"                      cli:"peer-key-file"`
	PeerClientCertAuth              *bool   `yaml:"peer_client_cert_auth"              cli:"peer-client-cert-auth"`
	PeerCrlFile                     *string `yaml:"peer_crl_file"                      cli:"peer-crl-file"`
	PeerTrustedCaFile               *string `yaml:"peer_trusted_ca_file"               cli:"peer-trusted-ca-file"`
	PeerAutoTls                     *bool   `yaml:"peer_auto_tls"                      cli:"peer-auto-tls"`
	PeerCertAllowedCn               *string `yaml:"peer_cert_allowed_cn"               cli:"peer-cert-allowed-cn"`
	AuthToken                       *string `yaml:"auth_token"                         cli:"auth-token"`
	Debug                           *bool   `yaml:"debug"                              cli:"debug"`
	LogPackageLevels                *string `yaml:"log_package_levels"                 cli:"log-package-levels"`
	ForceNewCluster                 *bool   `yaml:"force_new_cluster"                  cli:"force-new-cluster"`
	Metrics                         *string `yaml:"metrics"                            cli:"metrics"`
	LogOutput                       *string `yaml:"log_output"                         cli:"log-output"`
	ListenMetricsUrls               *string `yaml:"listen_metrics_urls"                cli:"listen-metrics-urls"`
	ExperimentalInitialCorruptCheck *bool   `yaml:"experimental_initial_corrupt_check" cli:"experimental-initial-corrupt-check"`
	ExperimentalCorruptCheckTime    *string `yaml:"experimental_corrupt_check_time"    cli:"experimental-corrupt-check-time"`
	ExperimentalEnableV2V3          *string `yaml:"experimental_enable_v2v3"           cli:"experimental-enable-v2v3"`
}

type EtcdVersion added in v0.2.0

type EtcdVersion semver.Version

func (EtcdVersion) String added in v0.2.0

func (e EtcdVersion) String() string

func (*EtcdVersion) UnmarshalYAML added in v0.2.0

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

func (EtcdVersion) Validate added in v0.2.0

func (e EtcdVersion) Validate() report.Report

type File

type File struct {
	Filesystem string       `yaml:"filesystem"`
	Path       string       `yaml:"path"`
	User       *FileUser    `yaml:"user"`
	Group      *FileGroup   `yaml:"group"`
	Mode       *int         `yaml:"mode"`
	Contents   FileContents `yaml:"contents"`
	Overwrite  *bool        `yaml:"overwrite"`
	Append     bool         `yaml:"append"`
}

func (File) ValidateMode added in v0.6.0

func (f File) ValidateMode() report.Report

type FileContents

type FileContents struct {
	Remote Remote `yaml:"remote"`
	Inline string `yaml:"inline"`
	Local  string `yaml:"local"`
}

func (FileContents) Validate added in v0.8.0

func (fc FileContents) Validate() report.Report

type FileGroup

type FileGroup struct {
	Id   *int   `yaml:"id"`
	Name string `yaml:"name"`
}

type FileUser

type FileUser struct {
	Id   *int   `yaml:"id"`
	Name string `yaml:"name"`
}

type Filesystem

type Filesystem struct {
	Name  string  `yaml:"name"`
	Mount *Mount  `yaml:"mount"`
	Path  *string `yaml:"path"`
}

type Flannel added in v0.2.0

type Flannel struct {
	Version       *FlannelVersion `yaml:"version"`
	NetworkConfig NetworkConfig   `yaml:"network_config"`
	Options
}

func (*Flannel) UnmarshalYAML added in v0.2.0

func (flannel *Flannel) UnmarshalYAML(unmarshal func(interface{}) error) error

func (*Flannel) Validate added in v0.4.0

func (f *Flannel) Validate() report.Report

type Flannel0_5 added in v0.2.0

type Flannel0_5 struct {
	EtcdEndpoints *string `yaml:"etcd_endpoints" cli:"etcd-endpoints"`
	EtcdCAFile    *string `yaml:"etcd_cafile"    cli:"etcd-cafile"`
	EtcdCertFile  *string `yaml:"etcd_certfile"  cli:"etcd-certfile"`
	EtcdKeyFile   *string `yaml:"etcd_keyfile"   cli:"etcd-keyfile"`
	EtcdPrefix    *string `yaml:"etcd_prefix"    cli:"etcd-prefix"`
	IPMasq        *string `yaml:"ip_masq"        cli:"ip-masq"`
	SubnetFile    *string `yaml:"subnet_file"    cli:"subnet-file"`
	Iface         *string `yaml:"interface"      cli:"iface"`
	PublicIP      *string `yaml:"public_ip"      cli:"public-ip"`
}

type Flannel0_6 added in v0.2.0

type Flannel0_6 struct {
	EtcdUsername  *string `yaml:"etcd_username"  cli:"etcd-username"`
	EtcdPassword  *string `yaml:"etcd_password"  cli:"etcd-password"`
	EtcdEndpoints *string `yaml:"etcd_endpoints" cli:"etcd-endpoints"`
	EtcdCAFile    *string `yaml:"etcd_cafile"    cli:"etcd-cafile"`
	EtcdCertFile  *string `yaml:"etcd_certfile"  cli:"etcd-certfile"`
	EtcdKeyFile   *string `yaml:"etcd_keyfile"   cli:"etcd-keyfile"`
	EtcdPrefix    *string `yaml:"etcd_prefix"    cli:"etcd-prefix"`
	IPMasq        *string `yaml:"ip_masq"        cli:"ip-masq"`
	SubnetFile    *string `yaml:"subnet_file"    cli:"subnet-file"`
	Iface         *string `yaml:"interface"      cli:"iface"`
	PublicIP      *string `yaml:"public_ip"      cli:"public-ip"`
}

type Flannel0_7 added in v0.2.0

type Flannel0_7 struct {
	EtcdUsername  *string `yaml:"etcd_username"   cli:"etcd-username"`
	EtcdPassword  *string `yaml:"etcd_password"   cli:"etcd-password"`
	EtcdEndpoints *string `yaml:"etcd_endpoints"  cli:"etcd-endpoints"`
	EtcdCAFile    *string `yaml:"etcd_cafile"     cli:"etcd-cafile"`
	EtcdCertFile  *string `yaml:"etcd_certfile"   cli:"etcd-certfile"`
	EtcdKeyFile   *string `yaml:"etcd_keyfile"    cli:"etcd-keyfile"`
	EtcdPrefix    *string `yaml:"etcd_prefix"     cli:"etcd-prefix"`
	IPMasq        *string `yaml:"ip_masq"         cli:"ip-masq"`
	SubnetFile    *string `yaml:"subnet_file"     cli:"subnet-file"`
	Iface         *string `yaml:"interface"       cli:"iface"`
	PublicIP      *string `yaml:"public_ip"       cli:"public-ip"`
	KubeSubnetMgr *bool   `yaml:"kube_subnet_mgr" cli:"kube-subnet-mgr"`
}

Flannel0_7 represents flannel options for version 0.7.x. Don't embed Flannel0_6 because the yaml parser doesn't handle embedded structs

type FlannelVersion added in v0.2.0

type FlannelVersion semver.Version

func (FlannelVersion) String added in v0.2.0

func (fv FlannelVersion) String() string

func (*FlannelVersion) UnmarshalYAML added in v0.2.0

func (v *FlannelVersion) UnmarshalYAML(unmarshal func(interface{}) error) error

func (FlannelVersion) Validate added in v0.2.0

func (fv FlannelVersion) Validate() report.Report

type Group

type Group struct {
	Name         string `yaml:"name"`
	Gid          *uint  `yaml:"gid"`
	PasswordHash string `yaml:"password_hash"`
	System       bool   `yaml:"system"`
}

type Hash

type Hash struct {
	Function string `yaml:"function"`
	Sum      string `yaml:"sum"`
}

func (Hash) String added in v0.5.0

func (h Hash) String() string

type Ignition

type Ignition struct {
	Config   IgnitionConfig `yaml:"config"`
	Timeouts Timeouts       `yaml:"timeouts"`
	Security Security       `yaml:"security"`
}

type IgnitionConfig

type IgnitionConfig struct {
	Append  []ConfigReference `yaml:"append"`
	Replace *ConfigReference  `yaml:"replace"`
}
type Link struct {
	Filesystem string     `yaml:"filesystem"`
	Path       string     `yaml:"path"`
	User       *FileUser  `yaml:"user"`
	Group      *FileGroup `yaml:"group"`
	Hard       bool       `yaml:"hard"`
	Target     string     `yaml:"target"`
	Overwrite  *bool      `yaml:"overwrite"`
}

type Locksmith added in v0.2.0

type Locksmith struct {
	RebootStrategy *string `yaml:"reboot_strategy" locksmith:"REBOOT_STRATEGY"`
	WindowStart    *string `yaml:"window_start"    locksmith:"LOCKSMITHD_REBOOT_WINDOW_START"`
	WindowLength   *string `yaml:"window_length"   locksmith:"LOCKSMITHD_REBOOT_WINDOW_LENGTH"`
	Group          *string `yaml:"group"           locksmith:"LOCKSMITHD_GROUP"`
	EtcdEndpoints  *string `yaml:"etcd_endpoints"  locksmith:"LOCKSMITHD_ENDPOINT"`
	EtcdCAFile     *string `yaml:"etcd_cafile"     locksmith:"LOCKSMITHD_ETCD_CAFILE"`
	EtcdCertFile   *string `yaml:"etcd_certfile"   locksmith:"LOCKSMITHD_ETCD_CERTFILE"`
	EtcdKeyFile    *string `yaml:"etcd_keyfile"    locksmith:"LOCKSMITHD_ETCD_KEYFILE"`
}

func (Locksmith) Validate added in v0.3.0

func (l Locksmith) Validate() report.Report

func (Locksmith) ValidateRebootStrategy added in v0.5.0

func (l Locksmith) ValidateRebootStrategy() report.Report

func (Locksmith) ValidateWindowLength added in v0.5.0

func (l Locksmith) ValidateWindowLength() report.Report

func (Locksmith) ValidateWindowStart added in v0.5.0

func (l Locksmith) ValidateWindowStart() report.Report

type Mount

type Mount struct {
	Device         string   `yaml:"device"`
	Format         string   `yaml:"format"`
	Create         *Create  `yaml:"create"`
	WipeFilesystem bool     `yaml:"wipe_filesystem"`
	Label          *string  `yaml:"label"`
	UUID           *string  `yaml:"uuid"`
	Options        []string `yaml:"options"`
}

type NetworkConfig added in v0.4.0

type NetworkConfig string

func (NetworkConfig) Validate added in v0.4.0

func (nc NetworkConfig) Validate() report.Report

type Networkd

type Networkd struct {
	Units []NetworkdUnit `yaml:"units"`
}

type NetworkdUnit

type NetworkdUnit struct {
	Name     string               `yaml:"name"`
	Contents string               `yaml:"contents"`
	Dropins  []NetworkdUnitDropIn `yaml:"dropins"`
}

type NetworkdUnitDropIn added in v0.8.0

type NetworkdUnitDropIn struct {
	Name     string `yaml:"name"`
	Contents string `yaml:"contents"`
}

type Options added in v0.2.0

type Options interface{}

Options can be the options for any Etcd version

type Partition

type Partition struct {
	Label    string `yaml:"label"`
	Number   int    `yaml:"number"`
	Size     string `yaml:"size"`
	Start    string `yaml:"start"`
	GUID     string `yaml:"guid"`
	TypeGUID string `yaml:"type_guid"`
}

type Passwd

type Passwd struct {
	Users  []User  `yaml:"users"`
	Groups []Group `yaml:"groups"`
}

type Raid

type Raid struct {
	Name    string   `yaml:"name"`
	Level   string   `yaml:"level"`
	Devices []string `yaml:"devices"`
	Spares  int      `yaml:"spares"`
	Options []string `yaml:"options"`
}

type Remote

type Remote struct {
	Url          string       `yaml:"url"`
	Compression  string       `yaml:"compression"`
	Verification Verification `yaml:"verification"`
}

type Security added in v0.8.0

type Security struct {
	TLS TLS `yaml:"tls"`
}

type Storage

type Storage struct {
	Disks       []Disk       `yaml:"disks"`
	Arrays      []Raid       `yaml:"raid"`
	Filesystems []Filesystem `yaml:"filesystems"`
	Files       []File       `yaml:"files"`
	Directories []Directory  `yaml:"directories"`
	Links       []Link       `yaml:"links"`
}

type Systemd

type Systemd struct {
	Units []SystemdUnit `yaml:"units"`
}

type SystemdUnit

type SystemdUnit struct {
	Name     string              `yaml:"name"`
	Enable   bool                `yaml:"enable"`
	Enabled  *bool               `yaml:"enabled"`
	Mask     bool                `yaml:"mask"`
	Contents string              `yaml:"contents"`
	Dropins  []SystemdUnitDropIn `yaml:"dropins"`
}

type SystemdUnitDropIn

type SystemdUnitDropIn struct {
	Name     string `yaml:"name"`
	Contents string `yaml:"contents"`
}

type TLS added in v0.8.0

type TLS struct {
	CertificateAuthorities []CaReference `yaml:"certificate_authorities"`
}

type Timeouts added in v0.5.0

type Timeouts struct {
	HTTPResponseHeaders *int `yaml:"http_response_headers"`
	HTTPTotal           *int `yaml:"http_total"`
}

type Update added in v0.2.0

type Update struct {
	Group  UpdateGroup  `yaml:"group"`
	Server UpdateServer `yaml:"server"`
}

func (Update) Validate added in v0.2.0

func (u Update) Validate() report.Report

type UpdateGroup added in v0.2.0

type UpdateGroup string

type UpdateServer added in v0.2.0

type UpdateServer string

func (UpdateServer) Validate added in v0.2.0

func (s UpdateServer) Validate() report.Report

type User

type User struct {
	Name              string      `yaml:"name"`
	PasswordHash      *string     `yaml:"password_hash"`
	SSHAuthorizedKeys []string    `yaml:"ssh_authorized_keys"`
	Create            *UserCreate `yaml:"create"`
	UID               *int        `yaml:"uid"`
	Gecos             string      `yaml:"gecos"`
	HomeDir           string      `yaml:"home_dir"`
	NoCreateHome      bool        `yaml:"no_create_home"`
	PrimaryGroup      string      `yaml:"primary_group"`
	Groups            []string    `yaml:"groups"`
	NoUserGroup       bool        `yaml:"no_user_group"`
	System            bool        `yaml:"system"`
	NoLogInit         bool        `yaml:"no_log_init"`
	Shell             string      `yaml:"shell"`
}

type UserCreate

type UserCreate struct {
	Uid          *uint    `yaml:"uid"`
	GECOS        string   `yaml:"gecos"`
	Homedir      string   `yaml:"home_dir"`
	NoCreateHome bool     `yaml:"no_create_home"`
	PrimaryGroup string   `yaml:"primary_group"`
	Groups       []string `yaml:"groups"`
	NoUserGroup  bool     `yaml:"no_user_group"`
	System       bool     `yaml:"system"`
	NoLogInit    bool     `yaml:"no_log_init"`
	Shell        string   `yaml:"shell"`
}

type Verification

type Verification struct {
	Hash Hash `yaml:"hash"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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