Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump CI helm 3.11.2 -> 3.12.0 #96

Merged
merged 1 commit into from
Jun 8, 2023
Merged

Bump CI helm 3.11.2 -> 3.12.0 #96

merged 1 commit into from
Jun 8, 2023

Conversation

ddl-ebrown
Copy link
Contributor

 - In addition to other features, this updates OCI annotations on pushed
   Helm charts to support better interop with other tools

   https://github.com/helm/helm/releases/tag/v3.12.0
@ddl-ebrown ddl-ebrown requested a review from steved as a code owner May 16, 2023 19:59
@ddl-ebrown
Copy link
Contributor Author

I'm not sure if this is causing an inability to install the chart from ghcr, but it's failing on my M1 mac with both Helm 3.11.1 and 3.12.0 using

helm upgrade hephaestus oci://ghcr.io/dominodatalab/hephaestus --version 0.1.41 --debug --namespace domino-platform --values rev4demo12597.yaml --reuse-values --dry-run

with file

buildkit:
  persistence:
    size: 120Gi

helm/helm#9441 mentions a similar issue, which points at some OCI incompatibilities

Error output

DEBU[0000] resolving                                     host=ghcr.io
DEBU[0000] do request                                    host=ghcr.io request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=Helm/3.12.0 request.method=HEAD url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/0.1.41"
DEBU[0000] fetch response received                       host=ghcr.io response.header.content-length=73 response.header.content-type=application/json response.header.date="Tue, 16 May 2023 20:35:10 GMT" response.header.www-authenticate="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:dominodatalab/hephaestus:pull\"" response.header.x-github-request-id="CE72:86DE:E1FD4:1083B4:6463E8FE" response.status="401 Unauthorized" url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/0.1.41"
DEBU[0000] Unauthorized                                  header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:dominodatalab/hephaestus:pull\"" host=ghcr.io
DEBU[0000] do request                                    host=ghcr.io request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=Helm/3.12.0 request.method=HEAD url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/0.1.41"
DEBU[0000] fetch response received                       host=ghcr.io response.header.content-length=856 response.header.content-type=application/vnd.oci.image.index.v1+json response.header.date="Tue, 16 May 2023 20:35:10 GMT" response.header.docker-content-digest="sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd" response.header.docker-distribution-api-version=registry/2.0 response.header.etag="\"sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd\"" response.header.x-github-request-id="CE72:86DE:E1FE7:1083CA:6463E8FE" response.status="200 OK" url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/0.1.41"
DEBU[0000] resolved                                      desc.digest="sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd" host=ghcr.io
DEBU[0000] do request                                    digest="sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd" request.header.accept="application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=Helm/3.12.0 request.method=GET url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd"
DEBU[0000] fetch response received                       digest="sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd" response.header.content-length=856 response.header.content-type=application/vnd.oci.image.index.v1+json response.header.date="Tue, 16 May 2023 20:35:11 GMT" response.header.docker-content-digest="sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd" response.header.docker-distribution-api-version=registry/2.0 response.header.etag="\"sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd\"" response.header.x-github-request-id="CE72:86DE:E1FEE:1083CD:6463E8FE" response.status="200 OK" url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/sha256:af637bf7d711fef3886f352654f36bf1188b4c092993712c189146a0c8718ebd"
DEBU[0000] do request                                    digest="sha256:f27ef0d997dd57c1837c449ccd0521ba4f61f9c5489697e0de206a3b6c7e03b7" request.header.accept="application/vnd.oci.image.manifest.v1+json, */*" request.header.user-agent=Helm/3.12.0 request.method=GET url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/sha256:f27ef0d997dd57c1837c449ccd0521ba4f61f9c5489697e0de206a3b6c7e03b7"
DEBU[0001] fetch response received                       digest="sha256:f27ef0d997dd57c1837c449ccd0521ba4f61f9c5489697e0de206a3b6c7e03b7" response.header.content-length=567 response.header.content-type=application/vnd.oci.image.manifest.v1+json response.header.date="Tue, 16 May 2023 20:35:11 GMT" response.header.docker-content-digest="sha256:f27ef0d997dd57c1837c449ccd0521ba4f61f9c5489697e0de206a3b6c7e03b7" response.header.docker-distribution-api-version=registry/2.0 response.header.etag="\"sha256:f27ef0d997dd57c1837c449ccd0521ba4f61f9c5489697e0de206a3b6c7e03b7\"" response.header.x-github-request-id="CE72:86DE:E1FF4:1083D4:6463E8FE" response.status="200 OK" url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/sha256:f27ef0d997dd57c1837c449ccd0521ba4f61f9c5489697e0de206a3b6c7e03b7"
WARN[0001] unknown type: application/vnd.in-toto+json
WARN[0001] unknown type: application/vnd.oci.image.config.v1+json
DEBU[0001] do request                                    digest="sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d" request.header.accept="application/vnd.oci.image.manifest.v1+json, */*" request.header.user-agent=Helm/3.12.0 request.method=GET url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d"
DEBU[0001] fetch response received                       digest="sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d" response.header.content-length=2185 response.header.content-type=application/vnd.oci.image.manifest.v1+json response.header.date="Tue, 16 May 2023 20:35:11 GMT" response.header.docker-content-digest="sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d" response.header.docker-distribution-api-version=registry/2.0 response.header.etag="\"sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d\"" response.header.x-github-request-id="CE72:86DE:E1FF8:1083D8:6463E8FF" response.status="200 OK" url="https://ghcr.io/v2/dominodatalab/hephaestus/manifests/sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d"
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.config.v1+json
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
WARN[0001] unknown type: application/vnd.oci.image.layer.v1.tar+gzip
Error: manifest does not contain minimum number of descriptors (2), descriptors found: 1
helm.go:84: [debug] manifest does not contain minimum number of descriptors (2), descriptors found: 1

