diff options
| author | Max Resnick <max@ofmax.li> | 2020-01-01 14:18:41 -0800 |
|---|---|---|
| committer | Max Resnick <max@ofmax.li> | 2020-01-20 16:23:01 -0800 |
| commit | 109fad80f323567d6751c9f51e20dd41582d43bf (patch) | |
| tree | 66b5f0b3c5f147badfbc3f596b089baf11cb10b6 /grumpy/gitolite/templates | |
| parent | 584857f515ab6fe30530d25483869ed517e9575d (diff) | |
| download | grumpy-charts-109fad80f323567d6751c9f51e20dd41582d43bf.tar.gz | |
add gitolite from orginal author, minor improvements
Diffstat (limited to '')
| -rw-r--r-- | grumpy/gitolite/templates/NOTES.txt | 1 | ||||
| -rw-r--r-- | grumpy/gitolite/templates/_helpers.tpl | 26 | ||||
| -rw-r--r-- | grumpy/gitolite/templates/git-pvc.yaml | 24 | ||||
| -rw-r--r-- | grumpy/gitolite/templates/gitolite-deployment.yaml | 96 | ||||
| -rw-r--r-- | grumpy/gitolite/templates/gitolite-ingress.yaml | 22 | ||||
| -rw-r--r-- | grumpy/gitolite/templates/gitolite-networkpolicy.yaml | 14 | ||||
| -rw-r--r-- | grumpy/gitolite/templates/gitolite-svc.yaml | 31 | ||||
| -rw-r--r-- | grumpy/gitolite/templates/ssh-keys-pvc.yaml | 24 |
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 }} |