From 2a811fa4f4efe02228af38e03d8f9b7cb91849a3 Mon Sep 17 00:00:00 2001 From: Patryk Hegenberg Date: Wed, 7 May 2025 09:44:20 +0200 Subject: [PATCH] ci: add forgejo to infrastructure --- infrastructure/forgejo/deployment.yaml | 28 +++++++++++++++++++++++ infrastructure/forgejo/ingress.yaml | 19 +++++++++++++++ infrastructure/forgejo/kustomization.yaml | 8 +++++++ infrastructure/forgejo/namespace.yaml | 4 ++++ infrastructure/forgejo/pvc.yaml | 12 ++++++++++ infrastructure/forgejo/service.yaml | 16 +++++++++++++ infrastructure/kustomization.yaml | 1 + 7 files changed, 88 insertions(+) create mode 100644 infrastructure/forgejo/deployment.yaml create mode 100644 infrastructure/forgejo/ingress.yaml create mode 100644 infrastructure/forgejo/kustomization.yaml create mode 100644 infrastructure/forgejo/namespace.yaml create mode 100644 infrastructure/forgejo/pvc.yaml create mode 100644 infrastructure/forgejo/service.yaml diff --git a/infrastructure/forgejo/deployment.yaml b/infrastructure/forgejo/deployment.yaml new file mode 100644 index 0000000..599216e --- /dev/null +++ b/infrastructure/forgejo/deployment.yaml @@ -0,0 +1,28 @@ +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: forgejo/forgejo:latest + ports: + - containerPort: 3000 + - containerPort: 22 + volumeMounts: + - name: forgejo-data + mountPath: /data + volumes: + - name: forgejo-data + persistentVolumeClaim: + claimName: forgejo-data diff --git a/infrastructure/forgejo/ingress.yaml b/infrastructure/forgejo/ingress.yaml new file mode 100644 index 0000000..65859aa --- /dev/null +++ b/infrastructure/forgejo/ingress.yaml @@ -0,0 +1,19 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: forgejo + namespace: forgejo + annotations: + kubernetes.io/ingress.class: "traefik" +spec: + rules: + - host: forgejo.local + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: forgejo + port: + number: 80 diff --git a/infrastructure/forgejo/kustomization.yaml b/infrastructure/forgejo/kustomization.yaml new file mode 100644 index 0000000..3245c70 --- /dev/null +++ b/infrastructure/forgejo/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - pvc.yaml + - deployment.yaml + - service.yaml + - ingress.yaml diff --git a/infrastructure/forgejo/namespace.yaml b/infrastructure/forgejo/namespace.yaml new file mode 100644 index 0000000..6521f89 --- /dev/null +++ b/infrastructure/forgejo/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: forgejo diff --git a/infrastructure/forgejo/pvc.yaml b/infrastructure/forgejo/pvc.yaml new file mode 100644 index 0000000..edcb3b8 --- /dev/null +++ b/infrastructure/forgejo/pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: forgejo-data + namespace: forgejo +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: longhorn diff --git a/infrastructure/forgejo/service.yaml b/infrastructure/forgejo/service.yaml new file mode 100644 index 0000000..aeaa8cf --- /dev/null +++ b/infrastructure/forgejo/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: forgejo + namespace: forgejo +spec: + selector: + app: forgejo + ports: + - protocol: TCP + port: 80 + targetPort: 3000 + - protocol: TCP + port: 22 + targetPort: 22 + type: ClusterIP diff --git a/infrastructure/kustomization.yaml b/infrastructure/kustomization.yaml index f757dd0..1d5b6e5 100644 --- a/infrastructure/kustomization.yaml +++ b/infrastructure/kustomization.yaml @@ -3,3 +3,4 @@ kind: Kustomization resources: - monitoring/ - longhorn/ + - forgejo/