Skip to content

Commit edd0fe4

Browse files
committed
Add NicApp CRD template for NIC integration
- Add templates/nicapp.yaml for nebari-operator integration - Add nicapp config block to values.yaml (enabled by default) - Configures routing, TLS, and Keycloak auth via operator - Set nicapp.enabled=false when deploying outside NIC
1 parent 3f02537 commit edd0fe4

2 files changed

Lines changed: 45 additions & 0 deletions

File tree

templates/nicapp.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{{- if .Values.nicapp.enabled }}
2+
apiVersion: apps.nic.nebari.dev/v1
3+
kind: NicApp
4+
metadata:
5+
name: {{ include "data-science-pack.fullname" . }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "data-science-pack.labels" . | nindent 4 }}
9+
spec:
10+
hostname: {{ required "nicapp.hostname is required when nicapp.enabled is true" .Values.nicapp.hostname }}
11+
service:
12+
name: {{ include "data-science-pack.fullname" . }}-proxy-public
13+
port: {{ .Values.nicapp.service.port | default 80 }}
14+
{{- with .Values.nicapp.tls }}
15+
tls:
16+
enabled: {{ .enabled | default true }}
17+
mode: {{ .mode | default "wildcard" }}
18+
{{- end }}
19+
{{- with .Values.nicapp.auth }}
20+
auth:
21+
enabled: {{ .enabled | default true }}
22+
provider: {{ .provider | default "keycloak" }}
23+
provisionClient: {{ .provisionClient | default true }}
24+
{{- end }}
25+
gateway: {{ .Values.nicapp.gateway | default "public" }}
26+
{{- end }}

values.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
11
# Default values for nebari-data-science-pack
22
# This is a YAML-formatted file.
33

4+
# =============================================================================
5+
# NIC (Nebari Infrastructure Core) Integration
6+
# =============================================================================
7+
# Creates a NicApp CRD that configures routing, TLS, and auth via nebari-operator.
8+
# Set to false when deploying outside of NIC.
9+
nicapp:
10+
enabled: true
11+
# hostname: jupyter.nic.local # Required when enabled
12+
gateway: public
13+
service:
14+
port: 80
15+
tls:
16+
enabled: true
17+
mode: wildcard # or "dedicated" for per-app certs
18+
auth:
19+
enabled: true
20+
provider: keycloak
21+
provisionClient: true
22+
423
# Shared storage configuration (disabled - requires RWX storage class)
524
sharedStorage:
625
enabled: false

0 commit comments

Comments
 (0)