Skip to content

Commit 0a73c0e

Browse files
Set default refresh interval to 5m for all receivers
Signed-off-by: Anand Rajagopal <[email protected]> Adding to test for multiple receivers with single secret Signed-off-by: Anand Rajagopal <[email protected]>
1 parent 01b5453 commit 0a73c0e

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

secrets/providers/aws_secrets_manager.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,10 @@ func (a *AWSSecretsManagerProvider) Register(secret secrets.GenericSecret) secre
145145
a.mtx.Lock()
146146
defer a.mtx.Unlock()
147147
if f, OK := a.fetchers[s.SecretARN]; OK {
148+
if s.RefreshInterval <= 0 {
149+
a.logger.Info("setting default refresh interval for", "ARN", s.SecretARN)
150+
s.RefreshInterval = time.Minute * 5
151+
}
148152
a.logger.Info("found an existing secret fetcher", "ARN", s.SecretARN)
149153
f.update(s.RefreshInterval)
150154
a.newFetchers[s.SecretARN] = struct{}{}

secrets/providers/aws_secrets_manager_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,37 @@ func TestRegisterSecret(t *testing.T) {
428428
provider.Stop()
429429
}
430430

431+
func TestRegisterMultipleSecretsNoRefreshInterval(t *testing.T) {
432+
reg := prometheus.NewPedanticRegistry()
433+
ctx, cancel := context.WithCancel(context.Background())
434+
options := secrets.SecretProviderOptions{
435+
Logger: promslog.NewNopLogger(),
436+
Registerer: reg,
437+
Context: ctx,
438+
}
439+
provider := NewAWSSecretsManagerProvider(options)
440+
secretOne := secrets.GenericSecret{
441+
AWSSecretsManagerConfig: secrets.AWSSecretsManagerConfig{
442+
SecretARN: "arn:aws:secretsmanager:us-west-2:123456789:secret:receiver-pager-duty",
443+
SecretKey: "key1",
444+
},
445+
}
446+
secretOneCopy := secrets.GenericSecret{
447+
AWSSecretsManagerConfig: secrets.AWSSecretsManagerConfig{
448+
SecretARN: "arn:aws:secretsmanager:us-west-2:123456789:secret:receiver-pager-duty",
449+
SecretKey: "key2",
450+
},
451+
}
452+
provider.Register(secretOne)
453+
require.Equal(t, 1, provider.fetchersCount())
454+
455+
provider.Register(secretOneCopy)
456+
require.Equal(t, 1, provider.fetchersCount())
457+
458+
cancel()
459+
provider.Stop()
460+
}
461+
431462
type MockSecretsManagerClient struct {
432463
secretsmanager.Client
433464
secrets map[string]string

0 commit comments

Comments
 (0)