Deploy a New Application (GitOps)
Use GitOps with FluxCD to deploy new apps. This replaces the previous compose-conversion flow.
Prerequisites
- App repository in org
- Dockerfile and CI workflow to build and push to GHCR (tagged with commit SHA)
- Helm chart (golden chart for Next.js/Django) or Kustomize overlay
Steps
- Build and push image from the app repo (GHCR
ghcr.io/dine-together/<app>:sha-<commit>). - In infra repo, add a
HelmRelease(or Kustomize overlay) underclusters/<env>/apps/<app>/with: - image repository and tag
- hostnames (e.g.,
<app>.staging.dinetogether.co.uk) - resources, probes, env, secrets
- Flux reconciles automatically.
Example: Next.js HelmRelease (values excerpt)
image:
repository: ghcr.io/dine-together/frontend
tag: sha-<commit>
ingress:
className: nginx
hosts:
- host: frontend.staging.dinetogether.co.uk
paths:
- path: /
pathType: Prefix
service:
port: 3000
Verify
flux get kustomizationskubectl get ingress -n staging- Open
https://<app>.staging.dinetogether.co.uk