ByteVeda / ByteVeda/flexiq

deploy: make the GHCR image and chart packages public

Open
#882 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ci deployment P1 packaging
Dominant language
Rust
Stars
20
Forks
2
Avg merge
5h 10m
Merged PRs (30d)
127

Description

publish-server.yml publishes the Helm chart to oci://ghcr.io/byteveda/charts/flexiq-server since #877, and the step ends with an anonymous readability probe:

if ! DOCKER_CONFIG="$anonymous_docker_config" \
  HELM_REGISTRY_CONFIG="${RUNNER_TEMP}/helm-anonymous.json" \
  helm show chart "${CHART_REGISTRY}/flexiq-server" --version "$VERSION" >/dev/null; then
  echo "::error::Published chart is not anonymously readable. Make the GHCR package public and rerun."

GHCR creates organization packages private, and there is no public default to inherit here — ghcr.io/byteveda/flexiq-server answers UNAUTHORIZED: authentication required to an anonymous probe today, so the existing image package is private too. The chart package does not exist yet: server-v2.0.0 was tagged before the workflow change, so the first helm push happens on the next server release.

That means the next server-vX.Y.Z run publishes the chart, fails its own probe, and stops — after the image, tag, release and proto assets have already gone out. The guard is doing its job, but the fix is a console action nobody can take from CI.

An organization owner needs to set both GHCR packages to public:

  • byteveda/flexiq-server (server image) — the helm install/docker pull commands in the chart README and the operator guide assume anonymous pulls today and currently fail for anyone without credentials.
  • byteveda/charts/flexiq-server (Helm chart) — only appears after the first helm push, so this one is either a rerun of the failed release job or a flip immediately after the package is created.

Verification, from a machine with no GHCR credentials:

helm show chart oci://ghcr.io/byteveda/charts/flexiq-server --version <released-version>
docker pull ghcr.io/byteveda/flexiq-server:<released-version>

CONTRIBUTING.md records the requirement in the release runbook; this issue tracks actually doing it, and closing the gap between "documented" and "done".

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with publish-server.yml and the release requirement in CONTRIBUTING.md. An organization owner must make byteveda/flexiq-server public, then make byteveda/charts/flexiq-server public after its first push or rerun the failed release. Verify both packages anonymously with the helm show chart and docker pull commands given in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, helm
Domain
devops, release
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.