From 56580d6fa6a3b23b7319acde9f91e0ea06832914 Mon Sep 17 00:00:00 2001 From: Hans Hasselberg Date: Thu, 13 Oct 2022 11:31:28 +0200 Subject: [PATCH] adding configuration option cloud.scada_address (#14936) * adding scada_address * config tests * add changelog entry --- .changelog/14936.txt | 3 +++ agent/config/builder.go | 1 + agent/config/config.go | 1 + agent/config/runtime_test.go | 1 + agent/config/testdata/TestRuntimeConfig_Sanitize.golden | 5 +++-- agent/config/testdata/full-config.hcl | 1 + agent/config/testdata/full-config.json | 3 ++- agent/hcp/config/config.go | 4 ++++ 8 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 .changelog/14936.txt diff --git a/.changelog/14936.txt b/.changelog/14936.txt new file mode 100644 index 000000000..bec778de9 --- /dev/null +++ b/.changelog/14936.txt @@ -0,0 +1,3 @@ +```release-note:improvement +agent: Added configuration option cloud.scada_address. +``` diff --git a/agent/config/builder.go b/agent/config/builder.go index d6b045c93..3f3d765d2 100644 --- a/agent/config/builder.go +++ b/agent/config/builder.go @@ -2459,6 +2459,7 @@ func (b *builder) cloudConfigVal(v *CloudConfigRaw) (val hcpconfig.CloudConfig) val.ClientSecret = stringVal(v.ClientSecret) val.AuthURL = stringVal(v.AuthURL) val.Hostname = stringVal(v.Hostname) + val.ScadaAddress = stringVal(v.ScadaAddress) return val } diff --git a/agent/config/config.go b/agent/config/config.go index af75b89b2..d765eb546 100644 --- a/agent/config/config.go +++ b/agent/config/config.go @@ -866,6 +866,7 @@ type CloudConfigRaw struct { ClientSecret *string `mapstructure:"client_secret"` Hostname *string `mapstructure:"hostname"` AuthURL *string `mapstructure:"auth_url"` + ScadaAddress *string `mapstructure:"scada_address"` } type TLSProtocolConfig struct { diff --git a/agent/config/runtime_test.go b/agent/config/runtime_test.go index 30aa3f0ac..90d3b3143 100644 --- a/agent/config/runtime_test.go +++ b/agent/config/runtime_test.go @@ -5996,6 +5996,7 @@ func TestLoad_FullConfig(t *testing.T) { ClientSecret: "lCSMHOpB", Hostname: "DH4bh7aC", AuthURL: "332nCdR2", + ScadaAddress: "aoeusth232", }, DNSAddrs: []net.Addr{tcpAddr("93.95.95.81:7001"), udpAddr("93.95.95.81:7001")}, DNSARecordLimit: 29907, diff --git a/agent/config/testdata/TestRuntimeConfig_Sanitize.golden b/agent/config/testdata/TestRuntimeConfig_Sanitize.golden index 3a29fb009..9d76d78bc 100644 --- a/agent/config/testdata/TestRuntimeConfig_Sanitize.golden +++ b/agent/config/testdata/TestRuntimeConfig_Sanitize.golden @@ -129,7 +129,8 @@ "ClientID": "id", "ClientSecret": "hidden", "Hostname": "", - "ResourceID": "cluster1" + "ResourceID": "cluster1", + "ScadaAddress": "" }, "ConfigEntryBootstrap": [], "ConnectCAConfig": {}, @@ -479,4 +480,4 @@ "VersionMetadata": "", "VersionPrerelease": "", "Watches": [] -} \ No newline at end of file +} diff --git a/agent/config/testdata/full-config.hcl b/agent/config/testdata/full-config.hcl index cab2074e7..f2e13c722 100644 --- a/agent/config/testdata/full-config.hcl +++ b/agent/config/testdata/full-config.hcl @@ -207,6 +207,7 @@ cloud { client_secret = "lCSMHOpB" hostname = "DH4bh7aC" auth_url = "332nCdR2" + scada_address = "aoeusth232" } connect { ca_provider = "consul" diff --git a/agent/config/testdata/full-config.json b/agent/config/testdata/full-config.json index f95363f8e..9ff50db78 100644 --- a/agent/config/testdata/full-config.json +++ b/agent/config/testdata/full-config.json @@ -208,7 +208,8 @@ "client_id": "6WvsDZCP", "client_secret": "lCSMHOpB", "hostname": "DH4bh7aC", - "auth_url": "332nCdR2" + "auth_url": "332nCdR2", + "scada_address": "aoeusth232" }, "connect": { "ca_provider": "consul", diff --git a/agent/hcp/config/config.go b/agent/hcp/config/config.go index 4dc2ffb5f..981357104 100644 --- a/agent/hcp/config/config.go +++ b/agent/hcp/config/config.go @@ -13,6 +13,7 @@ type CloudConfig struct { ClientSecret string Hostname string AuthURL string + ScadaAddress string } func (c *CloudConfig) HCPConfig(opts ...hcpcfg.HCPConfigOption) (hcpcfg.HCPConfig, error) { @@ -25,6 +26,9 @@ func (c *CloudConfig) HCPConfig(opts ...hcpcfg.HCPConfigOption) (hcpcfg.HCPConfi if c.Hostname != "" { opts = append(opts, hcpcfg.WithAPI(c.Hostname, &tls.Config{})) } + if c.ScadaAddress != "" { + opts = append(opts, hcpcfg.WithSCADA(c.ScadaAddress, &tls.Config{})) + } opts = append(opts, hcpcfg.FromEnv()) return hcpcfg.NewHCPConfig(opts...) }