Help us shape the future of Go! Take the 2026 Go Developer Survey

config

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2017 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OEM              = "/usr/share/ros/oem"
	DockerBin        = "/usr/bin/docker"
	DockerDistBin    = "/usr/bin/docker.dist"
	RosBin           = "/usr/bin/ros"
	SysInitBin       = "/usr/bin/ros-sysinit"
	SystemDockerHome = "/var/lib/system-docker"
	SystemDockerHost = "unix:///var/run/system-docker.sock"
	DockerHost       = "unix:///var/run/docker.sock"
	ImagesPath       = "/usr/share/ros"
	ImagesPattern    = "images*.tar"
	ModulesArchive   = "/modules.tar"
	Debug            = false
	SystemDockerLog  = "/var/log/system-docker.log"
	SystemDockerBin  = "/usr/bin/system-docker"

	HashLabel         = "io.rancher.os.hash"
	IDLabel           = "io.rancher.os.id"
	DetachLabel       = "io.rancher.os.detach"
	CreateOnlyLabel   = "io.rancher.os.createonly"
	ReloadConfigLabel = "io.rancher.os.reloadconfig"
	ConsoleLabel      = "io.rancher.os.console"
	ScopeLabel        = "io.rancher.os.scope"
	RebuildLabel      = "io.docker.compose.rebuild"
	System            = "system"

	OsConfigFile           = "/usr/share/ros/os-config.yml"
	CloudConfigDir         = "/var/lib/rancher/conf/cloud-config.d"
	CloudConfigBootFile    = "/var/lib/rancher/conf/cloud-config.d/boot.yml"
	CloudConfigNetworkFile = "/var/lib/rancher/conf/cloud-config.d/network.yml"
	CloudConfigScriptFile  = "/var/lib/rancher/conf/cloud-config-script"
	MetaDataFile           = "/var/lib/rancher/conf/metadata"
	CloudConfigFile        = "/var/lib/rancher/conf/cloud-config.yml"
)

Variables

View Source
var (
	OemConfigFile = OEM + "/oem-config.yml"
	Version       string
	Arch          string
	Suffix        string
	OsRepo        string
	OsBase        string
	PrivateKeys   = []string{
		"rancher.ssh",
		"rancher.docker.ca_key",
		"rancher.docker.ca_cert",
		"rancher.docker.server_key",
		"rancher.docker.server_cert",
	}
)

Functions

func CloudConfigDirFiles added in v0.4.0

func CloudConfigDirFiles(dirPrefix string) []string

func ConvertKeysToStrings added in v0.8.0

func ConvertKeysToStrings(item interface{}) interface{}

ConvertKeysToStrings is temporarily copied from libcompose TODO: just import this in the future

func Export added in v0.5.0

func Export(private, full bool) (string, error)

func Get added in v0.5.0

func Get(key string) (interface{}, error)

func GetCmdline added in v0.6.0

func GetCmdline(key string) interface{}

func Merge added in v0.5.0

func Merge(bytes []byte) error

func Set added in v0.5.0

func Set(key string, value interface{}) error

func Validate added in v0.8.0

func Validate(bytes []byte) (*gojsonschema.Result, error)

func WriteToFile added in v0.4.3

func WriteToFile(data interface{}, filename string) error

Types

type CfgFunc added in v0.4.0

type CfgFunc func(*CloudConfig) (*CloudConfig, error)

type CloudConfig added in v0.4.0

type CloudConfig struct {
	SSHAuthorizedKeys []string              `yaml:"ssh_authorized_keys"`
	WriteFiles        []File                `yaml:"write_files"`
	Hostname          string                `yaml:"hostname"`
	Mounts            [][]string            `yaml:"mounts,omitempty"`
	Rancher           RancherConfig         `yaml:"rancher,omitempty"`
	Runcmd            []yaml.StringandSlice `yaml:"runcmd,omitempty"`
	Bootcmd           []yaml.StringandSlice `yaml:"bootcmd,omitempty"`
}

func ChainCfgFuncs added in v0.4.0

func ChainCfgFuncs(cfg *CloudConfig, cfgFuncs ...CfgFunc) (*CloudConfig, error)

func LoadConfig

func LoadConfig() *CloudConfig

func LoadConfigWithPrefix added in v0.8.0

func LoadConfigWithPrefix(dirPrefix string) *CloudConfig

func ReadConfig added in v0.3.2

