Summary
Cut the first release (v0.1.0) so the release.yml workflow publishes all container images to GHCR and the Helm chart is usable out of the box on non-local clusters.
Relates to #213 — Helm chart currently references local-only images that cause ErrImagePull in production.
What needs to happen
1. Cut the v0.1.0 release
- Tag
v0.1.0 and push to trigger release.yml
- Verify all images land in GHCR:
ghcr.io/jonwiggins/optio-api
ghcr.io/jonwiggins/optio-web
ghcr.io/jonwiggins/optio-optio
ghcr.io/jonwiggins/optio-agent-base
ghcr.io/jonwiggins/optio-agent-{node,python,go,rust,full}
- Verify the Helm chart OCI artifact is published
2. Update Helm chart defaults to use GHCR images
- Change
values.yaml defaults from local names (optio-api, optio-web, etc.) to GHCR paths (ghcr.io/jonwiggins/optio-api, etc.)
- Change default
imagePullPolicy from Never to IfNotPresent (especially for agent images)
- This makes
helm install optio helm/optio work on any cluster without extra overrides
3. Keep local development easy
- Add a
values.local.yaml (or rename/repurpose existing local overrides) that sets short image names + pullPolicy: Never for local dev
- Update
setup-local.sh to use helm install -f values.local.yaml ... automatically
- Document the local dev override in comments at the top of
values.yaml
4. Cleanup
values.production.yaml may become redundant if the defaults are now GHCR — evaluate whether to keep it for production-specific settings (ingress, external DB, etc.) or remove the image overrides from it
- Update CLAUDE.md if any commands or conventions change
Summary
Cut the first release (
v0.1.0) so therelease.ymlworkflow publishes all container images to GHCR and the Helm chart is usable out of the box on non-local clusters.Relates to #213 — Helm chart currently references local-only images that cause
ErrImagePullin production.What needs to happen
1. Cut the
v0.1.0releasev0.1.0and push to triggerrelease.ymlghcr.io/jonwiggins/optio-apighcr.io/jonwiggins/optio-webghcr.io/jonwiggins/optio-optioghcr.io/jonwiggins/optio-agent-baseghcr.io/jonwiggins/optio-agent-{node,python,go,rust,full}2. Update Helm chart defaults to use GHCR images
values.yamldefaults from local names (optio-api,optio-web, etc.) to GHCR paths (ghcr.io/jonwiggins/optio-api, etc.)imagePullPolicyfromNevertoIfNotPresent(especially for agent images)helm install optio helm/optiowork on any cluster without extra overrides3. Keep local development easy
values.local.yaml(or rename/repurpose existing local overrides) that sets short image names +pullPolicy: Neverfor local devsetup-local.shto usehelm install -f values.local.yaml ...automaticallyvalues.yaml4. Cleanup
values.production.yamlmay become redundant if the defaults are now GHCR — evaluate whether to keep it for production-specific settings (ingress, external DB, etc.) or remove the image overrides from it