diff options
| author | Max Resnick <max@ofmax.li> | 2024-04-15 20:54:53 -0700 |
|---|---|---|
| committer | Max Resnick <max@ofmax.li> | 2024-06-01 22:38:22 -0700 |
| commit | 31fbde46fab0dbed8c572573dfbc75593d9b3702 (patch) | |
| tree | bd4863297bc7aa32cf97d7bfbe53db9d14dc5b05 /manifests/cgit | |
| parent | b8584fec70bd6810fa2392deadc69595b3e94cfa (diff) | |
| download | go-git-server-31fbde46fab0dbed8c572573dfbc75593d9b3702.tar.gz | |
feat: kubernetes deployment manifests
adds deployment manifests for cgit and go-git-server
Diffstat (limited to 'manifests/cgit')
| -rw-r--r-- | manifests/cgit/cgit-cm.yaml | 39 | ||||
| -rw-r--r-- | manifests/cgit/cgit-deploy.yaml | 50 | ||||
| -rw-r--r-- | manifests/cgit/cgit-ing.yaml | 27 | ||||
| -rw-r--r-- | manifests/cgit/cgit-sa.yaml | 4 | ||||
| -rw-r--r-- | manifests/cgit/cgit-svc.yaml | 14 | ||||
| -rw-r--r-- | manifests/cgit/kustomization.yaml | 25 |
6 files changed, 159 insertions, 0 deletions
diff --git a/manifests/cgit/cgit-cm.yaml b/manifests/cgit/cgit-cm.yaml new file mode 100644 index 0000000..e01a6b5 --- /dev/null +++ b/manifests/cgit/cgit-cm.yaml @@ -0,0 +1,39 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: cgitrc +data: + cgitrc: | + # cgit config + # see cgitrc(5) for details + root-title=git.ofmax.li + root-desc=grumpy software + + readme=:README.md + + about-filter=/usr/lib/cgit/filters/about-formatting.sh + source-filter=/usr/lib/cgit/filters/syntax-highlighting.py + + enable-index-links=1 + enable-log-filecount=1 + enable-commit-graph=1 + enable-index-owner=1 + enable-http-clone=0 + enable-git-config=1 + enable-commit-graph=1 + enable-follow-links=1 + snapshots=tar.gz + css=/cgit.css + logo=/cgit.png + virtual-root=/ + robots=nofollow + remove-suffix=1 + + mimetype.html=text/html + mimetype.jpg=image/jpeg + mimetype.jpeg=image/jpeg + mimetype.pdf=application/pdf + mimetype.png=image/png + + strict-export=git-web-export-ok + scan-path=/opt/repos diff --git a/manifests/cgit/cgit-deploy.yaml b/manifests/cgit/cgit-deploy.yaml new file mode 100644 index 0000000..cfbdeb8 --- /dev/null +++ b/manifests/cgit/cgit-deploy.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cgit +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/instance: cgit + app.kubernetes.io/name: cgit + template: + metadata: + labels: + app.kubernetes.io/instance: cgit + app.kubernetes.io/name: cgit + spec: + containers: + - env: + - name: CGIT_HOSTNAME + value: git.localhost + - name: CGIT_PORT + value: "8080" + - name: CGIT_CONFIG + value: /opt/etc/cgitrc + image: registry.gitlab.com/grumps/grumpy-containers/cgit:v0.0.5 + imagePullPolicy: Always + name: cgit + ports: + - containerPort: 8080 + name: http + protocol: TCP + volumeMounts: + - mountPath: /opt/repos + name: go-git-storage + readOnly: false + - mountPath: /opt/etc + name: cgitrc + readOnly: true + imagePullSecrets: + - name: regcred + serviceAccountName: cgit + volumes: + - name: go-git-storage + persistentVolumeClaim: + claimName: go-git-storage + - name: cgitrc + configMap: + defaultMode: 420 + name: cgitrc + diff --git a/manifests/cgit/cgit-ing.yaml b/manifests/cgit/cgit-ing.yaml new file mode 100644 index 0000000..e331bfc --- /dev/null +++ b/manifests/cgit/cgit-ing.yaml @@ -0,0 +1,27 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + certmanager.k8s.io/cluseterissuer: letsencrypt-prod + ingress.kubernetes.io/ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/frontend-entry-points: http,https + traefik.ingress.kubernetes.io/redirect-entry-point: https + traefik.ingress.kubernetes.io/redirect-permanent: "true" + name: cgit +spec: + rules: + - host: git.ofmax.li + http: + paths: + - backend: + service: + name: cgit + port: + number: 8080 + pathType: Prefix + path: / + tls: + - hosts: + - git.ofmax.li + secretName: git-ofmax-li-sec diff --git a/manifests/cgit/cgit-sa.yaml b/manifests/cgit/cgit-sa.yaml new file mode 100644 index 0000000..43f5e65 --- /dev/null +++ b/manifests/cgit/cgit-sa.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: cgit diff --git a/manifests/cgit/cgit-svc.yaml b/manifests/cgit/cgit-svc.yaml new file mode 100644 index 0000000..9165c59 --- /dev/null +++ b/manifests/cgit/cgit-svc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: cgit +spec: + ports: + - name: http + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/instance: cgit + app.kubernetes.io/name: cgit + type: ClusterIP diff --git a/manifests/cgit/kustomization.yaml b/manifests/cgit/kustomization.yaml new file mode 100644 index 0000000..9a8a4af --- /dev/null +++ b/manifests/cgit/kustomization.yaml @@ -0,0 +1,25 @@ +# Labels to add to all resources and selectors. +commonLabels: + app.kubernetes.io/instance: cgit + app.kubernetes.io/name: cgit + app.kubernetes.io/version: "1.0" + helm.sh/chart: cgit-0.1.0 + +# Images modify the tags for images without +# creating patches. +images: +- name: registry.gitlab.com/grumps/grumpy-containers/cgit + newTag: latest + +# Value of this field is prepended to the +# names of all resources +namePrefix: cgit + +# List of resource files that kustomize reads, modifies +# and emits as a YAML string +resources: +- cgit-deploy.yaml +- cgit-ing.yaml +- cgit-sa.yaml +- cgit-svc.yaml +- cgit-cm.yaml |