From 24b1b608364ec3ec71f7980011b052ed9642ab52 Mon Sep 17 00:00:00 2001 From: Antoine Labarussias Date: Wed, 3 Jun 2026 09:21:46 +0200 Subject: [PATCH] discovery/aws: handle rds clusters without instances Signed-off-by: Antoine Labarussias --- discovery/aws/rds.go | 3 --- discovery/aws/rds_test.go | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/discovery/aws/rds.go b/discovery/aws/rds.go index b2d5bae2d9..311eee497a 100644 --- a/discovery/aws/rds.go +++ b/discovery/aws/rds.go @@ -486,9 +486,6 @@ func (d *RDSDiscovery) describeDBInstances(ctx context.Context, dbClusterARN str if err != nil { return nil, fmt.Errorf("failed to describe DB instances for cluster ARN %s: %w", dbClusterARN, err) } - if len(output.DBInstances) == 0 { - return nil, fmt.Errorf("no DB instances found for cluster ARN %s", dbClusterARN) - } for _, dbInstance := range output.DBInstances { mu.Lock() diff --git a/discovery/aws/rds_test.go b/discovery/aws/rds_test.go index ee64b2e958..2e80dd7787 100644 --- a/discovery/aws/rds_test.go +++ b/discovery/aws/rds_test.go @@ -250,6 +250,21 @@ func TestRDSDiscoveryRefresh(t *testing.T) { }, }, }, + { + name: "NoInstancesInCluster", + clusters: map[string]types.DBCluster{ + "arn:aws:rds:us-west-2:123456789012:cluster:prod-cluster": { + DBClusterArn: aws.String("arn:aws:rds:us-west-2:123456789012:cluster:prod-cluster"), + DBClusterIdentifier: aws.String("prod-cluster"), + Engine: aws.String("aurora-mysql"), + EngineVersion: aws.String("8.0.mysql_aurora.3.04.0"), + Status: aws.String("available"), + DBClusterMembers: []types.DBClusterMember{}, + }, + }, + instances: map[string][]types.DBInstance{}, + expectedLabels: []model.LabelSet{}, + }, } for _, tt := range tests {