Skip to content

Commit 5dd476e

Browse files
authored
[*] monitor specified groups only, fixes #1093 (#1163)
don't consider default group or whatever
1 parent d6d6875 commit 5dd476e

4 files changed

Lines changed: 9 additions & 32 deletions

File tree

internal/reaper/reaper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ func (r *Reaper) LoadSources(ctx context.Context) (err error) {
397397
return err
398398
}
399399
srcs = slices.DeleteFunc(srcs, func(s sources.Source) bool {
400-
return !s.IsEnabled || len(r.Sources.Groups) > 0 && !s.IsDefaultGroup() && !slices.Contains(r.Sources.Groups, s.Group)
400+
return !s.IsEnabled || len(r.Sources.Groups) > 0 && !slices.Contains(r.Sources.Groups, s.Group)
401401
})
402402
if newSrcs, err = srcs.ResolveDatabases(); err != nil {
403403
r.logger.WithError(err).Error("could not resolve databases from sources")

internal/reaper/reaper_test.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,27 +74,28 @@ func TestReaper_LoadSources(t *testing.T) {
7474
})
7575

7676
t.Run("Test group limited sources", func(t *testing.T) {
77-
source1 := sources.Source{Name: "Source 1", IsEnabled: true, Kind: sources.SourcePostgres, Group: ""} // Empty group should not filter
77+
source1 := sources.Source{Name: "Source 1", IsEnabled: true, Kind: sources.SourcePostgres, Group: ""}
7878
source2 := sources.Source{Name: "Source 2", IsEnabled: true, Kind: sources.SourcePostgres, Group: "group1"}
79-
source3 := sources.Source{Name: "Source 3", IsEnabled: true, Kind: sources.SourcePostgres, Group: "group2"}
80-
source4 := sources.Source{Name: "Source 4", IsEnabled: true, Kind: sources.SourcePostgres, Group: "default"} // Default group should not filter
79+
source3 := sources.Source{Name: "Source 3", IsEnabled: true, Kind: sources.SourcePostgres, Group: "group1"}
80+
source4 := sources.Source{Name: "Source 4", IsEnabled: true, Kind: sources.SourcePostgres, Group: "group2"}
81+
source5 := sources.Source{Name: "Source 5", IsEnabled: true, Kind: sources.SourcePostgres, Group: "default"}
8182
newReader := &testutil.MockSourcesReaderWriter{
8283
GetSourcesFunc: func() (sources.Sources, error) {
83-
return sources.Sources{source1, source2, source3, source4}, nil
84+
return sources.Sources{source1, source2, source3, source4, source5}, nil
8485
},
8586
}
8687

8788
r := NewReaper(ctx, &cmdopts.Options{SourcesReaderWriter: newReader, Sources: sources.CmdOpts{Groups: []string{"group1", "group2"}}})
8889
assert.NoError(t, r.LoadSources(ctx))
89-
assert.Equal(t, 4, len(r.monitoredSources), "Expected four monitored sources after load")
90+
assert.Equal(t, 3, len(r.monitoredSources), "Expected three monitored sources after load")
9091

9192
r = NewReaper(ctx, &cmdopts.Options{SourcesReaderWriter: newReader, Sources: sources.CmdOpts{Groups: []string{"group1"}}})
9293
assert.NoError(t, r.LoadSources(ctx))
93-
assert.Equal(t, 3, len(r.monitoredSources), "Expected three monitored sources after group filtering")
94+
assert.Equal(t, 2, len(r.monitoredSources), "Expected two monitored source after group filtering")
9495

9596
r = NewReaper(ctx, &cmdopts.Options{SourcesReaderWriter: newReader})
9697
assert.NoError(t, r.LoadSources(ctx))
97-
assert.Equal(t, 4, len(r.monitoredSources), "Expected four monitored sources after resetting groups")
98+
assert.Equal(t, 5, len(r.monitoredSources), "Expected five monitored sources after resetting groups")
9899
})
99100

100101
t.Run("Test source config changes trigger restart", func(t *testing.T) {

internal/sources/types.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,6 @@ type (
6161
Sources []Source
6262
)
6363

64-
func (s Source) IsDefaultGroup() bool {
65-
return s.Group == "" || s.Group == "default"
66-
}
67-
6864
func (srcs Sources) Validate() (Sources, error) {
6965
names := map[string]any{}
7066
for _, src := range srcs {

internal/sources/types_test.go

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,6 @@ func TestKind_IsValid(t *testing.T) {
3131
}
3232
}
3333

34-
func TestSource_IsDefaultGroup(t *testing.T) {
35-
sources := sources.Sources{
36-
{
37-
Name: "test_source",
38-
Group: "default",
39-
},
40-
{
41-
Name: "test_source3",
42-
Group: "",
43-
},
44-
{
45-
Name: "test_source2",
46-
Group: "custom_group",
47-
},
48-
}
49-
assert.True(t, sources[0].IsDefaultGroup())
50-
assert.True(t, sources[1].IsDefaultGroup())
51-
assert.False(t, sources[2].IsDefaultGroup())
52-
}
53-
5434
func TestSource_Equal(t *testing.T) {
5535
var correctInterval float64 = 60
5636
var incorrectInterval float64 = 10

0 commit comments

Comments
 (0)