Skip to content

Commit 87ea069

Browse files
committed
fix(installer): Always write the generated disclaimer on config
1 parent a96f746 commit 87ea069

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

pkg/fleet/installer/setup/common/config.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package common
77

88
import (
9+
"bytes"
910
"fmt"
1011
"maps"
1112
"os"
@@ -91,7 +92,7 @@ func writeConfig(path string, config any, perms os.FileMode, merge bool) error {
9192
if err != nil {
9293
return fmt.Errorf("could not serialize merged config: %w", err)
9394
}
94-
if len(existingConfig) == 0 {
95+
if !bytes.HasPrefix(serializedMerged, []byte(disclaimerGenerated+"\n\n")) {
9596
serializedMerged = []byte(disclaimerGenerated + "\n\n" + string(serializedMerged))
9697
}
9798
err = os.WriteFile(path, serializedMerged, perms)

pkg/fleet/installer/setup/common/config_test.go

+20
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ package common
1010
import (
1111
"os"
1212
"path/filepath"
13+
"strings"
1314
"testing"
1415

1516
"github.com/stretchr/testify/assert"
@@ -166,3 +167,22 @@ func TestIntegrationConfigInstanceSpark(t *testing.T) {
166167
},
167168
}, spark)
168169
}
170+
171+
func TestDoubleWriteConfig(t *testing.T) {
172+
tempDir := t.TempDir()
173+
config := Config{}
174+
config.DatadogYAML.APIKey = "1234567890" // Required field
175+
config.DatadogYAML.Hostname = "new_hostname"
176+
config.DatadogYAML.LogsEnabled = true
177+
178+
err := writeConfigs(config, tempDir)
179+
assert.NoError(t, err)
180+
181+
err = writeConfigs(config, tempDir)
182+
assert.NoError(t, err)
183+
184+
// Check datadog.yaml
185+
datadogYAML, err := os.ReadFile(filepath.Join(tempDir, datadogConfFile))
186+
assert.NoError(t, err)
187+
assert.True(t, strings.HasPrefix(string(datadogYAML), disclaimerGenerated+"\n\n"))
188+
}

0 commit comments

Comments
 (0)