FWIW, I can docker pull it no problem

docker pull ghcr.io/dominodatalab/hephaestus:0.1.41@sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d

ghcr.io/dominodatalab/hephaestus@sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d: Pulling from dominodatalab/hephaestus
10f855b03c8a: Pull complete
fe5ca62666f0: Pull complete
fff4e558ad3a: Pull complete
fcb6f6d2c998: Pull complete
e8c73c638ae9: Pull complete
1e3d9b7d1452: Pull complete
4aa0ea1413d3: Pull complete
7c881f9ab25e: Pull complete
5627a970d25e: Pull complete
8f8dd7f652bf: Pull complete
Digest: sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d
Status: Downloaded newer image for ghcr.io/dominodatalab/hephaestus@sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d
ghcr.io/dominodatalab/hephaestus:0.1.41@sha256:2298f6dac625c7df3b7633a04844e6c369d5be1719377b7f9d5c5fab7f269f7d

@ddl-ebrown
Copy link
Contributor Author

ddl-ebrown commented May 16, 2023

The helm cli doesn't seem to have a way to pull using sha / tag and it requires a semver compliant --version. So I don't think there's a way to install the Helm artifact produced by this PR from the GitHub OCI registry at https://github.com/dominodatalab/hephaestus/pkgs/container/hephaestus/93773085?tag=pr-96 to see if this helps anything.

Tried a number of incantations like:

helm upgrade hephaestus oci://ghcr.io/dominodatalab/hephaestus:pr-96 --version 0.41.1 --debug --namespace domino-platform --values rev4demo12597.yaml --reuse-values --dry-run

And

helm upgrade hephaestus oci://ghcr.io/dominodatalab/hephaestus --version pr-96 --debug --namespace domino-platform --values rev4demo12597.yaml --reuse-values --dry-run

This is just a weird edge case with how the artifact is stored and how Helm wants to retrieve it

@ddl-ebrown ddl-ebrown requested a review from fraenkel May 16, 2023 21:11
@steved
Copy link
Contributor

steved commented May 17, 2023

I think you're using the wrong repo for Helm. The artifacts are pushed to oci://ghcr.io/dominodatalab/helm/hephaestus:

$ helm pull oci://ghcr.io/dominodatalab/helm/hephaestus --version 0.0.0-pr-96
Pulled: ghcr.io/dominodatalab/helm/hephaestus:0.0.0-pr-96
Digest: sha256:d8c6b466ebe38bdccf3ff3642da98da9fcfa86a66a18a84c02ff52ec6ed602c6

@ddl-ebrown
Copy link
Contributor Author

A-ha! Thanks - I think I looked at the wrong push in https://github.com/dominodatalab/hephaestus/actions/runs/4662184941/jobs/8252287369 / clearly missed the helm part of path.

I think I was under the impression that chart pulls used content-type negotiation to ask for charts, rather than using a different path. The logs mentioning application/vnd.oci.image.layer.v1.tar+gzip should have been a good tip-off that maybe this was a container image layer rather than a chart though -- oops!

@ddl-ebrown
Copy link
Contributor Author

Just to confirm, using the right oci repo worked

helm upgrade hephaestus oci://ghcr.io/dominodatalab/helm/hephaestus --version 0.1.41 --debug --namespace domino-platform --values foo.yaml --reuse-values

Might still be worth bumping Helm from this PR anyhow

@ddl-ebrown ddl-ebrown merged commit 50310cb into main Jun 8, 2023
@ddl-ebrown ddl-ebrown deleted the bump-ci-helm-to-3.12 branch June 8, 2023 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants