| @@ -0,0 +1,107 @@ | |||||
| apiVersion: v1 | |||||
| kind: Namespace | |||||
| metadata: | |||||
| name: gitea | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: gitea | |||||
| namespace: gitea | |||||
| labels: | |||||
| app: gitea | |||||
| spec: | |||||
| replicas: 1 | |||||
| template: | |||||
| metadata: | |||||
| name: gitea | |||||
| labels: | |||||
| app: gitea | |||||
| spec: | |||||
| containers: | |||||
| - name: gitea | |||||
| image: gitea/gitea:latest | |||||
| imagePullPolicy: Always | |||||
| volumeMounts: | |||||
| - mountPath: "/var/lib/gitea" | |||||
| name: "root" | |||||
| - mountPath: "/data" | |||||
| name: "data" | |||||
| ports: | |||||
| - containerPort: 22 | |||||
| name: ssh | |||||
| protocol: TCP | |||||
| - containerPort: 3000 | |||||
| name: http | |||||
| protocol: TCP | |||||
| restartPolicy: Always | |||||
| volumes: | |||||
| # Set up a data directory for gitea | |||||
| # For production usage, you should consider using PV/PVC instead(or simply using storage like NAS) | |||||
| # For more details, please see https://kubernetes.io/docs/concepts/storage/volumes/ | |||||
| - name: "root" | |||||
| hostPath: | |||||
| # directory location on host | |||||
| path: "/var/lib/gitea" | |||||
| # this field is optional | |||||
| type: Directory | |||||
| - name: "data" | |||||
| hostPath: | |||||
| path: "/data/gitea" | |||||
| type: Directory | |||||
| selector: | |||||
| matchLabels: | |||||
| app: gitea | |||||
| --- | |||||
| # Using cluster mode | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: gitea-web | |||||
| namespace: gitea | |||||
| labels: | |||||
| app: gitea-web | |||||
| spec: | |||||
| ports: | |||||
| - port: 80 | |||||
| targetPort: 3000 | |||||
| name: http | |||||
| selector: | |||||
| app: gitea | |||||
| --- | |||||
| # Using node-port mode | |||||
| # This mainly open a specific TCP port for SSH usage on each host, | |||||
| # so you can use a proxy layer to handle it(e.g. slb, nginx) | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: gitea-ssh | |||||
| namespace: gitea | |||||
| labels: | |||||
| app: gitea-ssh | |||||
| spec: | |||||
| ports: | |||||
| - port: 22 | |||||
| targetPort: 22 | |||||
| nodePort: 30022 | |||||
| name: ssh | |||||
| selector: | |||||
| app: gitea | |||||
| type: NodePort | |||||
| --- | |||||
| # Ingress is always suitable for HTTP usage, | |||||
| # we suggest using an proxy layer such as slb to send traffic to different ports. | |||||
| # Usually 80/443 for web and 22 directly for SSH. | |||||
| apiVersion: extensions/v1beta1 | |||||
| kind: Ingress | |||||
| metadata: | |||||
| name: gitea | |||||
| namespace: gitea | |||||
| spec: | |||||
| rules: | |||||
| - host: your-gitea-host.com | |||||
| http: | |||||
| paths: | |||||
| - backend: | |||||
| serviceName: gitea-web | |||||
| servicePort: 80 | |||||