aboutsummaryrefslogtreecommitdiff
path: root/manifests/base
diff options
context:
space:
mode:
authorMax Resnick <max@ofmax.li>2024-04-15 20:54:53 -0700
committerMax Resnick <max@ofmax.li>2024-06-01 22:38:22 -0700
commit31fbde46fab0dbed8c572573dfbc75593d9b3702 (patch)
treebd4863297bc7aa32cf97d7bfbe53db9d14dc5b05 /manifests/base
parentb8584fec70bd6810fa2392deadc69595b3e94cfa (diff)
downloadgo-git-server-31fbde46fab0dbed8c572573dfbc75593d9b3702.tar.gz
feat: kubernetes deployment manifests
adds deployment manifests for cgit and go-git-server
Diffstat (limited to 'manifests/base')
-rw-r--r--manifests/base/cm.yaml25
-rw-r--r--manifests/base/deploy.yaml57
-rw-r--r--manifests/base/kustomization.yaml14
-rw-r--r--manifests/base/pvc.yaml14
-rw-r--r--manifests/base/svc.yaml12
5 files changed, 122 insertions, 0 deletions
diff --git a/manifests/base/cm.yaml b/manifests/base/cm.yaml
new file mode 100644
index 0000000..18423be
--- /dev/null
+++ b/manifests/base/cm.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+data:
+ policy.csv: |
+ g, role:admin, role:maintainers
+ g, uid:admin, role:admin
+ g, uid:grumps, role:maintainers
+ g, aid:argo, role:bots
+ auth_model.ini: |
+ [request_definition]
+ r = sub, obj, act
+
+ [policy_definition]
+ p = sub, obj, act
+
+ [role_definition]
+ g = _, _
+
+ [policy_effect]
+ e = some(where (p.eft == allow))
+
+ [matchers]
+ m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
+kind: ConfigMap
+metadata:
+ name: go-git-policy
diff --git a/manifests/base/deploy.yaml b/manifests/base/deploy.yaml
new file mode 100644
index 0000000..f7ad0bf
--- /dev/null
+++ b/manifests/base/deploy.yaml
@@ -0,0 +1,57 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ annotations:
+ deployment.kubernetes.io/revision: "3"
+ labels:
+ app: go-git-server
+ name: go-git-server
+ namespace: default
+spec:
+ progressDeadlineSeconds: 600
+ replicas: 1
+ revisionHistoryLimit: 10
+ selector:
+ matchLabels:
+ app: go-git-server
+ strategy:
+ rollingUpdate:
+ maxSurge: 25%
+ maxUnavailable: 25%
+ type: RollingUpdate
+ template:
+ metadata:
+ creationTimestamp: null
+ labels:
+ app: go-git-server
+ spec:
+ containers:
+ - image: go-git-registry:5000/go-git-server:latest
+ imagePullPolicy: Always
+ name: go-git-server
+ terminationMessagePath: /dev/termination-log
+ terminationMessagePolicy: File
+ volumeMounts:
+ - mountPath: /tokens
+ name: go-git-server-tokens
+ readOnly: true
+ - mountPath: /opt/repos
+ name: go-git-storage
+ - mountPath: /opt/app/etc
+ name: go-git-policy
+ dnsPolicy: ClusterFirst
+ restartPolicy: Always
+ schedulerName: default-scheduler
+ terminationGracePeriodSeconds: 30
+ volumes:
+ - configMap:
+ defaultMode: 420
+ name: go-git-policy
+ name: go-git-policy
+ - name: go-git-storage
+ persistentVolumeClaim:
+ claimName: go-git-storage
+ - name: go-git-server-tokens
+ secret:
+ defaultMode: 420
+ secretName: go-git-server
diff --git a/manifests/base/kustomization.yaml b/manifests/base/kustomization.yaml
new file mode 100644
index 0000000..952446b
--- /dev/null
+++ b/manifests/base/kustomization.yaml
@@ -0,0 +1,14 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+metadata:
+ name: go-git-server
+
+commonLabels:
+ app: go-git-server
+
+resources:
+- cm.yaml
+- svc.yaml
+- pvc.yaml
+- deploy.yaml
+
diff --git a/manifests/base/pvc.yaml b/manifests/base/pvc.yaml
new file mode 100644
index 0000000..1a47dc5
--- /dev/null
+++ b/manifests/base/pvc.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: go-git-storage
+ annotations:
+ volumeType: local
+spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: local-path
+ resources:
+ requests:
+ storage: 512Mi
+
diff --git a/manifests/base/svc.yaml b/manifests/base/svc.yaml
new file mode 100644
index 0000000..7305255
--- /dev/null
+++ b/manifests/base/svc.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: go-git-server
+ name: go-git-server
+spec:
+ ports:
+ - name: http
+ port: 8080
+ selector:
+ app: go-git-server