Helm Chart to deploy a frappe-bench-like environment on Kubernetes. It adds following resources:
ConfigMaps:
nginx-configis used to override default.conf for nginx reverse proxy and static assets container.
Deployments:
gunicorndeployment contains frappe/erpnext gunicorn.nginxdeployment contains frappe/erpnext static assets and nginx reverse proxy.schedulerdeployment contains frappe/erpnext scheduler.socketiodeployment contains frappe/erpnext socketio.worker-ddeployment contains frappe/erpnext default worker.worker-ldeployment contains frappe/erpnext long worker.worker-sdeployment contains frappe/erpnext short worker.
HorizontalPodAutoscalers:
gunicornhpa scales frappe/erpnext gunicorn deployment.nginxhpa scales frappe/erpnext nginx deployment.socketiohpa scales frappe/erpnext socketio deployment.worker-dhpa scales frappe/erpnext default worker deployment.worker-lhpa scales frappe/erpnext long worker deployment.worker-shpa scales frappe/erpnext short worker deployment.
Ingresses:
ingresswith custom name can be dynamically generated usinghelm templateand configured values.
HTTPRoutes:
- Gateway API's
httproutewith custom name can be dynamically generated usinghelm templateand configured values.
Jobs:
vol-fixjob to fix volume permissions, changes theuidandgidto1000:1000.bench-confjob to configure db host, redis hosts and socketio port.create-sitejob to create new site.drop-sitejob to drop existing site.backup-pushjob to backup and optionally push backup to S3 for existing site.migratejob to migrate existing site.customjob to run custom additional commands and configuration.
PVC:
erpnextpersistent volume claim is used to allocate volume for sites and config deployed with this releaseerpnext-logspersistent volume claim is used to allocate volume for logs
Secrets:
secretis used to storedb-root-passwordfor external db host
Services:
gunicornservice exposes pods from gunicorn deployment.nginxservice exposes pods from nginx deployment.socketioservice exposes pods from socketio deployment.
ServiceAccounts:
erpnextservice account is used by all deployments.
This is a release script for maintainers. It does the following:
- Checks latest tag for given major release for frappe and erpnext using git.
- Validates that release always bumps up.
- Bumps values.yaml and Chart.yaml for release changes
- Adds git tag for chart version
- Push to selected remote
This will trigger workflow to publish new version of helm chart.