api: reconcile v1alpha6 Repository CUE gen drift with OCI-aware validation#478
Merged
jeffmccune merged 2 commits intoJul 7, 2026
Merged
Conversation
Reconcile the v1alpha6 CUE gen drift introduced by df69198, which made Repository.Name and Repository.URL omitempty in Go without regenerating the CUE schema. A plain go generate ./internal/generate/platforms run now produces no diff. The optional url weakened validation: a non-OCI chart could omit the repository url and only fail later in helm.PullChart. Add a cue.mod/pkg constraint on #Chart requiring repository.url when a repository is present and the chart name is not an oci:// reference. OCI charts pull directly from the registry and specify a repository only to configure authentication. Add fixtures and tests covering a non-OCI chart with a missing repository url (rejected) and an OCI auth-only repository (accepted). Refs: HOL-1516
Deploying holos with
|
| Latest commit: |
0c12e41
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://de78333b.holos.pages.dev |
| Branch Preview URL: | https://feat-hol-1516-reconcile-v1al.holos.pages.dev |
Contributor
Author
Code Review — Round 1 (codex)Findings
Verification Ran:
Verdict: REQUEST_CHANGES |
Reject repository.url when the chart name is an oci:// reference. OCI charts pull directly from the registry, so the url field must be omitted. Add a fixture and test covering an OCI chart with a repository url (rejected with field not allowed). Refs: HOL-1516
Contributor
Author
Code Review — Round 2 (codex)No findings. Verdict: APPROVE I examined every changed file in PR #478 and ran:
Both passed. |
jeffmccune
deleted the
feat/hol-1516-reconcile-v1alpha6-repo-cue-gen-drift
branch
July 7, 2026 02:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Repository.Name/Repository.URLomitempty; a plaingo generate ./internal/generate/platformsrun now produces no diff.Repositoryinapi/core/v1alpha6/types.go:urlis required unless the chart name is anoci://reference; OCI charts specify a repository only to configure registry authentication.cue.mod/pkgoverlay constraint on#Chart(internal/generate/platforms/cue.mod/pkg/github.com/holos-run/holos/api/core/v1alpha6/types.cue): when a repository is present and the chart name is notoci://,repository.urlis a required field. The guard flows through bothcore.#BuildPlanandauthor.#Helm.helm-no-url(non-OCI chart with repository missing url, rejected withrepository.url: field is required but not present) andhelm-oci(OCI chart with auth-only repository, accepted and rendered offline from the vendored chart).Fixes HOL-1516
Test plan
go test ./internal/component/v1alpha6/...— newGenerator/Helm-ociandGenerator/RepositoryURLRequiredsubtests passmake lintandmake testpassgo generate ./internal/generate/platformsproduces no diffcue vetspot checks: non-OCI missing url rejected; OCI auth-only accepted; chart with no repository at all still accepted (local/vendored charts)Notes
name/urlfields but its gen tree is not stale; mirroring this guard to v1beta1 is left for the v1beta1 schema work.