func ReadConfig(bytes []byte, substituteMetadataVars bool, files ...string) (*CloudConfig, error)

type CloudInit

type CloudInit struct {
	Datasources []string `yaml:"datasources,omitempty"`
}

type DNSConfig added in v0.8.0

type DNSConfig struct {
	Nameservers []string `yaml:"nameservers,flow,omitempty"`
	Search      []string `yaml:"search,flow,omitempty"`
}

type Defaults added in v0.5.0

type Defaults struct {
	Hostname string        `yaml:"hostname,omitempty"`
	Docker   DockerConfig  `yaml:"docker,omitempty"`
	Network  NetworkConfig `yaml:"network,omitempty"`
}

type DockerConfig added in v0.2.0

type DockerConfig struct {
	EngineOpts
	Engine         string   `yaml:"engine,omitempty"`
	TLS            bool     `yaml:"tls,omitempty"`
	TLSArgs        []string `yaml:"tls_args,flow,omitempty"`
	ExtraArgs      []string `yaml:"extra_args,flow,omitempty"`
	ServerCert     string   `yaml:"server_cert,omitempty"`
	ServerKey      string   `yaml:"server_key,omitempty"`
	CACert         string   `yaml:"ca_cert,omitempty"`
	CAKey          string   `yaml:"ca_key,omitempty"`
	Environment    []string `yaml:"environment,omitempty"`
	StorageContext string   `yaml:"storage_context,omitempty"`
	Exec           bool     `yaml:"exec,omitempty"`
}

func (*DockerConfig) AppendEnv added in v0.4.0

func (d *DockerConfig) AppendEnv() []string

func (*DockerConfig) FullArgs added in v0.4.0

func (d *DockerConfig) FullArgs() []string

type EngineOpts added in v0.7.0

type EngineOpts struct {
	Bridge           string            `yaml:"bridge,omitempty" opt:"bridge"`
	ConfigFile       string            `yaml:"config_file,omitempty" opt:"config-file"`
	Containerd       string            `yaml:"containerd,omitempty" opt:"containerd"`
	Debug            *bool             `yaml:"debug,omitempty" opt:"debug"`
	ExecRoot         string            `yaml:"exec_root,omitempty" opt:"exec-root"`
	Group            string            `yaml:"group,omitempty" opt:"group"`
	Graph            string            `yaml:"graph,omitempty" opt:"graph"`
	Host             []string          `yaml:"host,omitempty" opt:"host"`
	InsecureRegistry []string          `yaml:"insecure_registry" opt:"insecure-registry"`
	LiveRestore      *bool             `yaml:"live_restore,omitempty" opt:"live-restore"`
	LogDriver        string            `yaml:"log_driver,omitempty" opt:"log-driver"`
	LogOpts          map[string]string `yaml:"log_opts,omitempty" opt:"log-opt"`
	PidFile          string            `yaml:"pid_file,omitempty" opt:"pidfile"`
	RegistryMirror   string            `yaml:"registry_mirror,omitempty" opt:"registry-mirror"`
	Restart          *bool             `yaml:"restart,omitempty" opt:"restart"`
	SelinuxEnabled   *bool             `yaml:"selinux_enabled,omitempty" opt:"selinux-enabled"`
	StorageDriver    string            `yaml:"storage_driver,omitempty" opt:"storage-driver"`
	UserlandProxy    *bool             `yaml:"userland_proxy,omitempty" opt:"userland-proxy"`
}

type File added in v0.6.0

type File struct {
	config.File
	Container string `yaml:"container,omitempty"`
}

type InterfaceConfig

type InterfaceConfig struct {
	Match       string            `yaml:"match,omitempty"`
	DHCP        bool              `yaml:"dhcp,omitempty"`
	DHCPArgs    string            `yaml:"dhcp_args,omitempty"`
	Address     string            `yaml:"address,omitempty"`
	Addresses   []string          `yaml:"addresses,omitempty"`
	IPV4LL      bool              `yaml:"ipv4ll,omitempty"`
	Gateway     string            `yaml:"gateway,omitempty"`
	GatewayIpv6 string            `yaml:"gateway_ipv6,omitempty"`
	MTU         int               `yaml:"mtu,omitempty"`
	Bridge      string            `yaml:"bridge,omitempty"`
	Bond        string            `yaml:"bond,omitempty"`
	BondOpts    map[string]string `yaml:"bond_opts,omitempty"`
	PostUp      []string          `yaml:"post_up,omitempty"`
	PreUp       []string          `yaml:"pre_up,omitempty"`
	Vlans       string            `yaml:"vlans,omitempty"`
}

