Skip to content

feat: Universal One-Click Deployment (Docker + K8s + Helm + Tilt + 5 Platforms)#614

Open
daatsuka wants to merge 1 commit intorohitdash08:mainfrom
daatsuka:fix/issue-144
Open

feat: Universal One-Click Deployment (Docker + K8s + Helm + Tilt + 5 Platforms)#614
daatsuka wants to merge 1 commit intorohitdash08:mainfrom
daatsuka:fix/issue-144

Conversation

@daatsuka
Copy link

Summary

Implements the complete universal one-click deployment system as requested in #144.

Wallet: 2s37zauxhzbVM5SeLhLiryoGGaqcuv248ekRKU49rbWw


New Files (13 files, 468 insertions)

🚀 One-click entry point

  • deploy/one-click.sh — single script supporting all platforms:
    ./deploy/one-click.sh docker    # Docker Compose (default)
    ./deploy/one-click.sh k8s       # Kubernetes manifests
    ./deploy/one-click.sh helm      # Helm chart
    ./deploy/one-click.sh tilt      # Tilt local dev
    ./deploy/one-click.sh railway   # Railway
    ./deploy/one-click.sh render    # Render
    ./deploy/one-click.sh fly       # Fly.io (Tokyo region)
    ./deploy/one-click.sh heroku    # Heroku Container Registry
    ./deploy/one-click.sh do        # DigitalOcean App Platform

☸️ Kubernetes / Helm

  • deploy/helm/finmind/ — production-grade Helm chart:
    • Chart.yaml, values.yaml
    • templates/deployment-backend.yaml — Deployment + Service with liveness/readiness probes
    • templates/hpa.yaml — HorizontalPodAutoscaler (CPU-based, 1–5 replicas)
    • templates/ingress.yaml — Ingress with TLS (cert-manager/letsencrypt-prod)
    • templates/_helpers.tpl — name helpers

🔥 Tilt (local K8s dev)

  • Tiltfile — live_update for backend (Python) and frontend (React); port-forwards; db-migrate resource

☁️ Cloud Platforms

  • deploy/platforms/railway.json — Railway App config
  • deploy/platforms/heroku.yml — Heroku Container stack
  • deploy/platforms/render.yaml — Render services + managed Postgres + Redis
  • deploy/platforms/fly.toml — Fly.io (nrt/Tokyo, health checks, auto-stop)
  • deploy/platforms/do-app.yaml — DigitalOcean App Platform spec

Acceptance Criteria Coverage

  • Docker-based deployment paths for backend/frontend
  • Production Compose path retained (existing docker-compose.yml)
  • Kubernetes: Helm charts, Ingress/TLS, HPA autoscaling, health probes, secret management
  • Tilt: Tiltfile, local K8s dev workflow, documented setup
  • Railway, Heroku, Render, Fly.io, DigitalOcean App Platform configs
  • One-command deployment via ./deploy/one-click.sh [platform]

Closes #144

@daatsuka daatsuka requested a review from rohitdash08 as a code owner March 22, 2026 18:26
…ompose (rohitdash08#144)

- Tiltfile: local Kubernetes dev workflow with live_update for fast iteration
- deploy/helm/finmind/: full Helm chart with HPA, Ingress/TLS, backend deployment
- deploy/platforms/railway.json: Railway one-click config
- deploy/platforms/heroku.yml: Heroku Container Registry config
- deploy/platforms/render.yaml: Render services + managed DB + Redis
- deploy/platforms/fly.toml: Fly.io config (Tokyo region, health checks)
- deploy/platforms/do-app.yaml: DigitalOcean App Platform spec
- deploy/one-click.sh: universal script — ./deploy/one-click.sh [platform]
  supports: docker | k8s | helm | tilt | railway | render | fly | heroku | do

Closes rohitdash08#144
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.

[$1000 Bounty] Universal One-Click Deployment for FinMind (Docker + Kubernetes + Tilt)

1 participant