client: add autofetch for CNI plugins

This commit is contained in:
Nick Ethier
2019-06-20 00:02:23 -04:00
parent 4dd5cd103d
commit 0bd157cc3b
7 changed files with 120 additions and 0 deletions

View File

@@ -437,6 +437,7 @@ func convertClientConfig(agentConfig *Config) (*clientconfig.Config, error) {
if agentConfig.DataDir != "" {
conf.StateDir = filepath.Join(agentConfig.DataDir, "client")
conf.AllocDir = filepath.Join(agentConfig.DataDir, "alloc")
conf.AutoFetchCNIDir = filepath.Join(agentConfig.DataDir, "cnibin")
}
if agentConfig.Client.StateDir != "" {
conf.StateDir = agentConfig.Client.StateDir
@@ -542,6 +543,8 @@ func convertClientConfig(agentConfig *Config) (*clientconfig.Config, error) {
conf.CNIPath = agentConfig.Client.CNIPath
conf.BridgeNetworkName = agentConfig.Client.BridgeNetworkName
conf.BridgeNetworkAllocSubnet = agentConfig.Client.BridgeNetworkSubnet
conf.AutoFetchCNI = agentConfig.Client.AutoFetchCNIPlugins
conf.AutoFetchCNIURL = agentConfig.Client.AutoFetchCNIPluginsURL
return conf, nil
}

View File

@@ -260,6 +260,12 @@ type ClientConfig struct {
// creating allocations with bridge networking mode. This range is local to
// the host
BridgeNetworkSubnet string `hcl:"bridge_network_subnet"`
// AutoFetchCNIPlugins
AutoFetchCNIPlugins bool `hcl:"auto_fetch_cni_plugins`
// AutoFetchCNIPluginsURL
AutoFetchCNIPluginsURL string `hcl:"auto_fetch_cni_plugins_url`
}
// ACLConfig is configuration specific to the ACL system
@@ -674,6 +680,7 @@ func DevConfig() *Config {
conf.Telemetry.PrometheusMetrics = true
conf.Telemetry.PublishAllocationMetrics = true
conf.Telemetry.PublishNodeMetrics = true
conf.Client.AutoFetchCNIPlugins = true
return conf
}