summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorBetaCat <outman99@hotmail.com>2018-10-29 09:28:06 +0800
committertechknowlogick <hello@techknowlogick.com>2018-10-28 21:28:06 -0400
commit8b4c4bd08fdddb01ecf54345ec74a5da6f1ee1d4 (patch)
tree64abdcd9ecb92043a8ecff19141034380c5ee7d3 /contrib
parentb8451190d85af255a94b02cdfdd6d375015b3864 (diff)
downloadgitea-8b4c4bd08fdddb01ecf54345ec74a5da6f1ee1d4.tar.gz
gitea-8b4c4bd08fdddb01ecf54345ec74a5da6f1ee1d4.zip
k8s deployment (#5046)
Diffstat (limited to 'contrib')
-rw-r--r--contrib/k8s/gitea.yml107
1 files changed, 107 insertions, 0 deletions
diff --git a/contrib/k8s/gitea.yml b/contrib/k8s/gitea.yml
new file mode 100644
index 0000000000..c4aed869f7
--- /dev/null
+++ b/contrib/k8s/gitea.yml
@@ -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