Skip to content

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

  1. Build and push image from the app repo (GHCR ghcr.io/dine-together/<app>:sha-<commit>).
  2. In infra repo, add a HelmRelease (or Kustomize overlay) under clusters/<env>/apps/<app>/ with:
  3. image repository and tag
  4. hostnames (e.g., <app>.staging.dinetogether.co.uk)
  5. resources, probes, env, secrets
  6. 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 kustomizations
  • kubectl get ingress -n staging
  • Open https://<app>.staging.dinetogether.co.uk