diff options
author | Alex <alex@adnab.me> | 2023-01-26 21:07:58 +0000 |
---|---|---|
committer | Alex <alex@adnab.me> | 2023-01-26 21:07:58 +0000 |
commit | a08e01f17a9e4bb80880e28a4a28b2d88a9aec83 (patch) | |
tree | 6d1e91f937be97f49d599ebb584225a1849d9323 | |
parent | 246f7468cd18c8ef4f3c0c4c209853cd2500cc76 (diff) | |
parent | 559e924cc2e0887e07886374ca018dd9761c3ba5 (diff) | |
download | garage-a08e01f17a9e4bb80880e28a4a28b2d88a9aec83.tar.gz garage-a08e01f17a9e4bb80880e28a4a28b2d88a9aec83.zip |
Merge pull request 'Enable daemonset deployment using the helm chart' (#409) from kaiyou/garage:feat-k8s-daemonset into main
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/409
-rw-r--r-- | doc/book/cookbook/kubernetes.md | 3 | ||||
-rw-r--r-- | script/helm/garage/Chart.yaml | 2 | ||||
-rw-r--r-- | script/helm/garage/templates/workload.yaml (renamed from script/helm/garage/templates/statefulset.yaml) | 25 | ||||
-rw-r--r-- | script/helm/garage/values.yaml | 12 |
4 files changed, 35 insertions, 7 deletions
diff --git a/doc/book/cookbook/kubernetes.md b/doc/book/cookbook/kubernetes.md index 9eafe3e1..dfeb3281 100644 --- a/doc/book/cookbook/kubernetes.md +++ b/doc/book/cookbook/kubernetes.md @@ -48,7 +48,8 @@ garage: replicationMode: "2" # Start 4 instances (StatefulSets) of garage -replicaCount: 4 +deployment: + replicaCount: 4 # Override default storage class and size persistence: diff --git a/script/helm/garage/Chart.yaml b/script/helm/garage/Chart.yaml index 7fb4c531..f845cfe8 100644 --- a/script/helm/garage/Chart.yaml +++ b/script/helm/garage/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.2.0 +version: 0.3.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/script/helm/garage/templates/statefulset.yaml b/script/helm/garage/templates/workload.yaml index bda40117..057a9858 100644 --- a/script/helm/garage/templates/statefulset.yaml +++ b/script/helm/garage/templates/workload.yaml @@ -1,15 +1,17 @@ apiVersion: apps/v1 -kind: StatefulSet +kind: {{ .Values.deployment.kind }} metadata: name: {{ include "garage.fullname" . }} labels: {{- include "garage.labels" . | nindent 4 }} spec: - replicas: {{ .Values.replicaCount }} selector: matchLabels: {{- include "garage.selectorLabels" . | nindent 6 }} + {{- if eq .Values.deployment.kind "StatefulSet" }} + replicas: {{ .Values.deployment.replicaCount }} serviceName: {{ include "garage.fullname" . }} + {{- end }} template: metadata: {{- with .Values.podAnnotations }} @@ -79,6 +81,23 @@ spec: name: {{ include "garage.fullname" . }}-config - name: etc emptyDir: {} + {{- if .Values.persistence.enabled }} + {{- if eq .Values.deployment.kind "DaemonSet" }} + - name: meta + hostPath: + path: {{ .Values.persistence.meta.hostPath }} + type: DirectoryOrCreate + - name: data + hostPath: + path: {{ .Values.persistence.data.hostPath }} + type: DirectoryOrCreate + {{- end }} + {{- else }} + - name: meta + emptyDir: {} + - name: data + emptyDir: {} + {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} @@ -91,7 +110,7 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} - {{- if .Values.persistence.enabled }} + {{- if and .Values.persistence.enabled (eq .Values.deployment.kind "StatefulSet") }} volumeClaimTemplates: - metadata: name: meta diff --git a/script/helm/garage/values.yaml b/script/helm/garage/values.yaml index 608ee53c..52f1910a 100644 --- a/script/helm/garage/values.yaml +++ b/script/helm/garage/values.yaml @@ -29,12 +29,20 @@ persistence: meta: # storageClass: "fast-storage-class" size: 100Mi + # used only for daemon sets + hostPath: /var/lib/garage/meta data: # storageClass: "slow-storage-class" size: 100Mi + # used only for daemon sets + hostPath: /var/lib/garage/data -# Number of StatefulSet replicas/garage nodes to start -replicaCount: 3 +# Deployment configuration +deployment: + # Switchable to DaemonSet + kind: StatefulSet + # Number of StatefulSet replicas/garage nodes to start + replicaCount: 3 image: repository: dxflrs/amd64_garage |