feat: Add Helm chart for Kubernetes deployment (#1)
## Description Add complete Helm chart for deploying the CV application to Kubernetes. The chart includes all necessary resources for a production-ready deployment with persistent storage and configurable authentication modes. ## Type of Change - [x] `feat` - New feature (minor version bump) ## Breaking Changes - [ ] This is a breaking change (major version bump) **If breaking, describe the migration path:** ## Checklist - [x] Commit messages follow [Conventional Commits](CONTRIBUTING.md#commit-guidelines) - [x] Lint passes (`npm run lint`) - N/A for Helm charts - [x] Build succeeds (`npm run build`) - N/A for Helm charts - [x] Tests pass (`npm run test:run`) - N/A for Helm charts - [ ] API documentation updated (if applicable) ## Testing - `helm lint` passes on the chart - `helm template test-release helm/cv-app/` renders 214 lines of valid Kubernetes manifests - Verified all template helpers function correctly - Tested conditional rendering (persistence enabled/disabled, simple/keycloak auth modes) ## Screenshots (if applicable) N/A ## Related Issues Implements the Helm chart design from `docs/plans/2026-02-23-helm-chart-design.md` Co-authored-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev> Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
57
helm/cv-app/values.yaml
Normal file
57
helm/cv-app/values.yaml
Normal file
@@ -0,0 +1,57 @@
|
||||
frontend:
|
||||
replicaCount: 1
|
||||
image:
|
||||
repository: username/cv-app
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
resources: {}
|
||||
|
||||
backend:
|
||||
replicaCount: 1
|
||||
image:
|
||||
repository: username/cv-app-backend
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
auth:
|
||||
mode: simple
|
||||
jwtSecret: ""
|
||||
keycloak:
|
||||
url: ""
|
||||
realm: ""
|
||||
clientId: ""
|
||||
resources: {}
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 1Gi
|
||||
storageClass: ""
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
className: ""
|
||||
annotations: {}
|
||||
hosts:
|
||||
- host: cv.local
|
||||
paths:
|
||||
- path: /api
|
||||
service: backend
|
||||
- path: /
|
||||
service: frontend
|
||||
tls: []
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
annotations: {}
|
||||
name: ""
|
||||
|
||||
podAnnotations: {}
|
||||
podSecurityContext: {}
|
||||
securityContext: {}
|
||||
|
||||
nodeSelector: {}
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
Reference in New Issue
Block a user