# Bootstrap-/Konfig-Job für Wiki.js (ADR-0014, #0048/#0049). Ersetzt den manuellen # Setup-Assistenten: finalize (Admin aus SOPS) -> OIDC-Strategy -> Gruppen + # Seitenregeln. Idempotent (live verifiziert 2026-08-12). Läuft einmal beim Deploy; # erneut anstoßen = Job löschen, Flux legt ihn neu an (Skript ist re-runnable). apiVersion: batch/v1 kind: Job metadata: name: wikijs-config namespace: matrix spec: backoffLimit: 10 ttlSecondsAfterFinished: 86400 template: metadata: labels: app.kubernetes.io/name: wikijs-config spec: restartPolicy: OnFailure containers: - name: config image: python:3.12-alpine command: ["python3", "/script/wikijs-config.py"] env: - name: WIKI_URL value: http://wikijs:3000 - name: WIKI_SITE_URL value: https://wiki.axion1337.chat # Site-Titel (oben links + Browser-Tab), konfigurierbar pro Deployment. - name: WIKI_SITE_TITLE value: wiki.axion1337.chat - name: WIKI_ADMIN_EMAIL valueFrom: secretKeyRef: name: wikijs-admin-secret key: email - name: WIKI_ADMIN_PASSWORD valueFrom: secretKeyRef: name: wikijs-admin-secret key: password - name: OIDC_CLIENT_ID valueFrom: secretKeyRef: name: wikijs-oidc-secret key: client_id - name: OIDC_CLIENT_SECRET valueFrom: secretKeyRef: name: wikijs-oidc-secret key: client_secret # Git-Storage (ADR-0015): Inhalt nach Gitea syncen. Klartext-Koordinaten; # nur der PAT liegt im SOPS-Secret wikijs-git-secret. optional=true, damit # der Job auch läuft, bevor das Secret existiert (Skript überspringt dann). - name: GIT_STORAGE_REPO value: https://rohana.axion1337.de/sorb/ThreadNetWiki.git - name: GIT_STORAGE_USER value: sorb - name: GIT_STORAGE_BRANCH value: main - name: GIT_STORAGE_EMAIL value: wiki@axion1337.chat - name: GIT_STORAGE_NAME value: ThreadNet Wiki - name: GIT_STORAGE_TOKEN valueFrom: secretKeyRef: name: wikijs-git-secret key: token optional: true volumeMounts: - name: script mountPath: /script volumes: - name: script configMap: name: wikijs-config-script