type NetworkConfig

type NetworkConfig struct {
	PreCmds    []string                   `yaml:"pre_cmds,omitempty"`
	DNS        DNSConfig                  `yaml:"dns,omitempty"`
	Interfaces map[string]InterfaceConfig `yaml:"interfaces,omitempty"`
	PostCmds   []string                   `yaml:"post_cmds,omitempty"`
	HTTPProxy  string                     `yaml:"http_proxy,omitempty"`
	HTTPSProxy string                     `yaml:"https_proxy,omitempty"`
	NoProxy    string                     `yaml:"no_proxy,omitempty"`
}

type RancherConfig added in v0.4.0

type RancherConfig struct {
	Console             string                                    `yaml:"console,omitempty"`
	Environment         map[string]string                         `yaml:"environment,omitempty"`
	Services            map[string]*composeConfig.ServiceConfigV1 `yaml:"services,omitempty"`
	BootstrapContainers map[string]*composeConfig.ServiceConfigV1 `yaml:"bootstrap,omitempty"`
	CloudInitServices   map[string]*composeConfig.ServiceConfigV1 `yaml:"cloud_init_services,omitempty"`
	BootstrapDocker     DockerConfig                              `yaml:"bootstrap_docker,omitempty"`
	CloudInit           CloudInit                                 `yaml:"cloud_init,omitempty"`
	Debug               bool                                      `yaml:"debug,omitempty"`
	RmUsr               bool                                      `yaml:"rm_usr,omitempty"`
	NoSharedRoot        bool                                      `yaml:"no_sharedroot,omitempty"`
	Log                 bool                                      `yaml:"log,omitempty"`
	ForceConsoleRebuild bool                                      `yaml:"force_console_rebuild,omitempty"`
	Disable             []string                                  `yaml:"disable,omitempty"`
	ServicesInclude     map[string]bool                           `yaml:"services_include,omitempty"`
	Modules             []string                                  `yaml:"modules,omitempty"`
	Network             NetworkConfig                             `yaml:"network,omitempty"`
	DefaultNetwork      NetworkConfig                             `yaml:"default_network,omitempty"`
	Repositories        Repositories                              `yaml:"repositories,omitempty"`
	SSH                 SSHConfig                                 `yaml:"ssh,omitempty"`
	State               StateConfig                               `yaml:"state,omitempty"`
	SystemDocker        DockerConfig                              `yaml:"system_docker,omitempty"`
	Upgrade             UpgradeConfig                             `yaml:"upgrade,omitempty"`
	Docker              DockerConfig                              `yaml:"docker,omitempty"`
	RegistryAuths       map[string]types.AuthConfig               `yaml:"registry_auths,omitempty"`
	Defaults            Defaults                                  `yaml:"defaults,omitempty"`
	ResizeDevice        string                                    `yaml:"resize_device,omitempty"`
	Sysctl              map[string]string                         `yaml:"sysctl,omitempty"`
	RestartServices     []string                                  `yaml:"restart_services,omitempty"`
}

type Repositories added in v0.3.0

type Repositories map[string]Repository

func (Repositories) ToArray added in v0.3.0

func (r Repositories) ToArray() []string

type Repository added in v0.3.0

type Repository struct {
	URL string `yaml:"url,omitempty"`
}

type SSHConfig added in v0.8.0

type SSHConfig struct {
	Keys map[string]string `yaml:"keys,omitempty"`
}

type StateConfig added in v0.2.0

type StateConfig struct {
	Directory  string   `yaml:"directory,omitempty"`
	FsType     string   `yaml:"fstype,omitempty"`
	Dev        string   `yaml:"dev,omitempty"`
	Wait       bool     `yaml:"wait,omitempty"`
	Required   bool     `yaml:"required,omitempty"`
	Autoformat []string `yaml:"autoformat,omitempty"`
	MdadmScan  bool     `yaml:"mdadm_scan,omitempty"`
	Script     string   `yaml:"script,omitempty"`
	OemFsType  string   `yaml:"oem_fstype,omitempty"`
	OemDev     string   `yaml:"oem_dev,omitempty"`
}

type UpgradeConfig added in v0.2.0

type UpgradeConfig struct {
	URL      string `yaml:"url,omitempty"`
	Image    string `yaml:"image,omitempty"`
	Rollback string `yaml:"rollback,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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