hardbyte / hardbyte/awa

Kubernetes deployment artifacts: first-party Helm chart (or kustomize base)

Open
#344 0 comments 0 reactions 0 assignees View on GitHub
docs operational
Dominant language
Rust
Stars
32
Forks
5
Avg merge
15h 21m
Merged PRs (30d)
21

Description

## Problem

The docs cover Docker images, rolling deploys, and managed-Postgres specifics (including the Cloud SQL / AlloyDB auth-proxy native-sidecar pattern as raw pod YAML), but there is no installable Kubernetes artifact. Every team currently hand-writes Deployments for workers and the UI, a migrations hook, and probes — and makes the same decisions (one DDL owner, runtime-only grants for workers, maintenance leadership is in-process so no separate ticker) that the docs already prescribe.

## Proposal

A first-party Helm chart (or kustomize base — decide which) covering:

- **Worker Deployment** — replicas, `DATABASE_URL` from secret, resource requests, graceful-shutdown `terminationGracePeriodSeconds` aligned with job deadlines, optional auth-proxy native sidecar (matching the documented Cloud SQL/AlloyDB pattern).
- **Migrations Job / hook** — `awa migrate` as the single DDL owner (pre-install/pre-upgrade hook), so workers run with runtime-only grants per `docs/security.md`.
- **UI Deployment + Service** — `awa serve`, `--read-only` toggle, sized small; ingress deliberately left to the operator (pairs with the admin-auth issue).
- **Probes** — what liveness/readiness mean for a worker (DB reachability vs. runtime registration) needs a documented answer; if a health endpoint is missing for workers, that's a sub-task.
- **No external ticker** — chart docs should state explicitly that maintenance/cron are leader-elected inside workers (ADR-007), since k8s users habitually reach for CronJobs.

Decisions needed: chart location (`charts/` in-repo vs. separate repo), publish target (OCI registry / GH pages), chart-lint + kind-based smoke in CI, and whether the version tracks the app version.

Refs: ADR-007, ADR-028, `docs/deployment.md`, `docs/deploying-on-managed-postgres.md`, `docs/security.md`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.