Skip to content

Commit 7239754

Browse files
VioletHynesE_Esmaeili
authored andcommitted
Fix issue with merging observations config (hashicorp#31248)
1 parent 08c519f commit 7239754

2 files changed

Lines changed: 23 additions & 2 deletions

File tree

command/server/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,8 @@ func (c *Config) Merge(c2 *Config) *Config {
447447
if c2.Observations.LedgerPath != "" {
448448
result.Observations.LedgerPath = c2.Observations.LedgerPath
449449
}
450-
result.Observations.TypePrefixDenylist = append(c.Observations.TypePrefixDenylist, c2.Observations.TypePrefixDenylist...)
451-
result.Observations.TypePrefixAllowlist = append(c.Observations.TypePrefixAllowlist, c2.Observations.TypePrefixAllowlist...)
450+
result.Observations.TypePrefixDenylist = append(result.Observations.TypePrefixDenylist, c2.Observations.TypePrefixDenylist...)
451+
result.Observations.TypePrefixAllowlist = append(result.Observations.TypePrefixAllowlist, c2.Observations.TypePrefixAllowlist...)
452452
if c2.Observations.FileMode != "" {
453453
result.Observations.FileMode = c2.Observations.FileMode
454454
}

command/server/config_test.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,27 @@ func Test_ObservationSystemConfigMerge(t *testing.T) {
139139
require.Equal(t, "0777", merged.Observations.FileMode)
140140
}
141141

142+
// Test_ObservationSystemConfigMergeFromNoObservations checks merge for observation system config from a config
143+
// without an observation system defined
144+
func Test_ObservationSystemConfigMergeFromNoObservations(t *testing.T) {
145+
config, err := LoadConfigFile("./test-fixtures/config.hcl")
146+
require.NoError(t, err)
147+
require.NotNil(t, config)
148+
149+
config2, err := LoadConfigFile("./test-fixtures/observations_allow_deny.hcl")
150+
require.NoError(t, err)
151+
require.NotNil(t, config2)
152+
153+
merged := config.Merge(config2)
154+
require.NotNil(t, merged)
155+
require.NotNil(t, merged.Observations)
156+
require.Equal(t, "/var/ledger.log", merged.Observations.LedgerPath)
157+
require.Equal(t, []string{"deny1", "deny2"}, merged.Observations.TypePrefixDenylist)
158+
require.Equal(t, []string{"allow1", "allow2", "allow3"}, merged.Observations.TypePrefixAllowlist)
159+
require.Equal(t, "0777", merged.Observations.FileMode)
160+
require.Equal(t, true, merged.EnableUI)
161+
}
162+
142163
// TestDuplicateKeyValidationHcl checks that the server command displays a warning when the HCL config file contains duplicate keys.
143164
func TestDuplicateKeyValidationHcl(t *testing.T) {
144165
testDuplicateKeyValidationHcl(t)

0 commit comments

Comments
 (0)