feat: add Helm chart for Kubernetes deployment - #280
Merged
Conversation
|
Connected to Huly®: SELFH-279 |
Member
|
Hi @dnplkndll |
dnplkndll
force-pushed
the
feat/helm-chart
branch
from
March 21, 2026 04:06
30e0627 to
fbf9bde
Compare
Comprehensive Helm chart for deploying Huly to Kubernetes: - All core services (front, account, transactor, collaborator, etc.) - Infrastructure (CockroachDB, Redpanda, Elasticsearch, MinIO) - Optional AI bot with MongoDB - Automated backup CronJobs to S3-compatible storage - Configurable image registry and version pinning - Auto-generated secrets with persistence across upgrades - NGINX ingress with TLS via cert-manager - CI workflow for lint, template validation, and OCI publish Chart lives at helm/ (outside kube/) to avoid conflict with the existing kubectl-based CI that recursively applies kube/*.yaml. Signed-off-by: Daniel Kendall <dkendall@ledoweb.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Don Kendall <kendall@donkendall.com>
Deploy pod-github for bidirectional sync of issues, PRs, and comments between Huly and GitHub. Gated behind githubIntegration.enabled (false by default). Adds: - templates/github/deployment.yaml + service.yaml - GITHUB_URL to configmap and front deployment - GitHub App credentials to shared secret - /_github ingress backend - README documentation for GitHub integration and AI bot Signed-off-by: Daniel Kendall <dkendall@ledoweb.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Don Kendall <kendall@donkendall.com>
dnplkndll
force-pushed
the
feat/helm-chart
branch
from
March 21, 2026 04:18
fbf9bde to
7515b13
Compare
ArtyomSavchenko
approved these changes
Mar 21, 2026
Member
|
Hi @dnplkndll |
This was referenced Mar 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Production-ready Helm chart for deploying Huly on Kubernetes with a single
helm installcommand.helm upgrade(server secret, DB password, storage config)aibot.enabled, includes built-in MongoDB (or external), auto-generated bot password, and full upstream env var parity (LOVE_ENDPOINT, model overrides for translate/summary/embedding)Tested on K3s (Hetzner) with Hetzner S3 Object Storage and Google OAuth.
This complements the Kustomize manifests in #278 — the Helm chart adds templating, secret management, and configurable external infrastructure on top of the same service definitions.
Test plan
helm templaterenders without errorshelm installon a fresh cluster brings all 13 services to Readyhelm upgradewith--reuse-valuespreserves secretsstorage.type=s3updates STORAGE_CONFIG correctlycockroach.enabled=false) with external URLs worksaibot.enabled=truedeploys aibot + MongoDB, pod starts and registers with account serviceaibot.enabled=false(default) produces no aibot/mongodb resourcessecrets.openaiApiKeywith aibot enabled fails with clear errormongodb.enabled=false+external.mongodb) routes correctly🤖 Generated with Claude Code