mirror of
https://github.com/rancher/os.git
synced 2025-06-26 15:01:34 +00:00
248 lines
5.3 KiB
Go
248 lines
5.3 KiB
Go
package config
|
|
|
|
func NewConfig() *Config {
|
|
return &Config{
|
|
Debug: DEBUG,
|
|
State: StateConfig{
|
|
Required: false,
|
|
Dev: "LABEL=RANCHER_STATE",
|
|
FsType: "auto",
|
|
},
|
|
SystemDocker: DockerConfig{
|
|
Args: []string{
|
|
"docker",
|
|
"-d",
|
|
"-s",
|
|
"overlay",
|
|
"-b",
|
|
"none",
|
|
"--restart=false",
|
|
"-g", "/var/lib/system-docker",
|
|
"-H", DOCKER_SYSTEM_HOST,
|
|
},
|
|
},
|
|
Modules: []string{},
|
|
UserDocker: DockerConfig{
|
|
TLSArgs: []string{
|
|
"--tlsverify",
|
|
"--tlscacert=ca.pem",
|
|
"--tlscert=server-cert.pem",
|
|
"--tlskey=server-key.pem",
|
|
"-H=0.0.0.0:2376",
|
|
},
|
|
Args: []string{
|
|
"docker",
|
|
"-d",
|
|
"-s", "overlay",
|
|
"-G", "docker",
|
|
"-H", DOCKER_HOST,
|
|
},
|
|
},
|
|
Network: NetworkConfig{
|
|
Dns: DnsConfig{
|
|
Nameservers: []string{"8.8.8.8", "8.8.4.4"},
|
|
},
|
|
Interfaces: map[string]InterfaceConfig{
|
|
"eth*": {
|
|
DHCP: true,
|
|
},
|
|
"lo": {
|
|
Address: "127.0.0.1/8",
|
|
},
|
|
},
|
|
},
|
|
CloudInit: CloudInit{
|
|
Datasources: []string{"configdrive:/media/config-2"},
|
|
},
|
|
Upgrade: UpgradeConfig{
|
|
Url: "https://releases.rancher.com/os/versions.yml",
|
|
Image: "rancher/os",
|
|
},
|
|
BootstrapContainers: []ContainerConfig{
|
|
{
|
|
Id: "udev",
|
|
Cmd: "--name=udev " +
|
|
"--net=none " +
|
|
"--privileged " +
|
|
"--rm " +
|
|
"-v=/dev:/host/dev " +
|
|
"-v=/lib/modules:/lib/modules:ro " +
|
|
"udev",
|
|
},
|
|
},
|
|
SystemContainers: []ContainerConfig{
|
|
{
|
|
Id: "udev",
|
|
Cmd: "--name=udev " +
|
|
"--net=none " +
|
|
"--privileged " +
|
|
"--rm " +
|
|
"-v=/dev:/host/dev " +
|
|
"-v=/lib/modules:/lib/modules:ro " +
|
|
"udev",
|
|
CreateOnly: true,
|
|
},
|
|
{
|
|
Id: "system-volumes",
|
|
Cmd: "--name=system-volumes " +
|
|
"--net=none " +
|
|
"--read-only " +
|
|
"-v=/etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt " +
|
|
"-v=/var/lib/rancher/conf:/var/lib/rancher/conf " +
|
|
"-v=/lib/modules:/lib/modules:ro " +
|
|
"-v=/var/run:/var/run " +
|
|
"-v=/var/log:/var/log " +
|
|
"state",
|
|
},
|
|
{
|
|
Id: "command-volumes",
|
|
Cmd: "--name=command-volumes " +
|
|
"--net=none " +
|
|
"--read-only " +
|
|
"-v=/init:/sbin/halt:ro " +
|
|
"-v=/init:/sbin/poweroff:ro " +
|
|
"-v=/init:/sbin/reboot:ro " +
|
|
"-v=/init:/sbin/shutdown:ro " +
|
|
"-v=/init:/sbin/netconf:ro " +
|
|
"-v=/init:/usr/bin/cloud-init:ro " +
|
|
"-v=/init:/usr/bin/rancherctl:ro " +
|
|
"-v=/init:/usr/bin/respawn:ro " +
|
|
"-v=/init:/usr/bin/system-docker:ro " +
|
|
"-v=/lib/modules:/lib/modules:ro " +
|
|
"-v=/usr/bin/docker:/usr/bin/docker:ro " +
|
|
"state",
|
|
},
|
|
{
|
|
Id: "user-volumes",
|
|
Cmd: "--name=user-volumes " +
|
|
"--net=none " +
|
|
"--read-only " +
|
|
"-v=/home:/home " +
|
|
"-v=/opt:/opt " +
|
|
"state",
|
|
},
|
|
{
|
|
Id: "docker-volumes",
|
|
Cmd: "--name=docker-volumes " +
|
|
"--net=none " +
|
|
"--read-only " +
|
|
"-v=/var/lib/docker:/var/lib/docker " +
|
|
"-v=/var/lib/system-docker:/var/lib/system-docker " +
|
|
"state",
|
|
},
|
|
{
|
|
Id: "all-volumes",
|
|
Cmd: "--name=all-volumes " +
|
|
"--rm " +
|
|
"--net=none " +
|
|
"--read-only " +
|
|
"--volumes-from=docker-volumes " +
|
|
"--volumes-from=command-volumes " +
|
|
"--volumes-from=user-volumes " +
|
|
"--volumes-from=system-volumes " +
|
|
"state",
|
|
},
|
|
{
|
|
Id: "cloud-init-pre",
|
|
Cmd: "--name=cloud-init-pre " +
|
|
"--rm " +
|
|
"--privileged " +
|
|
"--net=host " +
|
|
"-e CLOUD_INIT_NETWORK=false " +
|
|
"--volumes-from=command-volumes " +
|
|
"--volumes-from=system-volumes " +
|
|
"cloudinit",
|
|
ReloadConfig: true,
|
|
},
|
|
{
|
|
Id: "network",
|
|
Cmd: "--name=network " +
|
|
"--rm " +
|
|
"--cap-add=NET_ADMIN " +
|
|
"--net=host " +
|
|
"--volumes-from=command-volumes " +
|
|
"--volumes-from=system-volumes " +
|
|
"network",
|
|
},
|
|
{
|
|
Id: "cloud-init",
|
|
Cmd: "--name=cloud-init " +
|
|
"--rm " +
|
|
"--privileged " +
|
|
"--net=host " +
|
|
"--volumes-from=command-volumes " +
|
|
"--volumes-from=system-volumes " +
|
|
"cloudinit",
|
|
ReloadConfig: true,
|
|
},
|
|
{
|
|
Id: "ntp",
|
|
Cmd: "--name=ntp " +
|
|
"--rm " +
|
|
"-d " +
|
|
"--privileged " +
|
|
"--net=host " +
|
|
"ntp",
|
|
},
|
|
{
|
|
Id: "syslog",
|
|
Cmd: "--name=syslog " +
|
|
"-d " +
|
|
"--rm " +
|
|
"--privileged " +
|
|
"--net=host " +
|
|
"--ipc=host " +
|
|
"--pid=host " +
|
|
"--volumes-from=system-volumes " +
|
|
"syslog",
|
|
},
|
|
{
|
|
Id: "userdocker",
|
|
Cmd: "--name=userdocker " +
|
|
"-d " +
|
|
"--rm " +
|
|
"--restart=always " +
|
|
"--ipc=host " +
|
|
"--pid=host " +
|
|
"--net=host " +
|
|
"--privileged " +
|
|
"--volumes-from=all-volumes " +
|
|
"userdocker",
|
|
},
|
|
{
|
|
Id: "console",
|
|
Cmd: "--name=console " +
|
|
"-d " +
|
|
"--rm " +
|
|
"--privileged " +
|
|
"--volumes-from=all-volumes " +
|
|
"--restart=always " +
|
|
"--ipc=host " +
|
|
"--net=host " +
|
|
"--pid=host " +
|
|
"console",
|
|
},
|
|
},
|
|
EnabledAddons: []string{},
|
|
Addons: map[string]Config{
|
|
"ubuntu-console": {
|
|
SystemContainers: []ContainerConfig{
|
|
{
|
|
Id: "console",
|
|
Cmd: "--name=ubuntu-console " +
|
|
"-d " +
|
|
"--rm " +
|
|
"--privileged " +
|
|
"--volumes-from=all-volumes " +
|
|
"--restart=always " +
|
|
"--ipc=host " +
|
|
"--net=host " +
|
|
"--pid=host " +
|
|
"rancher/ubuntuconsole:v0.0.2",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|