aboutsummaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorMax Resnick <max@ofmax.li>2025-06-22 00:22:14 -0700
committerMax Resnick <max@ofmax.li>2025-06-22 00:22:14 -0700
commit3a84c19aad1b5a728641100a976d31e2bff30284 (patch)
tree4face4c5c2794d55cdaeb5c514021796bda07fec /manifests
parenta058a646f329a169e55b6483e1f5560313d47353 (diff)
downloadgo-git-server-3a84c19aad1b5a728641100a976d31e2bff30284.tar.gz
chore: move components
Diffstat (limited to 'manifests')
-rw-r--r--manifests/base/components/cgit/cgit-cm.yaml41
-rw-r--r--manifests/base/components/cgit/cgit-deploy.yaml50
-rw-r--r--manifests/base/components/cgit/cgit-ing.yaml27
-rw-r--r--manifests/base/components/cgit/cgit-sa.yaml4
-rw-r--r--manifests/base/components/cgit/cgit-svc.yaml13
-rw-r--r--manifests/base/components/cgit/kustomization.yaml26
6 files changed, 161 insertions, 0 deletions
diff --git a/manifests/base/components/cgit/cgit-cm.yaml b/manifests/base/components/cgit/cgit-cm.yaml
new file mode 100644
index 0000000..eb7f39e
--- /dev/null
+++ b/manifests/base/components/cgit/cgit-cm.yaml
@@ -0,0 +1,41 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: cgitrc
+data:
+ cgitrc: |
+ # cgit config
+ # see cgitrc(5) for details
+ root-title=cgit.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
+ head-include=/usr/lib/cgit/gruvbox_header.html
+
+ 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=/avatar.png
+ favicon=/avatar.ico
+ robots=nofollow
+ remove-suffix=1
+ virtual-root=/
+
+ 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/base/components/cgit/cgit-deploy.yaml b/manifests/base/components/cgit/cgit-deploy.yaml
new file mode 100644
index 0000000..b899709
--- /dev/null
+++ b/manifests/base/components/cgit/cgit-deploy.yaml
@@ -0,0 +1,50 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cgit
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: cgit
+ template:
+ metadata:
+ labels:
+ 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: public.ecr.aws/s0f9o2k5/cgit:v0.0.8
+ securityContext:
+ runAsUser: 0
+ runAsGroup: 1000
+ 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/base/components/cgit/cgit-ing.yaml b/manifests/base/components/cgit/cgit-ing.yaml
new file mode 100644
index 0000000..e331bfc
--- /dev/null
+++ b/manifests/base/components/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/base/components/cgit/cgit-sa.yaml b/manifests/base/components/cgit/cgit-sa.yaml
new file mode 100644
index 0000000..43f5e65
--- /dev/null
+++ b/manifests/base/components/cgit/cgit-sa.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: cgit
diff --git a/manifests/base/components/cgit/cgit-svc.yaml b/manifests/base/components/cgit/cgit-svc.yaml
new file mode 100644
index 0000000..9d3bdd1
--- /dev/null
+++ b/manifests/base/components/cgit/cgit-svc.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: cgit
+spec:
+ ports:
+ - name: http
+ port: 8081
+ protocol: TCP
+ targetPort: http
+ selector:
+ app.kubernetes.io/name: cgit
+ type: ClusterIP
diff --git a/manifests/base/components/cgit/kustomization.yaml b/manifests/base/components/cgit/kustomization.yaml
new file mode 100644
index 0000000..6f7732a
--- /dev/null
+++ b/manifests/base/components/cgit/kustomization.yaml
@@ -0,0 +1,26 @@
+# Labels to add to all resources and selectors.
+
+# Images modify the tags for images without
+# creating patches.
+images:
+- name: registry.gitlab.com/grumps/grumpy-containers/cgit
+ newName: public.ecr.aws/s0f9o2k5/cgit
+ newTag: v0.0.6
+
+# List of resource files that kustomize reads, modifies
+# and emits as a YAML string
+resources:
+- cgit-deploy.yaml
+- cgit-sa.yaml
+- cgit-svc.yaml
+- cgit-cm.yaml
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+labels:
+- includeSelectors: true
+ pairs:
+ app.kubernetes.io/name: cgit
+- includeSelectors: true
+ pairs:
+ app.kubernetes.io/managed-by: kustomize
+ app.kubernetes.io/part-of: go-git-server