nanochat/helm/samosachaat/values.yaml
Manmohan Sharma 53f547fdef
feat(ci): CI/CD pipeline and Helm umbrella chart for samosaChaat (#8)
Adds GitHub Actions workflows for per-service CI (paths-filter gated),
dev image builds to ECR via OIDC, RC*-tag UAT promotion with image
re-tagging and Helm deploy, v*-tag blue/green prod release with smoke
test + ingress swap, and a nightly docker-compose integration suite.

Ships a Helm umbrella chart (dev/uat/prod values) with Deployments,
ClusterIP Services, ALB Ingress (samosachaat.art + grafana host), HPAs
for chat-api/inference in prod, PDBs, ConfigMap/Secret wiring, and an
alembic db-migrate Helm hook job.

Wires commitlint + husky for Conventional Commits at the repo root.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 12:09:43 -07:00

132 lines
2.7 KiB
YAML

## Base values for the samosaChaat umbrella chart.
## Environment overrides live in values-{dev,uat,prod}.yaml.
global:
## Set by CI (promote-uat / release-prod) or `helm install --set global.imageTag=...`.
imageTag: dev-latest
imagePullPolicy: Always
## Optional ECR / registry prefix. e.g. 1234.dkr.ecr.us-east-1.amazonaws.com
imageRegistry: ""
imagePullSecrets: []
namespace:
create: true
name: samosachaat
## Shared env piped into every service.
config:
LOG_LEVEL: "info"
ENVIRONMENT: "dev"
## Secret names/values. Values here are placeholders; real values should come
## from --set-file or an external secret manager.
secrets:
create: true
data: {}
## ---------------- Deployment-wide knobs ----------------
deployment:
## blue / green slot name — empty string means single-slot (dev/uat).
slot: ""
## ---------------- Per-service definitions ----------------
frontend:
enabled: true
image:
repository: samosachaat/frontend
replicaCount: 1
port: 3000
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
env:
NEXT_PUBLIC_API_URL: "https://samosachaat.art/api"
hpa:
enabled: false
auth:
enabled: true
image:
repository: samosachaat/auth
replicaCount: 1
port: 8001
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
env: {}
hpa:
enabled: false
chatApi:
enabled: true
image:
repository: samosachaat/chat-api
replicaCount: 1
port: 8002
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: '1'
memory: 1Gi
env: {}
hpa:
enabled: false
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70
inference:
enabled: true
image:
repository: samosachaat/inference
replicaCount: 1
port: 8003
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: '2'
memory: 4Gi
env: {}
hpa:
enabled: false
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70
## ---------------- Ingress (AWS ALB) ----------------
ingress:
enabled: true
host: samosachaat.art
grafanaHost: grafana.samosachaat.art
acmCertArn: ""
grafanaServiceName: grafana
grafanaServicePort: 3000
## ---------------- PodDisruptionBudgets ----------------
pdb:
enabled: false
minAvailable: 1
## ---------------- DB migration Helm hook ----------------
dbMigrate:
enabled: true
## Uses the chat-api image to run alembic; alembic config ships with the auth
## service but the image build for chat-api also includes migrations.
image:
repository: samosachaat/chat-api
command: ["alembic", "upgrade", "head"]
workingDir: /app
env: {}