🚚 Move forgejo and split kub components

This commit is contained in:
Quentin Campos 2026-04-20 22:32:41 +02:00
parent 1a95f44850
commit ada5c8fbcf
6 changed files with 95 additions and 99 deletions

View file

@ -1,99 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: forgejo
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: forgejo-data
namespace: forgejo
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi # Largeur pour tes dépôts et tes images Docker
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: forgejo
namespace: forgejo
spec:
replicas: 1
selector:
matchLabels:
app: forgejo
template:
metadata:
labels:
app: forgejo
spec:
containers:
- name: forgejo
image: codeberg.org/forgejo/forgejo:8
ports:
- containerPort: 3000
name: http
- containerPort: 22
name: ssh
env:
- name: FORGEJO__database__DB_TYPE
value: sqlite3 # Léger pour ton VPS
- name: FORGEJO__server__DOMAIN
value: git.qcampos.fr
- name: FORGEJO__server__ROOT_URL
value: https://git.qcampos.fr/
# Activation du Registre d'images
- name: FORGEJO__packages__ENABLED
value: "true"
# Activation des Actions (CI/CD)
- name: FORGEJO__actions__ENABLED
value: "true"
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: forgejo-data
---
apiVersion: v1
kind: Service
metadata:
name: forgejo-service
namespace: forgejo
spec:
selector:
app: forgejo
ports:
- name: http
port: 80
targetPort: 3000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: forgejo-ingress
namespace: forgejo
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-http"
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
ingressClassName: traefik
tls:
- hosts:
- git.qcampos.fr
secretName: git-qcampos-tls
rules:
- host: git.qcampos.fr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: forgejo-service
port:
number: 80

View file

@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: forgejo
namespace: forgejo
spec:
replicas: 1
selector:
matchLabels:
app: forgejo
template:
metadata:
labels:
app: forgejo
spec:
containers:
- name: forgejo
image: codeberg.org/forgejo/forgejo:8
ports:
- containerPort: 3000
name: http
- containerPort: 22
name: ssh
env:
- name: FORGEJO__database__DB_TYPE
value: sqlite3 # Léger pour ton VPS
- name: FORGEJO__server__DOMAIN
value: git.qcampos.fr
- name: FORGEJO__server__ROOT_URL
value: https://git.qcampos.fr/
# Activation du Registre d'images
- name: FORGEJO__packages__ENABLED
value: "true"
# Activation des Actions (CI/CD)
- name: FORGEJO__actions__ENABLED
value: "true"
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: forgejo-data

25
git-forgejo/ingress.yaml Normal file
View file

@ -0,0 +1,25 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: forgejo-ingress
namespace: forgejo
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-http"
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
ingressClassName: traefik
tls:
- hosts:
- git.qcampos.fr
secretName: git-qcampos-tls
rules:
- host: git.qcampos.fr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: forgejo-service
port:
number: 80

4
git-forgejo/ns.yaml Normal file
View file

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: forgejo

11
git-forgejo/pvc.yaml Normal file
View file

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: forgejo-data
namespace: forgejo
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi # Should be enough

12
git-forgejo/service.yaml Normal file
View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: forgejo-service
namespace: forgejo
spec:
selector:
app: forgejo
ports:
- name: http
port: 80
targetPort: 3000