aboutsummaryrefslogtreecommitdiff
path: root/grumpy/gitolite/templates
diff options
context:
space:
mode:
Diffstat (limited to 'grumpy/gitolite/templates')
-rw-r--r--grumpy/gitolite/templates/NOTES.txt1
-rw-r--r--grumpy/gitolite/templates/_helpers.tpl26
-rw-r--r--grumpy/gitolite/templates/git-pvc.yaml24
-rw-r--r--grumpy/gitolite/templates/gitolite-deployment.yaml96
-rw-r--r--grumpy/gitolite/templates/gitolite-ingress.yaml22
-rw-r--r--grumpy/gitolite/templates/gitolite-networkpolicy.yaml14
-rw-r--r--grumpy/gitolite/templates/gitolite-svc.yaml31
-rw-r--r--grumpy/gitolite/templates/ssh-keys-pvc.yaml24
8 files changed, 238 insertions, 0 deletions
diff --git a/grumpy/gitolite/templates/NOTES.txt b/grumpy/gitolite/templates/NOTES.txt
new file mode 100644
index 0000000..a965a70
--- /dev/null
+++ b/grumpy/gitolite/templates/NOTES.txt
@@ -0,0 +1 @@
+Done
diff --git a/grumpy/gitolite/templates/_helpers.tpl b/grumpy/gitolite/templates/_helpers.tpl
new file mode 100644
index 0000000..b2da145
--- /dev/null
+++ b/grumpy/gitolite/templates/_helpers.tpl
@@ -0,0 +1,26 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "gitolite.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+*/}}
+{{- define "gitolite.fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{- define "gitolite.claimname.ssh-keys" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- printf "%s-%s-ssh-keys" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{- define "gitolite.claimname.git" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- printf "%s-%s-git" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/grumpy/gitolite/templates/git-pvc.yaml b/grumpy/gitolite/templates/git-pvc.yaml
new file mode 100644
index 0000000..8d10d3e
--- /dev/null
+++ b/grumpy/gitolite/templates/git-pvc.yaml
@@ -0,0 +1,24 @@
+{{- if and .Values.Persistence.Git.Enabled -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ template "gitolite.claimname.git" . }}
+ labels:
+ app: {{ template "gitolite.fullname" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+spec:
+ accessModes:
+ - {{ .Values.Persistence.Git.AccessMode | quote }}
+ resources:
+ requests:
+ storage: {{ .Values.Persistence.Git.Size | quote }}
+{{- if .Values.Persistence.Git.StorageClass }}
+{{- if (eq "-" .Values.Persistence.Git.StorageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.Persistence.Git.StorageClass }}"
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/grumpy/gitolite/templates/gitolite-deployment.yaml b/grumpy/gitolite/templates/gitolite-deployment.yaml
new file mode 100644
index 0000000..14aceaa
--- /dev/null
+++ b/grumpy/gitolite/templates/gitolite-deployment.yaml
@@ -0,0 +1,96 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ template "gitolite.fullname" . }}
+ labels:
+ heritage: {{ .Release.Service | quote }}
+ release: {{ .Release.Name | quote }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ component: "{{ .Release.Name }}-{{ .Values.Name }}"
+spec:
+ replicas: 1
+ strategy:
+ type: RollingUpdate
+ selector:
+ matchLabels:
+ component: "{{ .Release.Name }}-{{ .Values.Component }}"
+ template:
+ metadata:
+ labels:
+ app: {{ template "gitolite.fullname" . }}
+ heritage: {{ .Release.Service | quote }}
+ release: {{ .Release.Name | quote }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ component: "{{ .Release.Name }}-{{ .Values.Component }}"
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- if .Values.NodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.NodeSelector | indent 8 }}
+ {{- end }}
+ {{- if .Values.Tolerations }}
+ tolerations:
+{{ toYaml .Values.Tolerations | indent 8 }}
+ {{- end }}
+ containers:
+ - name: {{ template "gitolite.fullname" . }}
+ image: "{{ .Values.Image }}:{{ .Values.ImageTag }}"
+ #command:
+ # - tail
+ # - -f
+ # - /dev/null
+
+ imagePullPolicy: "{{ .Values.ImagePullPolicy }}"
+ env:
+ - name: SSH_KEY
+ value: "{{ default "" .Values.SSH_KEY}}"
+ - name: SSH_KEY_NAME
+ value: "{{ default "admin" .Values.SSH_KEY_NAME}}"
+ - name: UMASK
+ value: "0027"
+ ports:
+ - containerPort: {{ .Values.ContainerPort }}
+ name: ssh
+ resources:
+ requests:
+ cpu: "{{ .Values.Cpu }}"
+ memory: "{{ .Values.Memory }}"
+ volumeMounts:
+{{- if .Values.Persistence.mounts }}
+{{ toYaml .Values.Persistence.mounts | indent 12 }}
+{{- end }}
+ -
+ mountPath: /etc/ssh/keys
+ name: gitolite-ssh-keys
+ readOnly: false
+ -
+ mountPath: /var/lib/git
+ name: gitolite-git
+ readOnly: false
+ initContainers:
+ - name: setup
+ image: busybox
+ command:
+ - "chmod"
+ - "755"
+ - "/var/lib/git"
+ volumeMounts:
+ -
+ mountPath: /var/lib/git
+ name: gitolite-git
+ readOnly: false
+ volumes:
+ - name: gitolite-ssh-keys
+ persistentVolumeClaim:
+ claimName: {{ .Values.Persistence.SshKeys.ExistingClaim | default (include "gitolite.claimname.ssh-keys" .) }}
+ - name: gitolite-git
+ {{- if .Values.Persistence.Git.ExistingClaim }}
+ persistentVolumeClaim:
+ claimName: {{ .Values.Persistence.Git.ExistingClaim | default (include "gitolite.claimname.git" .) }}
+ {{- else }}
+ emptyDir: {}
+ {{- end -}}
+
diff --git a/grumpy/gitolite/templates/gitolite-ingress.yaml b/grumpy/gitolite/templates/gitolite-ingress.yaml
new file mode 100644
index 0000000..e6bf450
--- /dev/null
+++ b/grumpy/gitolite/templates/gitolite-ingress.yaml
@@ -0,0 +1,22 @@
+{{- if .Values.HostName }}
+apiVersion: {{ .Values.NetworkPolicy.ApiVersion }}
+kind: Ingress
+metadata:
+{{- if .Values.Ingress.Annotations }}
+ annotations:
+{{ toYaml .Values.Ingress.Annotations | indent 4 }}
+{{- end }}
+ name: {{ template "gitolite.fullname" . }}
+spec:
+ rules:
+ - host: {{ .Values.HostName | quote }}
+ http:
+ paths:
+ - backend:
+ serviceName: {{ template "gitolite.fullname" . }}
+ servicePort: {{ .Values.ServicePort }}
+{{- if .Values.Ingress.TLS }}
+ tls:
+{{ toYaml .Values.Ingress.TLS | indent 4 }}
+{{- end -}}
+{{- end }}
diff --git a/grumpy/gitolite/templates/gitolite-networkpolicy.yaml b/grumpy/gitolite/templates/gitolite-networkpolicy.yaml
new file mode 100644
index 0000000..23b4180
--- /dev/null
+++ b/grumpy/gitolite/templates/gitolite-networkpolicy.yaml
@@ -0,0 +1,14 @@
+{{- if .Values.NetworkPolicy.Enabled }}
+kind: NetworkPolicy
+apiVersion: {{ .Values.NetworkPolicy.ApiVersion }}
+metadata:
+ name: "{{ .Release.Name }}-{{ .Values.Component }}"
+spec:
+ podSelector:
+ matchLabels:
+ component: "{{ .Release.Name }}-{{ .Values.Component }}"
+ ingress:
+ # Allow web access to the UI
+ - ports:
+ - port: {{ .Values.ContainerPort }}
+{{- end }}
diff --git a/grumpy/gitolite/templates/gitolite-svc.yaml b/grumpy/gitolite/templates/gitolite-svc.yaml
new file mode 100644
index 0000000..eec57da
--- /dev/null
+++ b/grumpy/gitolite/templates/gitolite-svc.yaml
@@ -0,0 +1,31 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{template "gitolite.fullname" . }}
+ labels:
+ app: {{ template "gitolite.fullname" . }}
+ heritage: {{.Release.Service | quote }}
+ release: {{.Release.Name | quote }}
+ chart: "{{.Chart.Name}}-{{.Chart.Version}}"
+ component: "{{.Release.Name}}-{{.Values.Component}}"
+{{- if .Values.ServiceAnnotations }}
+ annotations:
+{{ toYaml .Values.ServiceAnnotations | indent 4 }}
+{{- end }}
+spec:
+ ports:
+ - port: {{.Values.ServicePort}}
+ name: http
+ targetPort: {{.Values.ContainerPort}}
+ {{if (and (eq .Values.ServiceType "NodePort") (not (empty .Values.NodePort)))}}
+ nodePort: {{.Values.NodePort}}
+ {{end}}
+ selector:
+ component: "{{.Release.Name}}-{{.Values.Component}}"
+ type: {{.Values.ServiceType}}
+ {{if eq .Values.ServiceType "LoadBalancer"}}
+ loadBalancerSourceRanges: {{.Values.LoadBalancerSourceRanges}}
+ {{if .Values.LoadBalancerIP}}
+ loadBalancerIP: {{.Values.LoadBalancerIP}}
+ {{end}}
+ {{end}}
diff --git a/grumpy/gitolite/templates/ssh-keys-pvc.yaml b/grumpy/gitolite/templates/ssh-keys-pvc.yaml
new file mode 100644
index 0000000..02d59f3
--- /dev/null
+++ b/grumpy/gitolite/templates/ssh-keys-pvc.yaml
@@ -0,0 +1,24 @@
+{{- if and .Values.Persistence.SshKeys.Enabled -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ template "gitolite.claimname.ssh-keys" . }}
+ labels:
+ app: {{ template "gitolite.fullname" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+spec:
+ accessModes:
+ - {{ .Values.Persistence.SshKeys.AccessMode | quote }}
+ resources:
+ requests:
+ storage: {{ .Values.Persistence.SshKeys.Size | quote }}
+{{- if .Values.Persistence.SshKeys.StorageClass }}
+{{- if (eq "-" .Values.Persistence.SshKeys.StorageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.Persistence.SshKeys.StorageClass }}"
+{{- end }}
+{{- end }}
+{{- end }}