git-pages helm chart
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user