Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package helm3 for openSUSE:Factory checked 
in at 2026-03-18 16:50:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/helm3 (Old)
 and      /work/SRC/openSUSE:Factory/.helm3.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "helm3"

Wed Mar 18 16:50:28 2026 rev:7 rq:1340817 version:3.20.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/helm3/helm3.changes      2026-03-10 
18:00:41.697821201 +0100
+++ /work/SRC/openSUSE:Factory/.helm3.new.8177/helm3.changes    2026-03-18 
16:52:04.552959983 +0100
@@ -1,0 +2,18 @@
+Thu Mar 12 07:19:36 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 3.20.1:
+  * chore(deps): bump the k8s-io group with 7 updates a2369ca
+    (dependabot[bot])
+  * add image index test 90e1056 (Pedro Tôrres)
+  * fix pulling charts from OCI indices 911f2e9 (Pedro Tôrres)
+  * Remove refactorring changes from coalesce_test.go 76dad33
+    (Evans Mungai)
+  * Fix import 45c12f7 (Evans Mungai)
+  * Update pkg/chart/common/util/coalesce_test.go 26c6f19 (Evans
+    Mungai)
+  * Fix lint warning 09f5129 (Evans Mungai)
+  * Preserve nil values in chart already 417deb2 (Evans Mungai)
+  * fix(values): preserve nil values when chart default is empty
+    map 5417bfa (Evans Mungai)
+
+-------------------------------------------------------------------

Old:
----
  helm3-3.20.0.obscpio

New:
----
  helm3-3.20.1.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ helm3.spec ++++++
--- /var/tmp/diff_new_pack.L1chNb/_old  2026-03-18 16:52:05.793011093 +0100
+++ /var/tmp/diff_new_pack.L1chNb/_new  2026-03-18 16:52:05.809011752 +0100
@@ -19,7 +19,7 @@
 %define goipath helm.sh/helm/v3
 %define git_dirty clean
 Name:           helm3
-Version:        3.20.0
+Version:        3.20.1
 Release:        0
 Summary:        The Kubernetes Package Manager
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.L1chNb/_old  2026-03-18 16:52:05.877014555 +0100
+++ /var/tmp/diff_new_pack.L1chNb/_new  2026-03-18 16:52:05.881014720 +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.20.0</param>
+    <param name="revision">v3.20.1</param>
     <param name="changesgenerate">enable</param>
     <param name="filename">helm3</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.L1chNb/_old  2026-03-18 16:52:05.905015709 +0100
+++ /var/tmp/diff_new_pack.L1chNb/_new  2026-03-18 16:52:05.913016039 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/helm/helm.git</param>
-              <param 
name="changesrevision">b2e4314fa0f229a1de7b4c981273f61d69ee5a59</param></service></servicedata>
+              <param 
name="changesrevision">a2369ca71c0ef633bf6e4fccd66d634eb379b371</param></service></servicedata>
 (No newline at EOF)
 

++++++ helm3-3.20.0.obscpio -> helm3-3.20.1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helm3-3.20.0/go.mod new/helm3-3.20.1/go.mod
--- old/helm3-3.20.0/go.mod     2026-01-12 21:15:30.000000000 +0100
+++ new/helm3-3.20.1/go.mod     2026-03-12 00:22:18.000000000 +0100
@@ -37,14 +37,14 @@
        golang.org/x/term v0.39.0
        golang.org/x/text v0.33.0
        gopkg.in/yaml.v3 v3.0.1
-       k8s.io/api v0.35.0
-       k8s.io/apiextensions-apiserver v0.35.0
-       k8s.io/apimachinery v0.35.0
-       k8s.io/apiserver v0.35.0
-       k8s.io/cli-runtime v0.35.0
-       k8s.io/client-go v0.35.0
+       k8s.io/api v0.35.1
+       k8s.io/apiextensions-apiserver v0.35.1
+       k8s.io/apimachinery v0.35.1
+       k8s.io/apiserver v0.35.1
+       k8s.io/cli-runtime v0.35.1
+       k8s.io/client-go v0.35.1
        k8s.io/klog/v2 v2.130.1
-       k8s.io/kubectl v0.35.0
+       k8s.io/kubectl v0.35.1
        oras.land/oras-go/v2 v2.6.0
        sigs.k8s.io/yaml v1.6.0
 )
