163 lines
4.1 KiB
YAML
163 lines
4.1 KiB
YAML
# DEPRECATED — älä käytä. deadnews/gitea-pages vetää pages-branchin Giteasta (väärä suunta).
|
|
# Käytä sen sijaan: tmp/git-pages.yaml (Codeberg git-pages, CI pushaa HTML:n).
|
|
#
|
|
# Gitea Pages — k3s homelab (standardimalli, kuten vikunja)
|
|
#
|
|
# Sovellus: HTTP :8000 — ei omaa ingressiä, ei ACME:ä, ei TLS:ää podissa.
|
|
# Ulospäin: cert-manager Certificate → Traefik IngressRoute (websecure).
|
|
#
|
|
# Image: ghcr.io/deadnews/gitea-pages — vetää tiedostot Gitea API:sta.
|
|
# Data flow: CI git push → Gitea (branch "pages") → pages-server lukee API:lla.
|
|
#
|
|
# URL: https://pages.helm-dev.keskikuja.site/{owner}/{repo}/reports/{sha8}/cucumber/...
|
|
#
|
|
# Secret = Gitea PAT (read repository).
|
|
# POC: Secret inline alla (älä commitoi oikeaa tokenia).
|
|
# Tuotanto: kubectl-snippet, Secret pois manifestista — PR:llä repoon.
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: gitea-pages
|
|
labels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
app.kubernetes.io/component: pages-server
|
|
|
|
# Tuotanto — Secret kubectl:lla (PAT Giteasta):
|
|
#
|
|
# NS=gitea-pages
|
|
# export GITEA_PAGES_TOKEN='gitea_pat_...'
|
|
# kubectl create secret generic gitea-pages-secrets \
|
|
# --from-literal=gitea-api-token="$GITEA_PAGES_TOKEN" \
|
|
# -n $NS
|
|
#
|
|
# kubectl apply -f tmp/gitea-pages.yaml # ilman Secret-resurssia
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: gitea-pages-secrets
|
|
namespace: gitea-pages
|
|
labels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
type: Opaque
|
|
stringData:
|
|
# POC: Gitea PAT read repository — täytä paikallisesti, älä commitoi
|
|
gitea-api-token: ""
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: gitea-pages
|
|
namespace: gitea-pages
|
|
labels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
app.kubernetes.io/component: pages-server
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
app.kubernetes.io/component: pages-server
|
|
spec:
|
|
containers:
|
|
- name: gitea-pages
|
|
image: ghcr.io/deadnews/gitea-pages:v1.0.1
|
|
imagePullPolicy: IfNotPresent
|
|
ports:
|
|
- name: http
|
|
containerPort: 8000
|
|
protocol: TCP
|
|
env:
|
|
- name: GITEA_PAGES_SERVER
|
|
value: "https://gitea.app.keskikuja.site"
|
|
- name: GITEA_PAGES_BRANCH
|
|
value: "pages"
|
|
- name: GITEA_PAGES_ADDR
|
|
value: ":8000"
|
|
- name: GITEA_PAGES_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: gitea-pages-secrets
|
|
key: gitea-api-token
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
initialDelaySeconds: 3
|
|
periodSeconds: 10
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 20
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 256Mi
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: gitea-pages
|
|
namespace: gitea-pages
|
|
labels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app.kubernetes.io/name: gitea-pages
|
|
ports:
|
|
- name: http
|
|
port: 8000
|
|
targetPort: http
|
|
protocol: TCP
|
|
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: gitea-pages-tls
|
|
namespace: gitea-pages
|
|
labels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
spec:
|
|
secretName: gitea-pages-tls
|
|
commonName: pages.helm-dev.keskikuja.site
|
|
dnsNames:
|
|
- pages.helm-dev.keskikuja.site
|
|
issuerRef:
|
|
name: letsencrypt-prod
|
|
kind: ClusterIssuer
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: gitea-pages
|
|
namespace: gitea-pages
|
|
labels:
|
|
app.kubernetes.io/name: gitea-pages
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`pages.helm-dev.keskikuja.site`)
|
|
kind: Rule
|
|
services:
|
|
- name: gitea-pages
|
|
port: 8000
|
|
tls:
|
|
secretName: gitea-pages-tls
|