func networkOptions(dconfig *Config) ([]nwconfig.Option, error) { options := []nwconfig.Option{} if dconfig == nil { return options, nil } if strings.TrimSpace(dconfig.DefaultNetwork) != "" { dn := strings.Split(dconfig.DefaultNetwork, ":") if len(dn) < 2 { return nil, fmt.Errorf("default network daemon config must be of the form NETWORKDRIVER:NETWORKNAME") } options = append(options, nwconfig.OptionDefaultDriver(dn[0])) options = append(options, nwconfig.OptionDefaultNetwork(strings.Join(dn[1:], ":"))) } else { dd := runconfig.DefaultDaemonNetworkMode() dn := runconfig.DefaultDaemonNetworkMode().NetworkName() options = append(options, nwconfig.OptionDefaultDriver(string(dd))) options = append(options, nwconfig.OptionDefaultNetwork(dn)) } if strings.TrimSpace(dconfig.NetworkKVStore) != "" { kv := strings.Split(dconfig.NetworkKVStore, ":") if len(kv) < 2 { return nil, fmt.Errorf("kv store daemon config must be of the form KV-PROVIDER:KV-URL") } options = append(options, nwconfig.OptionKVProvider(kv[0])) options = append(options, nwconfig.OptionKVProviderURL(strings.Join(kv[1:], ":"))) } options = append(options, nwconfig.OptionLabels(dconfig.Labels)) return options, nil }
func processConfig(cfg *config.Config) []config.Option { options := []config.Option{} if cfg == nil { return options } dn := "bridge" if strings.TrimSpace(cfg.Daemon.DefaultNetwork) != "" { dn = cfg.Daemon.DefaultNetwork } options = append(options, config.OptionDefaultNetwork(dn)) dd := "bridge" if strings.TrimSpace(cfg.Daemon.DefaultDriver) != "" { dd = cfg.Daemon.DefaultDriver } options = append(options, config.OptionDefaultDriver(dd)) if cfg.Daemon.Labels != nil { options = append(options, config.OptionLabels(cfg.Daemon.Labels)) } if strings.TrimSpace(cfg.GlobalStore.Client.Provider) != "" { options = append(options, config.OptionKVProvider(cfg.GlobalStore.Client.Provider)) } if strings.TrimSpace(cfg.GlobalStore.Client.Address) != "" { options = append(options, config.OptionKVProviderURL(cfg.GlobalStore.Client.Address)) } dOptions, err := startDiscovery(&cfg.Cluster) if err != nil { logrus.Infof("Skipping discovery : %s", err.Error()) } else { options = append(options, dOptions...) } return options }
func processConfig(cfg *config.Config) []config.Option { options := []config.Option{} if cfg == nil { return options } dn := "bridge" if strings.TrimSpace(cfg.Daemon.DefaultNetwork) != "" { dn = cfg.Daemon.DefaultNetwork } options = append(options, config.OptionDefaultNetwork(dn)) dd := "bridge" if strings.TrimSpace(cfg.Daemon.DefaultDriver) != "" { dd = cfg.Daemon.DefaultDriver } options = append(options, config.OptionDefaultDriver(dd)) if cfg.Daemon.Labels != nil { options = append(options, config.OptionLabels(cfg.Daemon.Labels)) } if strings.TrimSpace(cfg.Datastore.Client.Provider) != "" { options = append(options, config.OptionKVProvider(cfg.Datastore.Client.Provider)) } if strings.TrimSpace(cfg.Datastore.Client.Address) != "" { options = append(options, config.OptionKVProviderURL(cfg.Datastore.Client.Address)) } return options }
func (daemon *Daemon) networkOptions(dconfig *Config) ([]nwconfig.Option, error) { options := []nwconfig.Option{} if dconfig == nil { return options, nil } options = append(options, nwconfig.OptionDataDir(dconfig.Root)) if strings.TrimSpace(dconfig.DefaultNetwork) != "" { dn := strings.Split(dconfig.DefaultNetwork, ":") if len(dn) < 2 { return nil, fmt.Errorf("default network daemon config must be of the form NETWORKDRIVER:NETWORKNAME") } options = append(options, nwconfig.OptionDefaultDriver(dn[0])) options = append(options, nwconfig.OptionDefaultNetwork(strings.Join(dn[1:], ":"))) } else { dd := runconfig.DefaultDaemonNetworkMode() dn := runconfig.DefaultDaemonNetworkMode().NetworkName() options = append(options, nwconfig.OptionDefaultDriver(string(dd))) options = append(options, nwconfig.OptionDefaultNetwork(dn)) } if strings.TrimSpace(dconfig.ClusterStore) != "" { kv := strings.Split(dconfig.ClusterStore, "://") if len(kv) != 2 { return nil, fmt.Errorf("kv store daemon config must be of the form KV-PROVIDER://KV-URL") } options = append(options, nwconfig.OptionKVProvider(kv[0])) options = append(options, nwconfig.OptionKVProviderURL(kv[1])) } if len(dconfig.ClusterOpts) > 0 { options = append(options, nwconfig.OptionKVOpts(dconfig.ClusterOpts)) } if daemon.discoveryWatcher != nil { options = append(options, nwconfig.OptionDiscoveryWatcher(daemon.discoveryWatcher)) } if dconfig.ClusterAdvertise != "" { options = append(options, nwconfig.OptionDiscoveryAddress(dconfig.ClusterAdvertise)) } options = append(options, nwconfig.OptionLabels(dconfig.Labels)) options = append(options, driverOptions(dconfig)...) return options, nil }
func (daemon *Daemon) networkOptions(dconfig *Config, pg plugingetter.PluginGetter, activeSandboxes map[string]interface{}) ([]nwconfig.Option, error) { options := []nwconfig.Option{} if dconfig == nil { return options, nil } options = append(options, nwconfig.OptionExperimental(dconfig.Experimental)) options = append(options, nwconfig.OptionDataDir(dconfig.Root)) options = append(options, nwconfig.OptionExecRoot(dconfig.GetExecRoot())) dd := runconfig.DefaultDaemonNetworkMode() dn := runconfig.DefaultDaemonNetworkMode().NetworkName() options = append(options, nwconfig.OptionDefaultDriver(string(dd))) options = append(options, nwconfig.OptionDefaultNetwork(dn)) if strings.TrimSpace(dconfig.ClusterStore) != "" { kv := strings.Split(dconfig.ClusterStore, "://") if len(kv) != 2 { return nil, errors.New("kv store daemon config must be of the form KV-PROVIDER://KV-URL") } options = append(options, nwconfig.OptionKVProvider(kv[0])) options = append(options, nwconfig.OptionKVProviderURL(kv[1])) } if len(dconfig.ClusterOpts) > 0 { options = append(options, nwconfig.OptionKVOpts(dconfig.ClusterOpts)) } if daemon.discoveryWatcher != nil { options = append(options, nwconfig.OptionDiscoveryWatcher(daemon.discoveryWatcher)) } if dconfig.ClusterAdvertise != "" { options = append(options, nwconfig.OptionDiscoveryAddress(dconfig.ClusterAdvertise)) } options = append(options, nwconfig.OptionLabels(dconfig.Labels)) options = append(options, driverOptions(dconfig)...) if daemon.configStore != nil && daemon.configStore.LiveRestoreEnabled && len(activeSandboxes) != 0 { options = append(options, nwconfig.OptionActiveSandboxes(activeSandboxes)) } if pg != nil { options = append(options, nwconfig.OptionPluginGetter(pg)) } return options, nil }