@@ -168,7 +168,7 @@
        gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
        gopkg.in/inf.v0 v0.9.1 // indirect
        gopkg.in/yaml.v2 v2.4.0 // indirect
-       k8s.io/component-base v0.35.0 // indirect
+       k8s.io/component-base v0.35.1 // indirect
        k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect
        k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect
        sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helm3-3.20.0/go.sum new/helm3-3.20.1/go.sum
--- old/helm3-3.20.0/go.sum     2026-01-12 21:15:30.000000000 +0100
+++ new/helm3-3.20.1/go.sum     2026-03-12 00:22:18.000000000 +0100
@@ -489,26 +489,26 @@
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod 
h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-k8s.io/api v0.35.0 h1:iBAU5LTyBI9vw3L5glmat1njFK34srdLmktWwLTprlY=
-k8s.io/api v0.35.0/go.mod h1:AQ0SNTzm4ZAczM03QH42c7l3bih1TbAXYo0DkF8ktnA=
-k8s.io/apiextensions-apiserver v0.35.0 
h1:3xHk2rTOdWXXJM+RDQZJvdx0yEOgC0FgQ1PlJatA5T4=
-k8s.io/apiextensions-apiserver v0.35.0/go.mod 
h1:E1Ahk9SADaLQ4qtzYFkwUqusXTcaV2uw3l14aqpL2LU=
-k8s.io/apimachinery v0.35.0 h1:Z2L3IHvPVv/MJ7xRxHEtk6GoJElaAqDCCU0S6ncYok8=
-k8s.io/apimachinery v0.35.0/go.mod 
h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns=
-k8s.io/apiserver v0.35.0 h1:CUGo5o+7hW9GcAEF3x3usT3fX4f9r8xmgQeCBDaOgX4=
-k8s.io/apiserver v0.35.0/go.mod h1:QUy1U4+PrzbJaM3XGu2tQ7U9A4udRRo5cyxkFX0GEds=
-k8s.io/cli-runtime v0.35.0 h1:PEJtYS/Zr4p20PfZSLCbY6YvaoLrfByd6THQzPworUE=
-k8s.io/cli-runtime v0.35.0/go.mod 
h1:VBRvHzosVAoVdP3XwUQn1Oqkvaa8facnokNkD7jOTMY=
-k8s.io/client-go v0.35.0 h1:IAW0ifFbfQQwQmga0UdoH0yvdqrbwMdq9vIFEhRpxBE=
-k8s.io/client-go v0.35.0/go.mod h1:q2E5AAyqcbeLGPdoRB+Nxe3KYTfPce1Dnu1myQdqz9o=
-k8s.io/component-base v0.35.0 h1:+yBrOhzri2S1BVqyVSvcM3PtPyx5GUxCK2tinZz1G94=
-k8s.io/component-base v0.35.0/go.mod 
h1:85SCX4UCa6SCFt6p3IKAPej7jSnF3L8EbfSyMZayJR0=
+k8s.io/api v0.35.1 h1:0PO/1FhlK/EQNVK5+txc4FuhQibV25VLSdLMmGpDE/Q=
+k8s.io/api v0.35.1/go.mod h1:28uR9xlXWml9eT0uaGo6y71xK86JBELShLy4wR1XtxM=
+k8s.io/apiextensions-apiserver v0.35.1 
h1:p5vvALkknlOcAqARwjS20kJffgzHqwyQRM8vHLwgU7w=
+k8s.io/apiextensions-apiserver v0.35.1/go.mod 
h1:2CN4fe1GZ3HMe4wBr25qXyJnJyZaquy4nNlNmb3R7AQ=
+k8s.io/apimachinery v0.35.1 h1:yxO6gV555P1YV0SANtnTjXYfiivaTPvCTKX6w6qdDsU=
+k8s.io/apimachinery v0.35.1/go.mod 
h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns=
+k8s.io/apiserver v0.35.1 h1:potxdhhTL4i6AYAa2QCwtlhtB1eCdWQFvJV6fXgJzxs=
+k8s.io/apiserver v0.35.1/go.mod h1:BiL6Dd3A2I/0lBnteXfWmCFobHM39vt5+hJQd7Lbpi4=
+k8s.io/cli-runtime v0.35.1 h1:uKcXFe8J7AMAM4Gm2JDK4mp198dBEq2nyeYtO+JfGJE=
+k8s.io/cli-runtime v0.35.1/go.mod 
h1:55/hiXIq1C8qIJ3WBrWxEwDLdHQYhBNRdZOz9f7yvTw=
+k8s.io/client-go v0.35.1 h1:+eSfZHwuo/I19PaSxqumjqZ9l5XiTEKbIaJ+j1wLcLM=
+k8s.io/client-go v0.35.1/go.mod h1:1p1KxDt3a0ruRfc/pG4qT/3oHmUj1AhSHEcxNSGg+OA=
+k8s.io/component-base v0.35.1 h1:XgvpRf4srp037QWfGBLFsYMUQJkE5yMa94UsJU7pmcE=
+k8s.io/component-base v0.35.1/go.mod 
h1:HI/6jXlwkiOL5zL9bqA3en1Ygv60F03oEpnuU1G56Bs=
 k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
 k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
 k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 
