Forgejo controleren

Hoe controleer je of Forgejo goed geïnstalleerd is en draait? Onderstaande checks lopen van “bestaat de Helm-release” tot “antwoordt de applicatie”.

Log eerst in op de beheerscontainer:

ssh root@192.168.0.137

1. Is de Helm-release geïnstalleerd?

helm list -n forgejo

Verwacht:

NfAoMrEgejoNfAoMrEgSePjAoCER1E0VISIONUPDATEDSdTeApTlUoSyedCfHoArRgTejo-17.3.1A1P5P.0V.E1R0SION

Geen regel = niet geïnstalleerd; draai dan ansible-playbook forgejo.yml (vanaf de control node, in /usr/src/opentofu/ansible).

2. Draaien de Kubernetes-objecten?

kubectl -n forgejo get deploy,pods,pvc,svc

Gezonde uitvoer:

NdNpNpNssAeAoAeAeeMpMdMrMrrElE/EsEvvofiiiyosccmrteeege//nenfftjtoo.ovrraoggpleepujjsmoo/e--fchsoltsrathgipemj/ogiTCCtYllePuuR1aEssE/-ttA1seeDhrrYR1aIIE/rPPA1eDdU1Y-PsC-tLToUOSRrS-TuaTDAngEATneRTUi-ESnIgPSBToA1AuVR0TnAEUdISSLTP32AAO02BRR0/LTVpT0TESOv(/CLcSTPU)CMPAAEGGEEC1A0PGAiCITYARCWCOESSMODESSlToOcRaAlG-EpCaLtAhSS

Let op:

3. Antwoordt de applicatie zelf?

kubectl -n forgejo exec deploy/forgejo -- wget -qO- http://127.0.0.1:3000/api/v1/version

Verwacht:

{"version":"15.0.10+gitea-1.22.0"}

Dit is de sterkste check: het proces draait, de HTTP-server luistert én de database werkt.

4. De webinterface openen

De service is ClusterIP, dus lokaal port-forwarden:

kubectl -n forgejo port-forward --address 0.0.0.0 svc/forgejo-http 3000:3000

Daarna in de browser: http://192.168.0.137:3000.

De eerste geregistreerde gebruiker wordt admin (de chart maakt standaard geen admin-secret aan).

5. Als iets niet klopt

kubectl -n forgejo rollout status deploy/forgejo        # wacht op/rapporteert uitrol
kubectl -n forgejo logs deploy/forgejo --tail=30        # applicatiefouten
kubectl -n forgejo describe pod -l app.kubernetes.io/name=forgejo | tail -20
kubectl -n forgejo get events --sort-by=.lastTimestamp | tail -10

Veelvoorkomende signalen:

SymptoomBetekenis / actie
helm list leegNiet geïnstalleerd → ansible-playbook forgejo.yml.
Pod Pending, PVC PendingOpslagprobleem (StorageClass/provisioner) → controleer kubectl -n local-path-storage get pods en kubectl get sc.
CrashLoopBackOffApplicatiefout → kubectl -n forgejo logs.
ImagePullBackOffImage niet op te halen → controleer netwerk/registry.
0/1 READY maar wel RunningReadiness-probe faalt → logs en describe pod.

6. Alles in één keer vanaf de control node

Zonder in te loggen op de container:

cd /usr/src/opentofu/ansible
ansible k8s-management -m shell -a 'helm list -n forgejo; kubectl -n forgejo get pods,pvc'

Of de volledige controle:

ansible k8s-management -m shell -a '
  helm list -n forgejo;
  kubectl -n forgejo get deploy,pods,pvc,svc;
  kubectl -n forgejo exec deploy/forgejo -- wget -qO- http://127.0.0.1:3000/api/v1/version
'

Status bij laatste controle (2026-10-26)

CheckResultaat
Helm-releaseforgejo, status deployed, chart forgejo-17.3.1, app 15.0.10
Deployment1/1 beschikbaar
Podforgejo-..., Running, 1/1 READY, 0 restarts
PVCgitea-shared-storage, Bound, 10Gi, local-path
Servicesforgejo-http (3000/TCP), forgejo-ssh (22/TCP), beide ClusterIP
API{"version":"15.0.10+gitea-1.22.0"}

Conclusie: Forgejo is geïnstalleerd en operationeel.