Documentation ¶
Index ¶
- func AssertStructValid(c interface{}) error
- func DecodeBase64Content(content string) ([]byte, error)
- func DecodeContent(content string, encoding string) ([]byte, error)
- func DecodeGzipContent(content string) ([]byte, error)
- func IsCloudConfig(userdata string) bool
- func IsIgnitionConfig(userdata string) bool
- func IsScript(userdata string) bool
- func IsZero(c interface{}) bool
- type CloudConfig
- type CoreOS
- type ErrorValid
- type EtcHosts
- type Etcd
- type Etcd2
- type File
- type Flannel
- type Fleet
- type Locksmith
- type OEM
- type Script
- type Unit
- type UnitDropIn
- type Update
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssertStructValid ¶ added in v0.11.0
func AssertStructValid(c interface{}) error
AssertStructValid checks the fields in the structure and makes sure that they contain valid values as specified by the 'valid' flag. Empty fields are implicitly valid.
func DecodeBase64Content ¶ added in v1.2.0
func DecodeContent ¶ added in v1.2.0
func DecodeGzipContent ¶ added in v1.2.0
func IsCloudConfig ¶ added in v0.11.0
func IsIgnitionConfig ¶ added in v1.5.0
Types ¶
type CloudConfig ¶
type CloudConfig struct { SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys"` CoreOS CoreOS `yaml:"coreos"` WriteFiles []File `yaml:"write_files"` Hostname string `yaml:"hostname"` Users []User `yaml:"users"` ManageEtcHosts EtcHosts `yaml:"manage_etc_hosts"` }
CloudConfig encapsulates the entire cloud-config configuration file and maps directly to YAML. Fields that cannot be set in the cloud-config (fields used for internal use) have the YAML tag '-' so that they aren't marshalled.
func NewCloudConfig ¶
func NewCloudConfig(contents string) (*CloudConfig, error)
NewCloudConfig instantiates a new CloudConfig from the given contents (a string of YAML), returning any error encountered. It will ignore unknown fields but log encountering them.
func (CloudConfig) String ¶
func (cc CloudConfig) String() string
type ErrorValid ¶ added in v0.11.0
func AssertValid ¶
func AssertValid(value reflect.Value, valid string) *ErrorValid
AssertValid checks to make sure that the given value is in the list of valid values. Zero values are implicitly valid.
func (ErrorValid) Error ¶ added in v0.11.0
func (e ErrorValid) Error() string
type Etcd ¶
type Etcd struct { Addr string `yaml:"addr" env:"ETCD_ADDR"` AdvertiseClientURLs string `` /* 126-byte string literal not displayed */ BindAddr string `yaml:"bind_addr" env:"ETCD_BIND_ADDR"` CAFile string `yaml:"ca_file" env:"ETCD_CA_FILE"` CertFile string `yaml:"cert_file" env:"ETCD_CERT_FILE"` ClusterActiveSize int `yaml:"cluster_active_size" env:"ETCD_CLUSTER_ACTIVE_SIZE"` ClusterRemoveDelay float64 `yaml:"cluster_remove_delay" env:"ETCD_CLUSTER_REMOVE_DELAY"` ClusterSyncInterval float64 `yaml:"cluster_sync_interval" env:"ETCD_CLUSTER_SYNC_INTERVAL"` CorsOrigins string `yaml:"cors" env:"ETCD_CORS"` DataDir string `yaml:"data_dir" env:"ETCD_DATA_DIR"` Discovery string `yaml:"discovery" env:"ETCD_DISCOVERY"` DiscoveryFallback string `` /* 126-byte string literal not displayed */ DiscoverySRV string `` /* 126-byte string literal not displayed */ DiscoveryProxy string `` /* 126-byte string literal not displayed */ ElectionTimeout int `` /* 126-byte string literal not displayed */ ForceNewCluster bool `` /* 126-byte string literal not displayed */ GraphiteHost string `yaml:"graphite_host" env:"ETCD_GRAPHITE_HOST"` HeartbeatInterval int `` /* 126-byte string literal not displayed */ HTTPReadTimeout float64 `yaml:"http_read_timeout" env:"ETCD_HTTP_READ_TIMEOUT"` HTTPWriteTimeout float64 `yaml:"http_write_timeout" env:"ETCD_HTTP_WRITE_TIMEOUT"` InitialAdvertisePeerURLs string `` /* 126-byte string literal not displayed */ InitialCluster string `` /* 126-byte string literal not displayed */ InitialClusterState string `` /* 126-byte string literal not displayed */ InitialClusterToken string `` /* 126-byte string literal not displayed */ KeyFile string `yaml:"key_file" env:"ETCD_KEY_FILE"` ListenClientURLs string `` /* 126-byte string literal not displayed */ ListenPeerURLs string `` /* 126-byte string literal not displayed */ MaxResultBuffer int `yaml:"max_result_buffer" env:"ETCD_MAX_RESULT_BUFFER"` MaxRetryAttempts int `yaml:"max_retry_attempts" env:"ETCD_MAX_RETRY_ATTEMPTS"` MaxSnapshots int `` /* 126-byte string literal not displayed */ MaxWALs int `` /* 126-byte string literal not displayed */ Name string `yaml:"name" env:"ETCD_NAME"` PeerAddr string `yaml:"peer_addr" env:"ETCD_PEER_ADDR"` PeerBindAddr string `yaml:"peer_bind_addr" env:"ETCD_PEER_BIND_ADDR"` PeerCAFile string `yaml:"peer_ca_file" env:"ETCD_PEER_CA_FILE"` PeerCertFile string `yaml:"peer_cert_file" env:"ETCD_PEER_CERT_FILE"` PeerElectionTimeout int `yaml:"peer_election_timeout" env:"ETCD_PEER_ELECTION_TIMEOUT"` PeerHeartbeatInterval int `yaml:"peer_heartbeat_interval" env:"ETCD_PEER_HEARTBEAT_INTERVAL"` PeerKeyFile string `yaml:"peer_key_file" env:"ETCD_PEER_KEY_FILE"` Peers string `yaml:"peers" env:"ETCD_PEERS"` PeersFile string `yaml:"peers_file" env:"ETCD_PEERS_FILE"` Proxy string `` /* 126-byte string literal not displayed */ RetryInterval float64 `yaml:"retry_interval" env:"ETCD_RETRY_INTERVAL"` Snapshot bool `yaml:"snapshot" env:"ETCD_SNAPSHOT"` SnapshotCount int `yaml:"snapshot_count" env:"ETCD_SNAPSHOTCOUNT"` StrTrace string `yaml:"trace" env:"ETCD_TRACE"` Verbose bool `yaml:"verbose" env:"ETCD_VERBOSE"` VeryVerbose bool `yaml:"very_verbose" env:"ETCD_VERY_VERBOSE"` VeryVeryVerbose bool `yaml:"very_very_verbose" env:"ETCD_VERY_VERY_VERBOSE"` }
type Etcd2 ¶ added in v1.4.0
type Etcd2 struct { AdvertiseClientURLs string `yaml:"advertise_client_urls" env:"ETCD_ADVERTISE_CLIENT_URLS"` CAFile string `` /* 146-byte string literal not displayed */ CertFile string `yaml:"cert_file" env:"ETCD_CERT_FILE"` ClientCertAuth bool `yaml:"client_cert_auth" env:"ETCD_CLIENT_CERT_AUTH"` CorsOrigins string `yaml:"cors" env:"ETCD_CORS"` DataDir string `yaml:"data_dir" env:"ETCD_DATA_DIR"` Debug bool `yaml:"debug" env:"ETCD_DEBUG"` Discovery string `yaml:"discovery" env:"ETCD_DISCOVERY"` DiscoveryFallback string `yaml:"discovery_fallback" env:"ETCD_DISCOVERY_FALLBACK"` DiscoverySRV string `yaml:"discovery_srv" env:"ETCD_DISCOVERY_SRV"` DiscoveryProxy string `yaml:"discovery_proxy" env:"ETCD_DISCOVERY_PROXY"` ElectionTimeout int `yaml:"election_timeout" env:"ETCD_ELECTION_TIMEOUT"` ForceNewCluster bool `yaml:"force_new_cluster" env:"ETCD_FORCE_NEW_CLUSTER"` HeartbeatInterval int `yaml:"heartbeat_interval" env:"ETCD_HEARTBEAT_INTERVAL"` InitialAdvertisePeerURLs string `yaml:"initial_advertise_peer_urls" env:"ETCD_INITIAL_ADVERTISE_PEER_URLS"` InitialCluster string `yaml:"initial_cluster" env:"ETCD_INITIAL_CLUSTER"` InitialClusterState string `yaml:"initial_cluster_state" env:"ETCD_INITIAL_CLUSTER_STATE"` InitialClusterToken string `yaml:"initial_cluster_token" env:"ETCD_INITIAL_CLUSTER_TOKEN"` KeyFile string `yaml:"key_file" env:"ETCD_KEY_FILE"` ListenClientURLs string `yaml:"listen_client_urls" env:"ETCD_LISTEN_CLIENT_URLS"` ListenPeerURLs string `yaml:"listen_peer_urls" env:"ETCD_LISTEN_PEER_URLS"` LogPackageLevels string `yaml:"log_package_levels" env:"ETCD_LOG_PACKAGE_LEVELS"` MaxSnapshots int `yaml:"max_snapshots" env:"ETCD_MAX_SNAPSHOTS"` MaxWALs int `yaml:"max_wals" env:"ETCD_MAX_WALS"` Name string `yaml:"name" env:"ETCD_NAME"` PeerCAFile string `` /* 158-byte string literal not displayed */ PeerCertFile string `yaml:"peer_cert_file" env:"ETCD_PEER_CERT_FILE"` PeerKeyFile string `yaml:"peer_key_file" env:"ETCD_PEER_KEY_FILE"` PeerClientCertAuth bool `yaml:"peer_client_cert_auth" env:"ETCD_PEER_CLIENT_CERT_AUTH"` PeerTrustedCAFile string `yaml:"peer_trusted_ca_file" env:"ETCD_PEER_TRUSTED_CA_FILE"` Proxy string `yaml:"proxy" env:"ETCD_PROXY" valid:"^(on|off|readonly)$"` ProxyDialTimeout int `yaml:"proxy_dial_timeout" env:"ETCD_PROXY_DIAL_TIMEOUT"` ProxyFailureWait int `yaml:"proxy_failure_wait" env:"ETCD_PROXY_FAILURE_WAIT"` ProxyReadTimeout int `yaml:"proxy_read_timeout" env:"ETCD_PROXY_READ_TIMEOUT"` ProxyRefreshInterval int `yaml:"proxy_refresh_interval" env:"ETCD_PROXY_REFRESH_INTERVAL"` ProxyWriteTimeout int `yaml:"proxy_write_timeout" env:"ETCD_PROXY_WRITE_TIMEOUT"` SnapshotCount int `yaml:"snapshot_count" env:"ETCD_SNAPSHOT_COUNT"` TrustedCAFile string `yaml:"trusted_ca_file" env:"ETCD_TRUSTED_CA_FILE"` WalDir string `yaml:"wal_dir" env:"ETCD_WAL_DIR"` }
type Flannel ¶ added in v0.11.1
type Flannel struct { EtcdEndpoints string `yaml:"etcd_endpoints" env:"FLANNELD_ETCD_ENDPOINTS"` EtcdCAFile string `yaml:"etcd_cafile" env:"FLANNELD_ETCD_CAFILE"` EtcdCertFile string `yaml:"etcd_certfile" env:"FLANNELD_ETCD_CERTFILE"` EtcdKeyFile string `yaml:"etcd_keyfile" env:"FLANNELD_ETCD_KEYFILE"` EtcdPrefix string `yaml:"etcd_prefix" env:"FLANNELD_ETCD_PREFIX"` IPMasq string `yaml:"ip_masq" env:"FLANNELD_IP_MASQ"` SubnetFile string `yaml:"subnet_file" env:"FLANNELD_SUBNET_FILE"` Iface string `yaml:"interface" env:"FLANNELD_IFACE"` PublicIP string `yaml:"public_ip" env:"FLANNELD_PUBLIC_IP"` }
type Fleet ¶
type Fleet struct { AgentTTL string `yaml:"agent_ttl" env:"FLEET_AGENT_TTL"` AuthorizedKeysFile string `yaml:"authorized_keys_file" env:"FLEET_AUTHORIZED_KEYS_FILE"` DisableEngine bool `yaml:"disable_engine" env:"FLEET_DISABLE_ENGINE"` EngineReconcileInterval float64 `yaml:"engine_reconcile_interval" env:"FLEET_ENGINE_RECONCILE_INTERVAL"` EtcdCAFile string `yaml:"etcd_cafile" env:"FLEET_ETCD_CAFILE"` EtcdCertFile string `yaml:"etcd_certfile" env:"FLEET_ETCD_CERTFILE"` EtcdKeyFile string `yaml:"etcd_keyfile" env:"FLEET_ETCD_KEYFILE"` EtcdKeyPrefix string `yaml:"etcd_key_prefix" env:"FLEET_ETCD_KEY_PREFIX"` EtcdRequestTimeout float64 `yaml:"etcd_request_timeout" env:"FLEET_ETCD_REQUEST_TIMEOUT"` EtcdServers string `yaml:"etcd_servers" env:"FLEET_ETCD_SERVERS"` Metadata string `yaml:"metadata" env:"FLEET_METADATA"` PublicIP string `yaml:"public_ip" env:"FLEET_PUBLIC_IP"` TokenLimit int `yaml:"token_limit" env:"FLEET_TOKEN_LIMIT"` Verbosity int `yaml:"verbosity" env:"FLEET_VERBOSITY"` VerifyUnits bool `yaml:"verify_units" env:"FLEET_VERIFY_UNITS"` }
type Locksmith ¶ added in v1.0.2
type Locksmith struct { Endpoint string `yaml:"endpoint" env:"LOCKSMITHD_ENDPOINT"` EtcdCAFile string `yaml:"etcd_cafile" env:"LOCKSMITHD_ETCD_CAFILE"` EtcdCertFile string `yaml:"etcd_certfile" env:"LOCKSMITHD_ETCD_CERTFILE"` EtcdKeyFile string `yaml:"etcd_keyfile" env:"LOCKSMITHD_ETCD_KEYFILE"` Group string `yaml:"group" env:"LOCKSMITHD_GROUP"` RebootWindowStart string `` /* 142-byte string literal not displayed */ RebootWindowLength string `yaml:"window_length" env:"REBOOT_WINDOW_LENGTH" valid:"^[-+]?([0-9]*(\\.[0-9]*)?[a-z]+)+$"` }
type Unit ¶
type Unit struct { Name string `yaml:"name"` Mask bool `yaml:"mask"` Enable bool `yaml:"enable"` Runtime bool `yaml:"runtime"` Content string `yaml:"content"` Command string `yaml:"command" valid:"^(start|stop|restart|reload|try-restart|reload-or-restart|reload-or-try-restart)$"` DropIns []UnitDropIn `yaml:"drop_ins"` }
type UnitDropIn ¶ added in v1.0.0
type User ¶
type User struct { Name string `yaml:"name"` PasswordHash string `yaml:"passwd"` SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys"` SSHImportGithubUser string `` /* 129-byte string literal not displayed */ SSHImportGithubUsers []string `` /* 129-byte string literal not displayed */ SSHImportURL string `` /* 129-byte string literal not displayed */ GECOS string `yaml:"gecos"` Homedir string `yaml:"homedir"` 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"` }