h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE=
 k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod 
h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ=
-k8s.io/kubectl v0.35.0 h1:cL/wJKHDe8E8+rP3G7avnymcMg6bH6JEcR5w5uo06wc=
-k8s.io/kubectl v0.35.0/go.mod h1:VR5/TSkYyxZwrRwY5I5dDq6l5KXmiCb+9w8IKplk3Qo=
+k8s.io/kubectl v0.35.1 h1:zP3Er8C5i1dcAFUMh9Eva0kVvZHptXIn/+8NtRWMxwg=
+k8s.io/kubectl v0.35.1/go.mod h1:cQ2uAPs5IO/kx8R5s5J3Ihv3VCYwrx0obCXum0CvnXo=
 k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 
h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck=
 k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod 
h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
 oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helm3-3.20.0/pkg/chartutil/coalesce.go 
new/helm3-3.20.1/pkg/chartutil/coalesce.go
--- old/helm3-3.20.0/pkg/chartutil/coalesce.go  2026-01-12 21:15:30.000000000 
+0100
+++ new/helm3-3.20.1/pkg/chartutil/coalesce.go  2026-03-12 00:22:18.000000000 
+0100
@@ -283,6 +283,15 @@
        if dst == nil {
                return src
        }
+       // Track original non-nil src keys before modifying src
+       // This lets us distinguish between user nullifying a chart default vs
+       // user setting nil for a key not in chart defaults.
+       srcOriginalNonNil := make(map[string]bool)
+       for key, val := range src {
+               if val != nil {
+                       srcOriginalNonNil[key] = true
+               }
+       }
        for key, val := range dst {
                if val == nil {
                        src[key] = nil
@@ -292,9 +301,13 @@
        // values.
        for key, val := range src {
                fullkey := concatPrefix(prefix, key)
-               if dv, ok := dst[key]; ok && !merge && dv == nil {
+               if dv, ok := dst[key]; ok && !merge && dv == nil && 
srcOriginalNonNil[key] {
+                       // When coalescing (not merging), if dst has nil and 
src has a non-nil
+                       // value, the user is nullifying a chart default - 
remove the key.
+                       // But if src also has nil (or key not in src), 
preserve the nil
                        delete(dst, key)
                } else if !ok {
+                       // key not in user values, preserve src value 
(including nil)
                        dst[key] = val
                } else if istable(val) {
                        if istable(dv) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helm3-3.20.0/pkg/chartutil/coalesce_test.go 
new/helm3-3.20.1/pkg/chartutil/coalesce_test.go
--- old/helm3-3.20.0/pkg/chartutil/coalesce_test.go     2026-01-12 
21:15:30.000000000 +0100
+++ new/helm3-3.20.1/pkg/chartutil/coalesce_test.go     2026-03-12 
00:22:18.000000000 +0100
@@ -724,3 +724,37 @@
        assert.Equal(t, "b", concatPrefix("", "b"))
        assert.Equal(t, "a.b", concatPrefix("a", "b"))
 }
+
+// TestCoalesceValuesEmptyMapWithNils tests the full CoalesceValues scenario
+// from issue #31643 where chart has data: {} and user provides data: {foo: 
bar, baz: ~}
+func TestCoalesceValuesEmptyMapWithNils(t *testing.T) {
+       is := assert.New(t)
+
+       c := &chart.Chart{
+               Metadata: &chart.Metadata{Name: "test"},
+               Values: map[string]any{
+                       "data": map[string]any{}, // empty map in chart defaults
+               },
+       }
+
+       vals := map[string]any{
+               "data": map[string]any{
+                       "foo": "bar",
+                       "baz": nil, // explicit nil from user
+               },
+       }
+
+       v, err := CoalesceValues(c, vals)
+       is.NoError(err)
+
+       data, ok := v["data"].(map[string]any)
+       is.True(ok, "data is not a map")
+
+       // "foo" should be preserved
+       is.Equal("bar", data["foo"])
+
+       // "baz" should be preserved with nil value since it wasn't in chart 
defaults
+       _, ok = data["baz"]
+       is.True(ok, "Expected data.baz key to be present but it was removed")
+       is.Nil(data["baz"], "Expected data.baz key to be nil but it is not")
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helm3-3.20.0/pkg/registry/client.go 
new/helm3-3.20.1/pkg/registry/client.go
--- old/helm3-3.20.0/pkg/registry/client.go     2026-01-12 21:15:30.000000000 
+0100
+++ new/helm3-3.20.1/pkg/registry/client.go     2026-03-12 00:22:18.000000000 
+0100
@@ -510,6 +510,7 @@
        }
        memoryStore := memory.New()
        allowedMediaTypes := []string{
+               ocispec.MediaTypeImageIndex,
                ocispec.MediaTypeImageManifest,
                ConfigMediaType,
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helm3-3.20.0/pkg/registry/client_http_test.go 
new/helm3-3.20.1/pkg/registry/client_http_test.go
--- old/helm3-3.20.0/pkg/registry/client_http_test.go   2026-01-12 
21:15:30.000000000 +0100
+++ new/helm3-3.20.1/pkg/registry/client_http_test.go   2026-03-12 
00:22:18.000000000 +0100
@@ -86,6 +86,13 @@
        suite.True(errors.Is(err, content.ErrMismatchedDigest))
 }
 
+func (suite *HTTPRegistryClientTestSuite) Test_5_ImageIndex() {
+       ref := fmt.Sprintf("%s/testrepo/image-index:0.1.0", 
suite.FakeRegistryHost)
+
+       _, err := suite.RegistryClient.Pull(ref)
+       suite.Nil(err)
+}
+
 func TestHTTPRegistryClientTestSuite(t *testing.T) {
        suite.Run(t, new(HTTPRegistryClientTestSuite))
        var suiteWithRepo = new(HTTPRegistryClientTestSuite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helm3-3.20.0/pkg/registry/utils_test.go 
new/helm3-3.20.1/pkg/registry/utils_test.go
--- old/helm3-3.20.0/pkg/registry/utils_test.go 2026-01-12 21:15:30.000000000 
+0100
+++ new/helm3-3.20.1/pkg/registry/utils_test.go 2026-03-12 00:22:18.000000000 
+0100
@@ -36,6 +36,7 @@
        _ "github.com/distribution/distribution/v3/registry/auth/htpasswd"
        _ 
"github.com/distribution/distribution/v3/registry/storage/driver/inmemory"
        "github.com/foxcpp/go-mockdns"
+       ocispec "github.com/opencontainers/image-spec/specs-go/v1"
        "github.com/phayes/freeport"
        "github.com/stretchr/testify/suite"
        "golang.org/x/crypto/bcrypt"
@@ -61,6 +62,7 @@
 type TestSuite struct {
        suite.Suite
        Out                     io.Writer
+       FakeRegistryHost        string
        DockerRegistryHost      string
        CompromisedRegistryHost string
        WorkspaceDir            string
@@ -168,6 +170,7 @@
        dockerRegistry, err := registry.NewRegistry(context.Background(), 
config)
        suite.Nil(err, "no error creating test registry")
 
+       suite.FakeRegistryHost = initFakeRegistryTestServer()
        suite.CompromisedRegistryHost = initCompromisedRegistryTestServer()
        return dockerRegistry
 }
@@ -214,6 +217,173 @@
                }
        }))
 
+       u, _ := url.Parse(s.URL)
+       return fmt.Sprintf("localhost:%s", u.Port())
+}
+
+func initFakeRegistryTestServer() string {
+       s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r 
*http.Request) {
+               switch r.URL.Path {
+               case "/v2/testrepo/image-index/manifests/0.1.0":
+                       w.Header().Set("Content-Type", 
ocispec.MediaTypeImageIndex)
+                       w.Write([]byte(`{
+  "schemaVersion": 2,
+  "mediaType": "application/vnd.oci.image.index.v1+json",
+  "manifests": [
+    {
+      "mediaType": "application/vnd.oci.image.manifest.v1+json",
+      "digest": 
"sha256:2771e37a12b7bcb2902456ecf3f29bf9ee11ec348e66e8eb322d9780ad7fc2df",
+      "size": 1035,
+      "platform": {
+        "architecture": "amd64",
+        "os": "linux"
+      },
+      "annotations": {
+        "com.docker.official-images.bashbrew.arch": "amd64",
+        "org.opencontainers.image.base.name": "scratch",
+        "org.opencontainers.image.created": "2025-08-13T22:16:57Z",
+        "org.opencontainers.image.revision": 
"6930d60e10e81283a57be3ee3a2b5ca328a40304",
+        "org.opencontainers.image.source": 
"https://github.com/docker-library/hello-world.git#6930d60e10e81283a57be3ee3a2b5ca328a40304:amd64/hello-world";,
+        "org.opencontainers.image.url": "https://hub.docker.com/_/hello-world";,
+        "org.opencontainers.image.version": "linux"
+      }
+    },
+    {
+      "mediaType": "application/vnd.oci.image.manifest.v1+json",
+      "digest": 
"sha256:6b75187531c5e9b6a85c8946d5d82e4ef3801e051fbff338f382f3edfa60e3d2",
+      "size": 566,
+      "platform": {
+        "architecture": "unknown",
+        "os": "unknown"
+      },
+      "annotations": {
+        "com.docker.official-images.bashbrew.arch": "amd64",
+        "vnd.docker.reference.digest": 
"sha256:2771e37a12b7bcb2902456ecf3f29bf9ee11ec348e66e8eb322d9780ad7fc2df",
+        "vnd.docker.reference.type": "attestation-manifest"
+      }
+    },
+    {
+      "mediaType": "application/vnd.oci.image.manifest.v1+json",
+      "digest": 
"sha256:7fbdc47de56b45d092f8f419e8b6183adf0159d00e05574c01787231b54fe28f",
+      "size": 815
+    }
+  ]
+}`))
+
+               case 
"/v2/testrepo/image-index/manifests/sha256:2771e37a12b7bcb2902456ecf3f29bf9ee11ec348e66e8eb322d9780ad7fc2df":
+                       w.Header().Set("Content-Type", 
ocispec.MediaTypeImageManifest)
+                       w.Write([]byte(`{
+  "schemaVersion": 2,
+  "mediaType": "application/vnd.oci.image.manifest.v1+json",
+  "config": {
+    "mediaType": "application/vnd.oci.image.config.v1+json",
+    "digest": 
"sha256:1b44b5a3e06a9aae883e7bf25e45c100be0bb81a0e01b32de604f3ac44711634",
+    "size": 547
+  },
+  "layers": [
+    {
+      "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
+      "digest": 
"sha256:17eec7bbc9d79fa397ac95c7283ecd04d1fe6978516932a3db110c6206430809",
+      "size": 2380
+    }
+  ],
+  "annotations": {
+    "com.docker.official-images.bashbrew.arch": "amd64",
+    "org.opencontainers.image.base.name": "scratch",
+    "org.opencontainers.image.created": "2025-08-08T19:05:17Z",
+    "org.opencontainers.image.revision": 
"6930d60e10e81283a57be3ee3a2b5ca328a40304",
+    "org.opencontainers.image.source": 
"https://github.com/docker-library/hello-world.git#6930d60e10e81283a57be3ee3a2b5ca328a40304:amd64/hello-world";,
+    "org.opencontainers.image.url": "https://hub.docker.com/_/hello-world";,
+    "org.opencontainers.image.version": "linux"
+  }
+}`))
+
+               case 
"/v2/testrepo/image-index/manifests/sha256:6b75187531c5e9b6a85c8946d5d82e4ef3801e051fbff338f382f3edfa60e3d2":
+                       w.Header().Set("Content-Type", 
ocispec.MediaTypeImageManifest)
+                       w.Write([]byte(`{
+  "schemaVersion": 2,
+  "mediaType": "application/vnd.oci.image.manifest.v1+json",
+  "config": {
+    "mediaType": "application/vnd.oci.image.config.v1+json",
+    "digest": 
"sha256:ec4b6233950725be4c816667d1eb2782ad59dc65b12f7ac53f1ffa0ad5b95b5b",
+    "size": 167
+  },
+  "layers": [
+    {
+      "mediaType": "application/vnd.in-toto+json",
+      "digest": 
"sha256:ea52d2000f90ad63267302cba134025ee586b07a63c47aa9467471a395aee6c2",
+      "size": 4822,
+      "annotations": {
+        "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2";
+      }
+    }
+  ]
+}`))
+
+               case 
"/v2/testrepo/image-index/manifests/sha256:7fbdc47de56b45d092f8f419e8b6183adf0159d00e05574c01787231b54fe28f":
+                       w.Header().Set("Content-Type", 
ocispec.MediaTypeImageManifest)
+                       w.Write([]byte(`{
+  "schemaVersion": 2,
+  "config": {
+    "mediaType": "application/vnd.cncf.helm.config.v1+json",
+    "digest": 
"sha256:24de43e4a9f5ed9427479f27dd7bab9d158227abe593302a6f54d1e13a903ac3",
+    "size": 112
+  },
+  "layers": [
+    {
+      "mediaType": "application/vnd.cncf.helm.chart.provenance.v1.prov",
+      "digest": 
"sha256:b0a02b7412f78ae93324d48df8fcc316d8482e5ad7827b5b238657a29a22f256",
+      "size": 695
+    },
+    {
+      "mediaType": "application/vnd.cncf.helm.chart.content.v1.tar+gzip",
+      "digest": 
"sha256:e5ef611620fb97704d8751c16bab17fedb68883bfb0edc76f78a70e9173f9b55",
+      "size": 973
+    }
+  ],
+  "annotations": {
+    "org.opencontainers.image.description": "A Helm chart for Kubernetes",
+    "org.opencontainers.image.title": "signtest",
+    "org.opencontainers.image.version": "0.1.0"
+  }
+}`))
+
+               case 
"/v2/testrepo/image-index/blobs/sha256:24de43e4a9f5ed9427479f27dd7bab9d158227abe593302a6f54d1e13a903ac3":
+                       w.Header().Set("Content-Type", ConfigMediaType)
+                       w.Write([]byte(`{
+  "name":"signtest",
+  "version":"0.1.0",
+  "description":"A Helm chart for Kubernetes",
+  "apiVersion":"v1"
+}`))
+
+               case 
"/v2/testrepo/image-index/blobs/sha256:b0a02b7412f78ae93324d48df8fcc316d8482e5ad7827b5b238657a29a22f256":
+                       data, err := 
os.ReadFile("../downloader/testdata/signtest-0.1.0.tgz.prov")
+                       if err != nil {
+                               w.WriteHeader(http.StatusInternalServerError)
+                               w.Write([]byte(err.Error()))
+                               return
+                       }
+
+                       w.Header().Set("Content-Type", ProvLayerMediaType)
+                       w.Write(data)
+
+               case 
"/v2/testrepo/image-index/blobs/sha256:e5ef611620fb97704d8751c16bab17fedb68883bfb0edc76f78a70e9173f9b55":
+                       data, err := 
os.ReadFile("../downloader/testdata/signtest-0.1.0.tgz")
+                       if err != nil {
+                               w.WriteHeader(http.StatusInternalServerError)
+                               w.Write([]byte(err.Error()))
+                               return
+                       }
+
+                       w.Header().Set("Content-Type", ChartLayerMediaType)
+                       w.Write(data)
+
+               default:
+                       w.WriteHeader(http.StatusNotFound)
+               }
+       }))
+
        u, _ := url.Parse(s.URL)
        return fmt.Sprintf("localhost:%s", u.Port())
 }

++++++ helm3.obsinfo ++++++
--- /var/tmp/diff_new_pack.L1chNb/_old  2026-03-18 16:52:08.085105563 +0100
+++ /var/tmp/diff_new_pack.L1chNb/_new  2026-03-18 16:52:08.105106388 +0100
@@ -1,5 +1,5 @@
 name: helm3
-version: 3.20.0
-mtime: 1768248930
-commit: b2e4314fa0f229a1de7b4c981273f61d69ee5a59
+version: 3.20.1
+mtime: 1773271338
+commit: a2369ca71c0ef633bf6e4fccd66d634eb379b371
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/helm3/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.helm3.new.8177/vendor.tar.gz differ: char 15, line 1

Reply via email to