5565354127
Implements unified Helm chart supporting both deployment modes: - persistent: Traditional PVC-based deployment (v1.x behavior) - dynamic: Serverless Knative with auto-scaling and dynamic routing ## Chart Changes - Chart.yaml: Bump to v2.0.0-dev with deployment mode support - values.yaml: Add deploymentMode field and dynamic configuration - All templates: Conditional rendering based on deploymentMode ## Dynamic Mode Templates - knative-service.yaml: Auto-scaling dev containers with repo routing - routing-proxy.yaml: GitHub repo extraction service - dynamic-ingress.yaml: Ingress with Authentik auth support ## Usage Examples ```bash # Traditional persistent mode (default) helm install mydev ./chart --set name=mydev --set githubRepo=... # Dynamic serverless mode helm install mydev ./chart -f values-dynamic.yaml \ --set name=mydev --set dynamic.ingress.host=devcontainer.example.com # Development builds helm install mydev ./chart --set deploymentMode=dynamic \ --set image.tag=2.0.0-dev --set dynamic.ingress.host=... ``` All existing persistent deployments remain compatible (deploymentMode defaults to "persistent"). Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
25 lines
576 B
YAML
25 lines
576 B
YAML
{{- if eq .Values.deploymentMode "persistent" }}
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ include "devcontainer.fullname" . }}
|
|
labels:
|
|
{{- include "devcontainer.labels" . | nindent 4 }}
|
|
spec:
|
|
ports:
|
|
{{- if ne (.Values.ide.type | default "vscode") "none" }}
|
|
- port: 5800
|
|
name: vnc-web
|
|
protocol: TCP
|
|
targetPort: vnc-web
|
|
{{- end }}
|
|
{{- if .Values.ssh.enabled }}
|
|
- port: 22
|
|
name: ssh
|
|
protocol: TCP
|
|
targetPort: ssh
|
|
{{- end }}
|
|
selector:
|
|
{{- include "devcontainer.labels" . | nindent 4 }}
|
|
{{- end }}
|