feat(helm): init helm chart#1
Conversation
…rom for SMTP settings
… in deployment.yaml
…n deployment configuration
…s and default to local storage
…lassName based on existing settings
…d local storage handling
…r and data source settings
|
Hello @TartanLeGrand! Great job on the implementation! I have some suggestions regarding PostgreSQL and Redis configuration: External Database Support This would allow users to leverage external database solutions such as:
External Redis Support This would give users more flexibility in their deployment architectures and align with production best practices. What do you think? |
This pull request introduces a Helm chart for deploying Docmost, transitioning the Kubernetes deployment from static YAML manifests to a configurable, templated Helm-based approach. The new chart includes templates for all major Kubernetes resources, supports optional integrations (Redis, PostgreSQL), and provides automated testing and linting via GitHub Actions. The previous monolithic
app.yamlmanifest is removed in favor of this modular, maintainable solution.Helm Chart Introduction and Resource Templating:
Added a new Helm chart in
charts/docmost/, including templates forDeployment,Service,Ingress,HTTPRoute,ServiceAccount,Secret, and autoscaling (hpa.yaml). These templates use values fromvalues.yamlfor flexible configuration. (charts/docmost/templates/deployment.yaml,charts/docmost/templates/service.yaml,charts/docmost/templates/ingress.yaml,charts/docmost/templates/httproute.yaml,charts/docmost/templates/serviceaccount.yaml,charts/docmost/templates/secret.yaml,charts/docmost/templates/hpa.yaml) [1] [2] [3] [4] [5] [6] [7]Defined chart metadata, dependencies (Redis, PostgreSQL), and versioning in
Chart.yaml, enabling optional database and cache integration via subcharts. (charts/docmost/Chart.yaml)DevOps and Testing Enhancements:
Added a GitHub Actions workflow (
test-lint.yml) to automate Helm chart linting, dependency setup, and installation tests on pull requests. This ensures chart integrity and deployment reliability. (.github/workflows/test-lint.yml)Included a Helm test manifest (
test-connection.yaml) to verify service connectivity post-deployment. (charts/docmost/templates/tests/test-connection.yaml)Documentation and Chart Usability:
Added a comprehensive
NOTES.txttemplate to guide users on accessing the deployed application based on their chosen ingress method (HTTPRoute, Ingress, NodePort, LoadBalancer, ClusterIP). (charts/docmost/templates/NOTES.txt)Provided a
.helmignorefile to exclude unnecessary files from chart packaging. (charts/docmost/.helmignore)Removal of Previous Static Manifests:
app.yamlKubernetes manifest, fully replacing it with Helm chart templates for improved maintainability and flexibility. (app.yaml)