Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,14 @@ Empty when neither is available.
{{- end -}}

{{/*
External Nebi URL. Order of precedence:
External Nebi URL. Empty when .Values.nebi.enabled is false (master switch).
Otherwise, order of precedence:
1. .Values.nebi.remoteURL (explicit)
2. https://<subdomains.nebi>.<baseDomain(keycloak.hostname)>
Empty when neither is available.
*/}}
{{- define "nebari-data-science-pack.nebiRemoteURL" -}}
{{- if .Values.nebi.enabled -}}
{{- if .Values.nebi.remoteURL -}}
{{- .Values.nebi.remoteURL -}}
{{- else -}}
Expand All @@ -133,19 +135,23 @@ Empty when neither is available.
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}

{{/*
In-cluster Nebi URL. Order of precedence:
In-cluster Nebi URL. Empty when .Values.nebi.enabled is false (master
switch). Otherwise, order of precedence:
1. .Values.nebi.internalURL (explicit)
2. http://nebi-pack-nebari-nebi-pack.<nebi.namespace>.svc.cluster.local
*/}}
{{- define "nebari-data-science-pack.nebiInternalURL" -}}
{{- if .Values.nebi.enabled -}}
{{- if .Values.nebi.internalURL -}}
{{- .Values.nebi.internalURL -}}
{{- else -}}
{{- printf "http://nebi-pack-nebari-nebi-pack.%s.svc.cluster.local" (.Values.nebi.namespace | default "nebi") -}}
{{- end -}}
{{- end -}}
{{- end -}}

{{/*
Nebi image reference (repository:tag). Empty when nebi.image.tag is not
Expand Down
2 changes: 1 addition & 1 deletion templates/hub-nebi-networkpolicy.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if and .Values.nebi.internalURL .Values.nebi.namespace }}
{{- if and .Values.nebi.enabled .Values.nebi.internalURL .Values.nebi.namespace }}
# Allows the JupyterHub pod to reach the Nebi server for token exchange
# at spawn time (pre_spawn_hook calls /api/v1/auth/session).
# Kubernetes NetworkPolicy is additive — this rule is evaluated alongside
Expand Down
16 changes: 15 additions & 1 deletion values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,22 @@ sharedStorage:
# =============================================================================
# Nebi Integration
# =============================================================================
# Companion service (nebari-nebi-pack) deployed in its own namespace.
# Companion software pack for standalone Nebi (nebari-nebi-pack) deployed in its
# own namespace and integrated with JupyterLab users' local environments.
nebi:
# Master switch for integration with a *separate* nebi-pack deployment.
# When false, the remoteURL/internalURL helpers below return empty
# regardless of any explicit value, so every downstream surface that keys
# off them is disabled:
# - the jhub-apps environment selector (config/jupyterhub/03-nebi-envs.py,
# gated on a non-empty nebi-internal-url)
# - the remote pre-spawn auth + "Nebi" launcher card (01-spawner.py,
# gated on a non-empty nebi-remote-url)
# - the hub -> nebi egress NetworkPolicy
# The in-pod standalone nebi binary is INDEPENDENT of this flag — it is
# driven solely by nebi.image.tag below and stays wired when this is false.
# Leave true for deployment (where nebi-pack is present).
enabled: true
# Nebi binary image. An init container copies the nebi binary from this image
# into each JupyterLab pod, so the version is controlled at deploy time
# rather than baked into the JupyterLab image.
Expand Down
Loading