This repository contains a Helm chart to deploy KitchenOwl to a Kubernetes cluster. It provisions the KitchenOwl backend API and web frontend, along with optional ingress, persistence, and monitoring resources.
- Chart name:
kitchenowl - Chart type: application
- Chart version:
0.1.0 - App version:
v0.7.3
- Kubernetes 1.23+
- Helm 3.8+
- A container registry with network access from your cluster (public images by default)
- Optional: An Ingress controller if using ingress
- Optional: Prometheus Operator if using ServiceMonitor
Install the chart into a new namespace:
helm install kitchenowl ./kitchenowl \
--namespace kitchenowl \
--create-namespaceWait for the pods to be ready:
kubectl -n kitchenowl get podsPort-forward to try it locally (if no ingress configured):
# Web frontend
kubectl -n kitchenowl port-forward svc/kitchenowl-web 8080:80
# Backend API (optional)
kubectl -n kitchenowl port-forward svc/kitchenowl-backend 8081:80Then open http://localhost:8080
helm upgrade kitchenowl ./kitchenowl -n kitchenowlhelm uninstall kitchenowl -n kitchenowl
kubectl delete namespace kitchenowl # optionalYou can customize the deployment via values.yaml or --set flags. Below is a summary of commonly used values. See kitchenowl/values.yaml for the full list and defaults.
- backend.
- replicaCount: number of backend replicas
- image.repository: container repo (default
tombursch/kitchenowl-backend) - image.tag: image tag (default: chart appVersion if empty)
- service.type: ClusterIP/NodePort/LoadBalancer
- service.port: backend service port
- resources: resource requests/limits
- env: additional env vars (map)
- volumes / volumeMounts: additional volumes and mounts
- livenessProbe / readinessProbe: HTTP probe settings
- web.
- replicaCount: number of frontend replicas
- image.repository: container repo (default
tombursch/kitchenowl-web) - image.tag: image tag (default: chart appVersion if empty)
- service.type: ClusterIP/NodePort/LoadBalancer
- service.port: web service port
- resources: resource requests/limits
- env: additional env vars (map)
- livenessProbe / readinessProbe: HTTP probe settings
- imagePullSecrets: list for private registries
- nameOverride / fullnameOverride: override release naming
- podAnnotations / podLabels: extra annotations/labels for pods
- podSecurityContext / securityContext: pod & container security settings
- ingress.
- enabled: enable Ingress
- className: ingress class name
- annotations: additional annotations
- hosts: list of host rules with paths
- tls: TLS secrets and hosts
- persistence.
- enabled: enable PVC for backend storage
- size: PVC size (e.g., 1Gi)
- storageClass: storage class name
- accessMode: PVC access mode (e.g., ReadWriteOnce)
- monitoring.
- enabled: create a basic auth secret for monitoring endpoints
- auth.username / auth.password: credentials for the above
- servicemonitor.enabled: create a ServiceMonitor (Prometheus Operator)
- nodeSelector / tolerations / affinity: scheduling controls
# values-ingress.yaml
ingress:
enabled: true
className: "nginx"
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "32m"
hosts:
- host: kitchenowl.example.com
paths:
- path: /
pathType: ImplementationSpecificApply:
helm upgrade --install kitchenowl ./kitchenowl \
-n kitchenowl \
-f values-ingress.yaml# values-persistence.yaml
persistence:
enabled: true
size: 5Gi
storageClass: "standard"
accessMode: ReadWriteOnceApply:
helm upgrade --install kitchenowl ./kitchenowl \
-n kitchenowl \
-f values-persistence.yaml# values-monitoring.yaml
monitoring:
enabled: true
auth:
username: kitchenowl
password: strong-password
servicemonitor:
enabled: trueApply:
helm upgrade --install kitchenowl ./kitchenowl \
-n kitchenowl \
-f values-monitoring.yamlkitchenowl/
Chart.yaml
values.yaml
templates/
backend-deployment.yaml
backend-service.yaml
backend-secret.yaml
web-deployment.yaml
web-service.yaml
ingress.yaml
pvc.yaml
servicemonitor.yaml
monitoring-auth-secret.yaml
_helpers.tpl
NOTES.txt
- Validate rendering:
helm template kitchenowl ./kitchenowl -n kitchenowl- Use the provided test values for local checks:
helm template kitchenowl ./kitchenowl -n kitchenowl -f test/values.yaml- Lint the chart:
helm lint ./kitchenowl- If using private images, configure
imagePullSecrets. - Review and harden
securityContextandpodSecurityContextas needed.
This chart is provided as-is. Refer to KitchenOwl’s upstream project for application licensing details. If this repository includes a specific LICENSE file, it takes precedence.