Skip to content

Kubernetes base + UI image workflow - #13

Merged
bulbashenko merged 1 commit into
mainfrom
k8s
Oct 11, 2026
Merged

bulbashenko merged 1 commit into
mainfrom
k8s

Conversation

@bulbashenko

Copy link
Copy Markdown
Collaborator

What

  • kustomization.yaml (root) + deploy/k8s/: Kubernetes base built from the same ory/ files the compose stack mounts.
    • Kratos / Hydra / Keto: migrations as init containers, same service names and ports as compose → internal URLs in the configs stay valid.
    • Oathkeeper, sso-ui, hydra-clients Job (Flux force so it re-runs when clients change).
    • Traefik IngressRoutes ported from the compose labels: auth.bulbashenko.com on web (Cloudflare Tunnel) with the same rate limits and headers; users.int.bulbashenko.com on websecure behind kube-system/mesh-only + Oathkeeper forward-auth.
    • Non-root, read-only root FS, resource requests/limits.
  • .github/workflows/image.yml: builds ghcr.io/bulbashenko-com/auth-ui:<sha> (+ :main) on pushes to main.
  • ui/Dockerfile: image source label → the org repo.
  • README: "Deploy on Kubernetes" (what the deploying side must provide).

Compose / Coolify deployment is untouched; it keeps running until cutover.

Consumed by

bulbashenko-com/infra pins this repo's commit (configs) and the same SHA for the image.

🤖 Generated with Claude Code

The same ory/ configs become ConfigMaps; Kratos, Hydra and Keto run their
migrations as init containers; Oathkeeper, the UI and the hydra-clients
Job follow the compose services one to one, with the same service names
so internal URLs stay valid. Traefik IngressRoutes carry over the routes
and rate limits from the compose labels: auth.bulbashenko.com on the web
entrypoint (Cloudflare Tunnel), users.int on websecure behind the mesh
and Oathkeeper.

A new workflow builds ghcr.io/bulbashenko-com/auth-ui:<sha> on main, so
the deploying repo can pin configs and image to one commit. The compose
deployment on Coolify is untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bulbashenko
bulbashenko merged commit 662344c into main Oct 11, 2026
2 checks passed
@bulbashenko
bulbashenko deleted the k8s branch October 11, 2026 20:00
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.

1 participant