blob: 7d4665f24dae01cf2e94a3776b7e13475b636b87 [file] [log] [blame]
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: git
namespace: mulk
labels:
name: git
k8s-app: git
spec:
replicas: 1
selector:
matchLabels:
k8s-app: git
name: git
template:
metadata:
labels:
name: git
k8s-app: git
spec:
imagePullSecrets:
- name: kube-registry-token
containers:
- name: master
image: woahbase/alpine-cgit:latest
imagePullPolicy: Always
env: []
resources:
limits:
cpu: 2000m
memory: 100Mi
requests:
cpu: 10m
memory: 50Mi
ports:
- containerPort: 80
name: cgit-http
protocol: TCP
volumeMounts:
- name: data
mountPath: /home/git
- name: config
mountPath: /etc/cgitrc
subPath: cgitrc
readOnly: true
volumes:
- name: data
persistentVolumeClaim:
claimName: git-data
- name: config
configMap:
name: git-config
---
apiVersion: v1
kind: Service
metadata:
name: git-cgit
namespace: mulk
labels:
k8s-app: git
name: git-cgit
spec:
selector:
k8s-app: git
type: ClusterIP
ports:
- name: http
port: 80
targetPort: cgit-http
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: git-gitolite
namespace: mulk
labels:
k8s-app: git
name: git-gitolite
spec:
selector:
k8s-app: git
type: ClusterIP
ports:
- name: ssh
port: 22
targetPort: gitolite-ssh
protocol: TCP
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: git-data
namespace: mulk
labels:
name: git-data
k8s-app: git
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 200Gi
storageClassName: local-path
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: git-cgit-cgi
namespace: mulk
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /cgit/cgit.cgi/$1$2
spec:
rules:
- host: git.benkard.de
http:
paths:
- backend:
service:
name: git-cgit
port:
number: 80
path: /(.*)[.]git(/.*)?$
pathType: ImplementationSpecific
- backend:
service:
name: git-cgit
port:
number: 80
path: /(.*)(.*)?$
pathType: ImplementationSpecific
tls:
- hosts:
- git.benkard.de
secretName: git-cgit-cgi-tls
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: git-cgit-assets
namespace: mulk
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /cgit/$1
spec:
rules:
- host: static.git.benkard.de
http:
paths:
- backend:
service:
name: git-cgit
port:
number: 80
path: /(.*)
pathType: ImplementationSpecific
tls:
- hosts:
- static.git.benkard.de
secretName: git-cgit-assets-tls
---
apiVersion: v1
kind: ConfigMap
metadata:
name: git-config
namespace: mulk
data:
cgitrc: |-
css=https://static.git.benkard.de/cgit.css
logo=https://static.git.benkard.de/cgit.png
remove-suffix=1
enable-commit-graph=1
enable-index-links=1
enable-log-filecount=1
enable-log-linecount=1
enable-git-config=1
case-sensitive-sort=0
virtual-root=https://git.benkard.de/
#cache-size=10000
#cache-root=/var/cache/cgit
# needs Pygments
#source-filter=/usr/lib/cgit/filters/syntax-highlighting.py
about-filter=/usr/lib/cgit/filters/about-formatting.sh
clone-url=https://git.benkard.de/$CGIT_REPO_URL
readme=:README.md
readme=:README.markdown
readme=:README.html
readme=:README.txt
readme=:README
project-list=/home/git/projects.list
scan-path=/home/git/repositories/
#