Skip to content

Commit

Permalink
Allow using label selectors for system labels for sql backend.
Browse files Browse the repository at this point in the history
Fixes #12435

Signed-off-by: Dmitry Chepurovskiy <me@dm3ch.net>
  • Loading branch information
dm3ch committed Oct 3, 2023
1 parent e219c75 commit e6d9b99
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
14 changes: 14 additions & 0 deletions pkg/storage/driver/sql.go
Expand Up @@ -19,6 +19,7 @@ package driver // import "helm.sh/helm/v3/pkg/storage/driver"
import (
"fmt"
"sort"
"strconv"
"time"

"github.com/jmoiron/sqlx"
Expand Down Expand Up @@ -368,6 +369,9 @@ func (s *SQL) List(filter func(*rspb.Release) bool) ([]*rspb.Release, error) {
s.Log("failed to get release %s/%s custom labels: %v", record.Namespace, record.Key, err)
return nil, err
}
for k, v := range getReleaseSystemLabels(release) {
release.Labels[k] = v
}

if filter(release) {
releases = append(releases, release)
Expand Down Expand Up @@ -681,3 +685,13 @@ func (s *SQL) getReleaseCustomLabels(key string, namespace string) (map[string]s

return filterSystemLabels(labelsMap), nil
}

// Rebuild system labels from release object
func getReleaseSystemLabels(rls *rspb.Release) map[string]string {
return map[string]string{
"name": rls.Name,
"owner": sqlReleaseDefaultOwner,
"status": rls.Info.Status.String(),
"version": strconv.Itoa(rls.Version),
}
}
11 changes: 11 additions & 0 deletions pkg/storage/driver/sql_test.go
Expand Up @@ -157,6 +157,17 @@ func TestSQLList(t *testing.T) {
if err := mock.ExpectationsWereMet(); err != nil {
t.Errorf("sql expectations weren't met: %v", err)
}

// Check if release having both system and custom labels, this is needed to ensure that selector filtering would work.
rls := ssd[0]
_, ok := rls.Labels["name"]
if !ok {
t.Fatalf("Expected 'name' label in results, actual %v", rls.Labels)
}
_, ok = rls.Labels["key1"]
if !ok {
t.Fatalf("Expected 'key-1' label in results, actual %v", rls.Labels)
}
}

func TestSqlCreate(t *testing.T) {
Expand Down

0 comments on commit e6d9b99

Please sign in to comment.