Skip to content

Rework Helm chart and add local dev support - #558

Draft
kowtom wants to merge 5 commits into
ENTERPILOT:mainfrom
kowtom:feature/helm-refactor
Draft

Rework Helm chart and add local dev support#558
kowtom wants to merge 5 commits into
ENTERPILOT:mainfrom
kowtom:feature/helm-refactor

Conversation

@kowtom

@kowtom kowtom commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces a comprehensive Helm chart for GoModel, along with a local Kubernetes development workflow using kind and Skaffold. It adds all necessary Helm templates, CI/CD automation for chart linting and publishing, and Makefile targets for local cluster management. The changes enable streamlined deployment, testing, and packaging of GoModel on Kubernetes, supporting both stateless (multi-replica) and persistent (SQLite) modes.

The most important changes are:

Helm Chart Introduction and Structure:

  • Added a full-featured Helm chart for GoModel in deploy/helm/gomodel, including templates, example values, documentation, and helper templates to support flexible, production-grade Kubernetes deployments. (deploy/helm/gomodel/Chart.yaml, README.md, templates/, ci/, etc.) [1] [2] [3] [4] [5] [6] [7] [8]

CI/CD Automation for Helm:

  • Added GitHub Actions workflows for Helm chart linting and schema validation on PRs and pushes (.github/workflows/helm-ci.yml), and for packaging and publishing the chart to Docker Hub as an OCI artifact on tagged releases (.github/workflows/helm-release.yml). [1] [2]

Local Kubernetes Development Workflow:

  • Introduced a local development workflow using kind and Skaffold, including a development-optimized Dockerfile.dev, Makefile targets for cluster management (kind-up, kind-down, dev-k8s, etc.), and configuration for local dependencies and manifests. [1] [2] [3] [4]

Configuration and Pre-commit Updates:

  • Updated .pre-commit-config.yaml to match the new Helm chart directory structure for YAML checks.

Repository Structure Adjustments:

  • Moved and renamed directories and files to support the new deployment and development workflows, including replacing helm/ with deploy/helm/, adding .dockerignore entries, and updating deployment-related files.

These changes provide a robust foundation for deploying, testing, and maintaining GoModel on Kubernetes in both development and production environments.

kowtom added 4 commits July 19, 2026 22:16
Rework the Helm chart around external datastores with two deployment
modes: a stateless Deployment (default) and a SQLite StatefulSet+PVC
mode gated by persistence.enabled, with guardrails preventing unsafe
multi-replica/autoscaling combinations.

Add HTTP /health and /health/ready probes, ConfigMap-rendered
config.yaml with ${VAR} expansion, chart or existing Secret via
envFrom, distroless-matched securityContext, plus Ingress, HPA, PDB,
NetworkPolicy, ServiceMonitor and config/secret checksum auto-reload.

Add CI workflows to lint, template, and kubeconform-validate the chart
and to publish it to the Docker Hub OCI registry on helm-v* tags.

Drop the previous Bitnami redis subchart and Gateway API HTTPRoute in
favor of external-only dependencies and Ingress-based routing.
Deploy a stdlib-only OpenAI-compatible mock upstream (ConfigMap-mounted
Python server) via `make kind-up`, and point the dev OpenAI provider at
it (OPENAI_BASE_URL) so /v1/models and /v1/chat/completions work
end-to-end in kind without real provider credentials. Extends CI
kubeconform validation and dev docs accordingly.
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 24ce98aa-16a9-40e1-abd9-372d5d3c330c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants