From ada5c8fbcf575fe687a16f793fedf2fec38d52ee Mon Sep 17 00:00:00 2001 From: Quentin Campos Date: Mon, 20 Apr 2026 22:32:41 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=9A=20Move=20forgejo=20and=20split=20k?= =?UTF-8?q?ub=20components?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- forgejo.yaml | 99 ------------------------------------- git-forgejo/deployment.yaml | 43 ++++++++++++++++ git-forgejo/ingress.yaml | 25 ++++++++++ git-forgejo/ns.yaml | 4 ++ git-forgejo/pvc.yaml | 11 +++++ git-forgejo/service.yaml | 12 +++++ 6 files changed, 95 insertions(+), 99 deletions(-) delete mode 100644 forgejo.yaml create mode 100644 git-forgejo/deployment.yaml create mode 100644 git-forgejo/ingress.yaml create mode 100644 git-forgejo/ns.yaml create mode 100644 git-forgejo/pvc.yaml create mode 100644 git-forgejo/service.yaml diff --git a/forgejo.yaml b/forgejo.yaml deleted file mode 100644 index 6491508..0000000 --- a/forgejo.yaml +++ /dev/null @@ -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 diff --git a/git-forgejo/deployment.yaml b/git-forgejo/deployment.yaml new file mode 100644 index 0000000..1e417f6 --- /dev/null +++ b/git-forgejo/deployment.yaml @@ -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 \ No newline at end of file diff --git a/git-forgejo/ingress.yaml b/git-forgejo/ingress.yaml new file mode 100644 index 0000000..8eed8a5 --- /dev/null +++ b/git-forgejo/ingress.yaml @@ -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 diff --git a/git-forgejo/ns.yaml b/git-forgejo/ns.yaml new file mode 100644 index 0000000..e122483 --- /dev/null +++ b/git-forgejo/ns.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: forgejo \ No newline at end of file diff --git a/git-forgejo/pvc.yaml b/git-forgejo/pvc.yaml new file mode 100644 index 0000000..1a39b5c --- /dev/null +++ b/git-forgejo/pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: forgejo-data + namespace: forgejo +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi # Should be enough \ No newline at end of file diff --git a/git-forgejo/service.yaml b/git-forgejo/service.yaml new file mode 100644 index 0000000..59e9e77 --- /dev/null +++ b/git-forgejo/service.yaml @@ -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 \ No newline at end of file