aboutsummaryrefslogtreecommitdiff
path: root/script/helm/garage/templates/statefulset.yaml
diff options
context:
space:
mode:
authorkaiyou <dev@kaiyou.fr>2022-10-29 21:07:02 +0200
committerkaiyou <dev@kaiyou.fr>2022-12-25 13:30:14 +0100
commite94d6f78d7584b64115905d4d6f7959160dd1936 (patch)
tree3f279da8e35b79679415b882eb01338b68441836 /script/helm/garage/templates/statefulset.yaml
parent1af4a5ed569e42f77dd4ecc9364a27f7ed43df63 (diff)
downloadgarage-e94d6f78d7584b64115905d4d6f7959160dd1936.tar.gz
garage-e94d6f78d7584b64115905d4d6f7959160dd1936.zip
Enable daemonset deployment using the helm chart
DaemonSet is a k8s resource that schedules one instance per node, which is useful for some garage deployment use cases, including managing garage nodes using k8s node labels
Diffstat (limited to 'script/helm/garage/templates/statefulset.yaml')
-rw-r--r--script/helm/garage/templates/statefulset.yaml116
1 files changed, 0 insertions, 116 deletions
diff --git a/script/helm/garage/templates/statefulset.yaml b/script/helm/garage/templates/statefulset.yaml
deleted file mode 100644
index bda40117..00000000
--- a/script/helm/garage/templates/statefulset.yaml
+++ /dev/null
@@ -1,116 +0,0 @@
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
- name: {{ include "garage.fullname" . }}
- labels:
- {{- include "garage.labels" . | nindent 4 }}
-spec:
- replicas: {{ .Values.replicaCount }}
- selector:
- matchLabels:
- {{- include "garage.selectorLabels" . | nindent 6 }}
- serviceName: {{ include "garage.fullname" . }}
- template:
- metadata:
- {{- with .Values.podAnnotations }}
- annotations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- labels:
- {{- include "garage.selectorLabels" . | nindent 8 }}
- spec:
- {{- with .Values.imagePullSecrets }}
- imagePullSecrets:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- serviceAccountName: {{ include "garage.serviceAccountName" . }}
- securityContext:
- {{- toYaml .Values.podSecurityContext | nindent 8 }}
- initContainers:
- # Copies garage.toml from configmap to temporary etc volume and replaces RPC secret placeholder
- - name: {{ .Chart.Name }}-init
- image: busybox:1.28
- command: ["sh", "-c", "sed \"s/__RPC_SECRET_REPLACE__/$RPC_SECRET/\" /mnt/garage.toml > /mnt/etc/garage.toml"]
- env:
- - name: RPC_SECRET
- valueFrom:
- secretKeyRef:
- name: {{ include "garage.rpcSecretName" . }}
- key: rpcSecret
- volumeMounts:
- - name: configmap
- mountPath: /mnt/garage.toml
- subPath: garage.toml
- - name: etc
- mountPath: /mnt/etc
- containers:
- - name: {{ .Chart.Name }}
- securityContext:
- {{- toYaml .Values.securityContext | nindent 12 }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- ports:
- - containerPort: 3900
- name: s3-api
- - containerPort: 3902
- name: web-api
- volumeMounts:
- - name: meta
- mountPath: /mnt/meta
- - name: data
- mountPath: /mnt/data
- - name: etc
- mountPath: /etc/garage.toml
- subPath: garage.toml
- # TODO
- # livenessProbe:
- # httpGet:
- # path: /
- # port: 3900
- # readinessProbe:
- # httpGet:
- # path: /
- # port: 3900
- resources:
- {{- toYaml .Values.resources | nindent 12 }}
- volumes:
- - name: configmap
- configMap:
- name: {{ include "garage.fullname" . }}-config
- - name: etc
- emptyDir: {}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- if .Values.persistence.enabled }}
- volumeClaimTemplates:
- - metadata:
- name: meta
- spec:
- accessModes: [ "ReadWriteOnce" ]
- {{- if hasKey .Values.persistence.meta "storageClass" }}
- storageClassName: {{ .Values.persistence.meta.storageClass | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistence.meta.size | quote }}
- - metadata:
- name: data
- spec:
- accessModes: [ "ReadWriteOnce" ]
- {{- if hasKey .Values.persistence.data "storageClass" }}
- storageClassName: {{ .Values.persistence.data.storageClass | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistence.data.size | quote }}
- {{- end }}