fix(manifests): add namespace: kubeflow to kustomization overlays and add namespace regression check#2709
Conversation
Three of the four kustomization overlays referenced by kubeflow/manifests example/kustomization.yaml were missing namespace: kubeflow. The CI install script masked this by using kubectl apply -n kubeflow, but kustomize build has no such override — resources land in the default namespace. Add namespace: kubeflow to: - overlays/postgres/kustomization.yaml - options/istio/kustomization.yaml - options/catalog/overlays/demo/kustomization.yaml The fourth overlay (options/ui/overlays/istio) already had it. Also add check-namespace.sh to guard against namespace regression. Relates-to: kubeflow/manifests#3457 Relates-to: kubeflow/manifests#3458 Assisted-by: Antigravity AI Signed-off-by: TruthMesh AI Assistant <[email protected]>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @Raakshass, thanks for looking at this. Unfortunately, I don't think we can simply add the namespace because model-registry needs to actually be in the user namespace for the dashboard to work ( The manifests actually did deploy to I'm not sure a good way to solve this, but I'll spend some time today and try to find something. Let me know if you have any ideas. |
|
youre right, i missed the user-namespace dependency and the #1045 history. hub should stay namespace-agnostic since model-registry needs to live in the profile namespace for dashboard integration |
|
closing this per pboyd's feedback. the hub repo should stay namespace-agnostic since model-registry needs to live in the profile namespace for dashboard integration. the fix belongs at the manifests layer via an overlay as discussed in kubeflow/manifests#3457. |
|
Sorry for the delay, @Raakshass. I know we need to close this, but thank you for tackling this problem. It's been an issue for a while now. |
Summary
Three of the four kustomization overlays consumed by
kubeflow/manifestsexample/kustomization.yamlwere missing thenamespace: kubeflowdirective. This causes all model-registry, istio networking, and catalog resources to deploy into thedefaultnamespace instead ofkubeflowwhen usingkustomize build.This pull request adds
namespace: kubeflowto the three affected overlays and introduces a namespace regression check script to prevent recurrence.Fixes kubeflow/manifests#3457
Supersedes kubeflow/manifests#3458 (closed per maintainer direction to fix upstream)
Root Cause
The CI install script (
model_registry_install.sh) passes-n kubeflowtokubectl apply, which overrides the namespace at apply-time. This masked the fact that the kustomization overlays themselves had nonamespacedirective. When users follow the documented deployment path (kustomize build example/ | kubectl apply -f -), there is no namespace override — all resources land in thedefaultnamespace.This was confirmed by
istioctl analyzeoutput showing VirtualService and DestinationRule reference errors in thedefaultnamespace.Changes
manifests/kustomize/overlays/postgres/kustomization.yamlnamespace: kubeflowmanifests/kustomize/options/istio/kustomization.yamlnamespace: kubeflowmanifests/kustomize/options/catalog/overlays/demo/kustomization.yamlnamespace: kubeflowmanifests/kustomize/check-namespace.shNo change needed for
options/ui/overlays/istio/kustomization.yaml— it already hasnamespace: kubeflow.Design Decisions
namespace: kubeflowdirective is placed at the bottom of each file, consistent with the existing pattern inoptions/ui/overlays/istio/kustomization.yaml.check-namespace.shiterates over all four overlays, verifies eachkustomization.yamlcontainsnamespace: kubeflow, and checks thatkustomize buildoutput does not produce resources withnamespace: default. This was explicitly requested by @jonburdo and @juliusvonkohout in fix(model-registry): add namespace to kustomization overlays to prevent deployment to default namespace manifests#3458.kubeflow/hub(the source of truth) rather than inkubeflow/manifests, where theupstream/folder is overwritten on every sync. Precedent: chore: bring up downstream changes from the manifests #2706.Dependencies and Related Issues
defaultmanifests#3457 — original issue reportapplications/model-registrytoapplications/huband synced v0.3.9Contributor Checklist
Assisted-by: Antigravity AIin commit message)options/ui/overlays/istio/kustomization.yaml)cc @tarilabs @pboyd