fix(networking): point host ouroboros proxy at the root-tenant ingress#2800
fix(networking): point host ouroboros proxy at the root-tenant ingress#2800Aleksei Sviridkin (lexfrei) wants to merge 1 commit into
Conversation
With publishing.proxyProtocol enabled the host emits a cozystack.ouroboros Package via the no-override Package macro, so the proxy inherits the wrapper chart default backend ingress-nginx-controller.cozy-ingress-nginx. That layout describes a managed Kubernetes tenant cluster; on the host, extra/ingress deploys ingress-nginx into the root tenant namespace as root-ingress-controller in tenant-root. The composed backend FQDN never resolves, so ouroboros-proxy never reaches Ready. Emit the host ouroboros Package with a proxy.target override derived from publishing.ingressName (namespace plus <short>-ingress-controller service name), mirroring the trimPrefix transform extra/ingress applies. Add bundle helm-unittest coverage for the default and a non-default ingress name, and correct the misleading wrapper values.yaml comment. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughWhen ChangesHost ouroboros proxy target wiring
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request resolves a readiness issue where the Ouroboros proxy failed to reach a 'Ready' state on the host due to an incorrect backend FQDN resolution. By explicitly overriding the proxy target to point to the root-tenant ingress controller, the system now correctly routes traffic on the host. The changes include logic to dynamically derive the ingress service location based on the platform's publishing configuration, alongside updated unit tests and documentation to prevent future configuration confusion. Highlights
New Features🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on Gemini (@gemini-code-assist) comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request updates the platform bundle configuration to dynamically point the host ouroboros proxy at the root-tenant ingress Service (derived from publishing.ingressName) instead of using the tenant-cluster fallback default. It also adds corresponding unit tests to verify this behavior with both default and non-default ingress names, and updates the documentation comments in packages/system/ouroboros/values.yaml to explain this distinction. There are no review comments, and I have no additional feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
What this PR does
With
publishing.proxyProtocol: true, the host emits acozystack.ouroborosPackage using the no-override Package macro, so the proxy inherits the wrapper chart default backendingress-nginx-controller.cozy-ingress-nginx. That layout describes a managed Kubernetes tenant cluster, not the host: on the host,extra/ingressdeploys ingress-nginx into the root tenant namespace asroot-ingress-controllerintenant-root. The composed backend FQDN never resolves, soouroboros-proxynever reaches Ready.This emits the host ouroboros Package with a
proxy.targetoverride derived frompublishing.ingressName— namespace plus<short>-ingress-controllerservice name — mirroring thetrimPrefix "tenant-"transformextra/ingressapplies to its release namespace. The derivation reuses the existing platform invariant thatpublishing.ingressNameis the namespace where the host ingress controller runs.Adds bundle helm-unittest coverage for the default ingress name and a non-default one, and corrects the misleading wrapper
values.yamlcomment that claimed the host usescozy-ingress-nginx.Scope: this fixes the ouroboros readiness defect only. The separate defect where the injected nginx PROXY-protocol config keys are not consumed by the host ingress is tracked independently and not touched here.
Closes #2797
Release note
Summary by CodeRabbit
New Features
Tests
Documentation