Files
antonsemenovser be8886032b feat(deploy): containerize the static site for the kotkan k8s cluster
Same convention as retif/kotkanagrilli.fi so the marketing site can run on a
kotkanagrilli.fi subdomain (Oracle Cloud ARM64 k3s) alongside the bot.

- deploy/Containerfile — nginx-unprivileged serving the static site on :8080.
- deploy/chart/ — Deployment + Service + Ingress (host studio.kotkanagrilli.fi,
  kube-system-traefik).
- deploy/.woodpecker.yaml — buildx remote buildkit --platform linux/arm64 ->
  push image, helm package + push chart to Gitea OCI.
- deploy/README.md — operator provisioning + how to change the subdomain.

Verified locally (amd64): image builds and serves the site (HTTP 200, correct
title); helm template renders Service/Deployment/Ingress clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:30:38 +03:00

26 lines
655 B
YAML

# Defaults render a working deploy on the kotkan node (Oracle Cloud ARM64, k3s).
# Woodpecker overrides `image` per build; Flux pins the chart version.
image: git.oleks.space/oleks/ai-studio-site:latest
imagePullPolicy: IfNotPresent
imagePullSecrets:
- name: gitea-registry-creds
nodeSelector:
kubernetes.io/hostname: kotkan
# Subdomain this site answers on. Traefik ingress, same class as kotkanagrilli.
ingress:
host: studio.kotkanagrilli.fi
className: kube-system-traefik
replicas: 2 # stateless static — safe to run two for zero-downtime rollout
resources:
requests:
cpu: 10m
memory: 24Mi
limits:
memory: 64Mi