feat(chart): make NebariApp gateway explicit (public) for frontend and webapi - #13
Closed
viniciusdc wants to merge 1 commit into
Closed
feat(chart): make NebariApp gateway explicit (public) for frontend and webapi#13viniciusdc wants to merge 1 commit into
viniciusdc wants to merge 1 commit into
Conversation
Both NebariApp resources (frontend + webapi) now explicitly set gateway: public instead of relying on the kubebuilder default. The frontend uses oauth2-proxy as a sidecar to enforce auth before requests reach the React SPA — no SecurityPolicy is needed at the gateway level (enforceAtGateway: false, auth.enabled: false). The webapi validates JWTs in-process; same reasoning applies. Future: once nebari-operator#61 is resolved, the oauth2-proxy sidecar can be made optional and auth enforcement moved to the gateway level (EnforceAtGateway: true) via native Envoy Gateway OIDC.
Contributor
Docker images built for this PRBranch tag:
To deploy this PR locally: helm upgrade --install nebari-landing charts/nebari-landing \
--namespace nebari-system \
--set webapi.image.tag=feat-explicit-public-gateway-nebariapp \
--set frontend.image.tag=feat-explicit-public-gateway-nebariapp |
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.
Description
Adds an explicit
gateway: publicfield to bothNebariAppCRs defined in thenebariapp.yamlchart template, instead of relying on the kubebuilder default value.Why
The
NebariAppspec hasgatewayas an optional field with a+kubebuilder:default=publicmarker. While the default ispublic, making it explicit:Architecture note
Frontend NebariApp (
/oauth2/*+/*→ oauth2-proxy sidecar):auth.enabled: false/enforceAtGateway: false— the Gateway passes traffic straight through to the pod.Webapi NebariApp (
/api/*→ Go webapi):auth.enabled: false/enforceAtGateway: false— no SecurityPolicy created.Future migration path
Once nebari-operator#61 is resolved, the oauth2-proxy sidecar can be made optional. At that point this chart can switch the frontend NebariApp to
auth.enabled: true, enforceAtGateway: true, moving OIDC enforcement to the Envoy Gateway level natively.Changes
charts/nebari-landing/templates/nebariapp.yaml: addgateway: public+ comments to both NebariApp resourcesTesting
helm templateand confirm both NebariApp resources includegateway: public: