Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package helm for openSUSE:Factory checked in at 2023-11-10 12:33:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/helm (Old) and /work/SRC/openSUSE:Factory/.helm.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "helm" Fri Nov 10 12:33:32 2023 rev:59 rq:1124808 version:3.13.2 Changes: -------- --- /work/SRC/openSUSE:Factory/helm/helm.changes 2023-10-12 23:47:41.137010930 +0200 +++ /work/SRC/openSUSE:Factory/.helm.new.17445/helm.changes 2023-11-10 12:37:24.957577457 +0100 @@ -1,0 +2,18 @@ +Wed Nov 08 19:35:20 UTC 2023 - ka...@b1-systems.de + +- Update to version 3.13.2 (bsc#1217013): + * chore(deps): bump google.golang.org/grpc from 1.54.0 to 1.56.3 + * Update get-helm-3 + * chore(deps): bump github.com/docker/docker + * Fixing release labelling in rollback + * Drop filterSystemLabels usage from Query method + * Apply review suggestions + * Allow using label selectors for system labels for sql backend. + * Allow using label selectors for system labels for secrets and + configmap backends. + * Revert "fix(main): fix basic auth for helm pull or push" + * Revert "fix(registry): address anonymous pull issue" + * chore(deps): bump golang.org/x/net from 0.13.0 to 0.17.0 + * Update get-helm-3 to get version through get.helm.sh + +------------------------------------------------------------------- Old: ---- helm-3.13.1.obscpio New: ---- helm-3.13.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ helm.spec ++++++ --- /var/tmp/diff_new_pack.lJjrla/_old 2023-11-10 12:37:25.773607659 +0100 +++ /var/tmp/diff_new_pack.lJjrla/_new 2023-11-10 12:37:25.773607659 +0100 @@ -17,16 +17,16 @@ %define goipath helm.sh/helm/v3 -%define git_commit 3547a4b5bf5edb5478ce352e18858d8a552a4110 +%define git_commit 2a2fb3b98829f1e0be6fb18af2f6599e0f4e8243 %define git_dirty clean Name: helm -Version: 3.13.1 +Version: 3.13.2 Release: 0 Summary: The Kubernetes Package Manager License: Apache-2.0 Group: Development/Languages/Other URL: https://github.com/helm/helm -Source0: https://github.com/helm/helm/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source0: %{name}-%{version}.tar.gz Source1: vendor.tar.gz BuildRequires: golang-packaging BuildRequires: golang(API) = 1.20 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.lJjrla/_old 2023-11-10 12:37:25.801608695 +0100 +++ /var/tmp/diff_new_pack.lJjrla/_new 2023-11-10 12:37:25.805608844 +0100 @@ -5,7 +5,7 @@ <param name="exclude">.git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">v3.13.1</param> + <param name="revision">v3.13.2</param> <param name="changesgenerate">enable</param> </service> <service name="set_version" mode="manual"> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.lJjrla/_old 2023-11-10 12:37:25.825609584 +0100 +++ /var/tmp/diff_new_pack.lJjrla/_new 2023-11-10 12:37:25.829609732 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/helm/helm.git</param> - <param name="changesrevision">3547a4b5bf5edb5478ce352e18858d8a552a4110</param></service></servicedata> + <param name="changesrevision">2a2fb3b98829f1e0be6fb18af2f6599e0f4e8243</param></service></servicedata> (No newline at EOF) ++++++ helm-3.13.1.obscpio -> helm-3.13.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/cmd/helm/rollback_test.go new/helm-3.13.2/cmd/helm/rollback_test.go --- old/helm-3.13.1/cmd/helm/rollback_test.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/cmd/helm/rollback_test.go 2023-11-08 13:58:02.000000000 +0100 @@ -17,6 +17,8 @@ package main import ( + "fmt" + "reflect" "testing" "helm.sh/helm/v3/pkg/chart" @@ -121,3 +123,44 @@ checkFileCompletion(t, "rollback myrelease", false) checkFileCompletion(t, "rollback myrelease 1", false) } + +func TestRollbackWithLabels(t *testing.T) { + labels1 := map[string]string{"operation": "install", "firstLabel": "firstValue"} + labels2 := map[string]string{"operation": "upgrade", "secondLabel": "secondValue"} + + releaseName := "funny-bunny-labels" + rels := []*release.Release{ + { + Name: releaseName, + Info: &release.Info{Status: release.StatusSuperseded}, + Chart: &chart.Chart{}, + Version: 1, + Labels: labels1, + }, + { + Name: releaseName, + Info: &release.Info{Status: release.StatusDeployed}, + Chart: &chart.Chart{}, + Version: 2, + Labels: labels2, + }, + } + storage := storageFixture() + for _, rel := range rels { + if err := storage.Create(rel); err != nil { + t.Fatal(err) + } + } + _, _, err := executeActionCommandC(storage, fmt.Sprintf("rollback %s 1", releaseName)) + if err != nil { + t.Errorf("unexpected error, got '%v'", err) + } + updatedRel, err := storage.Get(releaseName, 3) + if err != nil { + t.Errorf("unexpected error, got '%v'", err) + } + + if !reflect.DeepEqual(updatedRel.Labels, labels1) { + t.Errorf("Expected {%v}, got {%v}", labels1, updatedRel.Labels) + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/go.mod new/helm-3.13.2/go.mod --- old/helm-3.13.1/go.mod 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/go.mod 2023-11-08 13:58:02.000000000 +0100 @@ -33,8 +33,8 @@ github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.4 github.com/xeipuuv/gojsonschema v1.2.0 - golang.org/x/crypto v0.13.0 - golang.org/x/term v0.12.0 + golang.org/x/crypto v0.14.0 + golang.org/x/term v0.13.0 golang.org/x/text v0.13.0 k8s.io/api v0.28.2 k8s.io/apiextensions-apiserver v0.28.2 @@ -66,7 +66,7 @@ github.com/davecgh/go-spew v1.1.1 // indirect github.com/docker/cli v24.0.6+incompatible // indirect github.com/docker/distribution v2.8.2+incompatible // indirect - github.com/docker/docker v24.0.6+incompatible // indirect + github.com/docker/docker v24.0.7+incompatible // indirect github.com/docker/docker-credential-helpers v0.7.0 // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect @@ -142,14 +142,14 @@ go.opentelemetry.io/otel v1.14.0 // indirect go.opentelemetry.io/otel/trace v1.14.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect - golang.org/x/net v0.13.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.12.0 // indirect + golang.org/x/sys v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect - google.golang.org/grpc v1.54.0 // indirect + google.golang.org/grpc v1.56.3 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/go.sum new/helm-3.13.2/go.sum --- old/helm-3.13.1/go.sum 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/go.sum 2023-11-08 13:58:02.000000000 +0100 @@ -72,8 +72,8 @@ github.com/docker/cli v24.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.6+incompatible h1:hceabKCtUgDqPu+qm0NgsaXf28Ljf4/pWFL7xjWWDgE= -github.com/docker/docker v24.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= +github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= @@ -385,8 +385,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -410,8 +410,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY= -golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= @@ -444,14 +444,14 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -488,8 +488,8 @@ google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= +google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/action/rollback.go new/helm-3.13.2/pkg/action/rollback.go --- old/helm-3.13.1/pkg/action/rollback.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/action/rollback.go 2023-11-08 13:58:02.000000000 +0100 @@ -151,6 +151,7 @@ Description: fmt.Sprintf("Rollback to %d", previousVersion), }, Version: currentRelease.Version + 1, + Labels: previousRelease.Labels, Manifest: previousRelease.Manifest, Hooks: previousRelease.Hooks, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/registry/client.go new/helm-3.13.2/pkg/registry/client.go --- old/helm-3.13.1/pkg/registry/client.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/registry/client.go 2023-11-08 13:58:02.000000000 +0100 @@ -96,18 +96,8 @@ return resolver, nil } } - headers := http.Header{} headers.Set("User-Agent", version.GetUserAgent()) - dockerClient, ok := client.authorizer.(*dockerauth.Client) - if ok { - username, password, err := dockerClient.Credential(ref.Registry) - if err != nil { - return nil, fmt.Errorf("unable to retrieve credentials: %w", err) - } - authHeader(username, password, &headers) - } - opts := []auth.ResolverOption{auth.WithResolverHeaders(headers)} if client.httpClient != nil { opts = append(opts, auth.WithResolverClient(client.httpClient)) @@ -139,6 +129,7 @@ if !ok { return registryauth.EmptyCredential, errors.New("unable to obtain docker client") } + username, password, err := dockerClient.Credential(reg) if err != nil { return registryauth.EmptyCredential, errors.New("unable to retrieve credentials") @@ -602,6 +593,7 @@ if err := memoryStore.StoreManifest(parsedRef.String(), manifest, manifestData); err != nil { return nil, err } + remotesResolver, err := c.resolver(parsedRef) if err != nil { return nil, err diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/registry/util.go new/helm-3.13.2/pkg/registry/util.go --- old/helm-3.13.1/pkg/registry/util.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/registry/util.go 2023-11-08 13:58:02.000000000 +0100 @@ -19,7 +19,6 @@ import ( "bytes" "context" - "encoding/base64" "fmt" "io" "net/http" @@ -246,32 +245,3 @@ return inputMap } - -// See 2 (end of page 4) https://www.ietf.org/rfc/rfc2617.txt -// "To receive authorization, the client sends the userid and password, -// separated by a single colon (":") character, within a base64 -// encoded string in the credentials." -// It is not meant to be urlencoded. -func basicAuth(username, password string) string { - auth := username + ":" + password - return base64.StdEncoding.EncodeToString([]byte(auth)) -} - -// authHeader generates an HTTP authorization header based on the provided -// username and password and sets it in the provided HTTP headers pointer. -// -// If both username and password are empty, no header is set. -// If only the password is provided, a "Bearer" token is created and set in -// the Authorization header. -// If both username and password are provided, a "Basic" authentication token -// is created using the basicAuth function, and set in the Authorization header. -func authHeader(username, password string, headers *http.Header) { - if username == "" && password == "" { - return - } - if username == "" { - headers.Set("Authorization", fmt.Sprintf("Bearer %s", password)) - return - } - headers.Set("Authorization", fmt.Sprintf("Basic %s", basicAuth(username, password))) -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/registry/util_test.go new/helm-3.13.2/pkg/registry/util_test.go --- old/helm-3.13.1/pkg/registry/util_test.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/registry/util_test.go 2023-11-08 13:58:02.000000000 +0100 @@ -17,7 +17,6 @@ package registry // import "helm.sh/helm/v3/pkg/registry" import ( - "net/http" "reflect" "testing" "time" @@ -239,77 +238,3 @@ } } - -func Test_basicAuth(t *testing.T) { - type args struct { - username string - password string - } - tests := []struct { - name string - args args - want string - }{ - { - name: "Basic Auth", - args: args{ - username: "admin", - password: "passw0rd", - }, - want: "YWRtaW46cGFzc3cwcmQ=", - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if got := basicAuth(tt.args.username, tt.args.password); got != tt.want { - t.Errorf("basicAuth() = %v, want %v", got, tt.want) - } - }) - } -} - -func Test_authHeader(t *testing.T) { - tests := []struct { - name string - username string - password string - expectedHeader http.Header - }{ - { - name: "basic login header with username and password", - username: "admin", - password: "passw0rd", - expectedHeader: func() http.Header { - header := http.Header{} - header.Set("Authorization", "Basic YWRtaW46cGFzc3cwcmQ=") - return header - }(), - }, - { - name: "bearer login header with no username and password", - username: "", - password: "hunter2", - expectedHeader: func() http.Header { - header := http.Header{} - header.Set("Authorization", "Bearer hunter2") - return header - }(), - }, - { - name: "no change in header with neither username nor password", - username: "", - password: "", - expectedHeader: http.Header{}, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got := &http.Header{} - authHeader(tt.username, tt.password, got) - if !reflect.DeepEqual(*got, tt.expectedHeader) { - t.Errorf("authHeader got %#v wanted %#v", *got, tt.expectedHeader) - } - }) - } -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/storage/driver/cfgmaps.go new/helm-3.13.2/pkg/storage/driver/cfgmaps.go --- old/helm-3.13.1/pkg/storage/driver/cfgmaps.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/storage/driver/cfgmaps.go 2023-11-08 13:58:02.000000000 +0100 @@ -107,7 +107,7 @@ continue } - rls.Labels = filterSystemLabels(item.ObjectMeta.Labels) + rls.Labels = item.ObjectMeta.Labels if filter(rls) { results = append(results, rls) @@ -146,7 +146,7 @@ cfgmaps.Log("query: failed to decode release: %s", err) continue } - rls.Labels = filterSystemLabels(item.ObjectMeta.Labels) + rls.Labels = item.ObjectMeta.Labels results = append(results, rls) } return results, nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/storage/driver/cfgmaps_test.go new/helm-3.13.2/pkg/storage/driver/cfgmaps_test.go --- old/helm-3.13.1/pkg/storage/driver/cfgmaps_test.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/storage/driver/cfgmaps_test.go 2023-11-08 13:58:02.000000000 +0100 @@ -128,6 +128,16 @@ if len(ssd) != 2 { t.Errorf("Expected 2 superseded, got %d", len(ssd)) } + // 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 'key1' label in results, actual %v", rls.Labels) + } } func TestConfigMapQuery(t *testing.T) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/storage/driver/secrets.go new/helm-3.13.2/pkg/storage/driver/secrets.go --- old/helm-3.13.1/pkg/storage/driver/secrets.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/storage/driver/secrets.go 2023-11-08 13:58:02.000000000 +0100 @@ -99,7 +99,7 @@ continue } - rls.Labels = filterSystemLabels(item.ObjectMeta.Labels) + rls.Labels = item.ObjectMeta.Labels if filter(rls) { results = append(results, rls) @@ -137,7 +137,7 @@ secrets.Log("query: failed to decode release: %s", err) continue } - rls.Labels = filterSystemLabels(item.ObjectMeta.Labels) + rls.Labels = item.ObjectMeta.Labels results = append(results, rls) } return results, nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/storage/driver/secrets_test.go new/helm-3.13.2/pkg/storage/driver/secrets_test.go --- old/helm-3.13.1/pkg/storage/driver/secrets_test.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/storage/driver/secrets_test.go 2023-11-08 13:58:02.000000000 +0100 @@ -128,6 +128,16 @@ if len(ssd) != 2 { t.Errorf("Expected 2 superseded, got %d", len(ssd)) } + // 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 'key1' label in results, actual %v", rls.Labels) + } } func TestSecretQuery(t *testing.T) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/storage/driver/sql.go new/helm-3.13.2/pkg/storage/driver/sql.go --- old/helm-3.13.1/pkg/storage/driver/sql.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/storage/driver/sql.go 2023-11-08 13:58:02.000000000 +0100 @@ -19,6 +19,7 @@ import ( "fmt" "sort" + "strconv" "time" "github.com/jmoiron/sqlx" @@ -368,6 +369,9 @@ 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) @@ -681,3 +685,13 @@ 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), + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/pkg/storage/driver/sql_test.go new/helm-3.13.2/pkg/storage/driver/sql_test.go --- old/helm-3.13.1/pkg/storage/driver/sql_test.go 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/pkg/storage/driver/sql_test.go 2023-11-08 13:58:02.000000000 +0100 @@ -157,6 +157,17 @@ 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 'key1' label in results, actual %v", rls.Labels) + } } func TestSqlCreate(t *testing.T) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/helm-3.13.1/scripts/get-helm-3 new/helm-3.13.2/scripts/get-helm-3 --- old/helm-3.13.1/scripts/get-helm-3 2023-10-12 15:24:31.000000000 +0200 +++ new/helm-3.13.2/scripts/get-helm-3 2023-11-08 13:58:02.000000000 +0100 @@ -108,14 +108,14 @@ checkDesiredVersion() { if [ "x$DESIRED_VERSION" == "x" ]; then # Get tag from release URL - local latest_release_url="https://api.github.com/repos/helm/helm/releases/latest" + local latest_release_url="https://get.helm.sh/helm-latest-version" local latest_release_response="" if [ "${HAS_CURL}" == "true" ]; then latest_release_response=$( curl -L --silent --show-error --fail "$latest_release_url" 2>&1 || true ) elif [ "${HAS_WGET}" == "true" ]; then - latest_release_response=$( wget "$latest_release_url" -O - 2>&1 || true ) + latest_release_response=$( wget "$latest_release_url" -q -O - 2>&1 || true ) fi - TAG=$( echo "$latest_release_response" | grep '"tag_name"' | sed -E 's/.*"(v[0-9\.]+)".*/\1/g' ) + TAG=$( echo "$latest_release_response" | grep '^v[0-9]' ) if [ "x$TAG" == "x" ]; then printf "Could not retrieve the latest release tag information from %s: %s\n" "${latest_release_url}" "${latest_release_response}" exit 1 ++++++ helm.obsinfo ++++++ --- /var/tmp/diff_new_pack.lJjrla/_old 2023-11-10 12:37:26.345628830 +0100 +++ /var/tmp/diff_new_pack.lJjrla/_new 2023-11-10 12:37:26.349628979 +0100 @@ -1,5 +1,5 @@ name: helm -version: 3.13.1 -mtime: 1697117071 -commit: 3547a4b5bf5edb5478ce352e18858d8a552a4110 +version: 3.13.2 +mtime: 1699448282 +commit: 2a2fb3b98829f1e0be6fb18af2f6599e0f4e8243 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/helm/vendor.tar.gz /work/SRC/openSUSE:Factory/.helm.new.17445/vendor.tar.gz differ: char 5, line 1