diff --git a/deployment/gitea.yaml b/deployment/gitea.yaml new file mode 100644 index 0000000..527610d --- /dev/null +++ b/deployment/gitea.yaml @@ -0,0 +1,106 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: gitea-namespace + +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + namespace: gitea-namespace + name: gitea +spec: + replicas: 1 + selector: + matchLabels: + app: gitea + template: + metadata: + labels: + app: gitea + spec: + containers: + - name: c-gitea + image: gitea/gitea:1.21.7 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 3000 + resources: + limits: + memory: 200Mi + cpu: 4 + volumeMounts: + - mountPath: /data + name: gitea-data + volumes: + - name: gitea-data + persistentVolumeClaim: + claimName: gitea-pvc + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + namespace: gitea-namespace + name: gitea-pvc +spec: + accessModes: ["ReadWriteOnce"] + storageClassName: "gitea-storage" + resources: + requests: + storage: 5Gi + +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + namespace: gitea-namespace + name: gitea-pv +spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + hostPath: + path: /data/gitea-app + type: "" + storageClassName: "gitea-storage" + volumeMode: Filesystem +--- +apiVersion: v1 +kind: Service +metadata: + namespace: gitea-namespace + name: gitea-svc +spec: + selector: + app: gitea + type: ClusterIP + ports: + - name: gitea-http + port: 80 + targetPort: 3000 + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ing-gitea + namespace: gitea-namespace + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + ingressClassName: nginx + rules: + - host: "gitea.dev.com" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: gitea-svc + port: + number: 80