be8886032b
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>
26 lines
655 B
YAML
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
|