blob: f9152b2df351bb92653fe6b75662c5cf14d7ec3b [file] [log] [blame]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001apiVersion: apps/v1
2kind: StatefulSet
3metadata:
4 name: soft-serve
5 namespace: {{ .Release.Namespace }}
6spec:
7 selector:
8 matchLabels:
9 app: soft-serve
10 serviceName: soft-serve
11 replicas: 1
12 template:
13 metadata:
14 labels:
15 app: soft-serve
16 spec:
17 volumes:
18 - name: data
19 persistentVolumeClaim:
Giorgi Lekveishvilid4eb5862024-08-29 15:05:25 +040020 claimName: {{ .Values.persistentVolumeClaimName }}
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040021 {{ if and .Values.privateKey .Values.publicKey }}
22 - name: keys
23 configMap:
24 name: keys
25 {{ end }}
26 containers:
27 - name: soft-serve
28 image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
29 imagePullPolicy: {{ .Values.image.pullPolicy}}
30 env:
31 - name: SOFT_SERVE_SSH_LISTEN_ADDR
Giorgi Lekveishvili06a67912025-04-20 15:56:03 +040032 value: ":{{ .Values.sshPort }}"
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040033 - name: SOFT_SERVE_SSH_PUBLIC_URL
Giorgi Lekveishvili627f6c42024-08-29 15:31:07 +040034 value: "ssh://{{ .Values.host }}:{{ .Values.sshPublicPort }}"
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040035 - name: SOFT_SERVE_INITIAL_ADMIN_KEYS
36 value: |-
37{{ indent 12 .Values.adminKey }}
38 {{ if and .Values.privateKey .Values.publicKey }}
39 - name: SOFT_SERVE_SSH_KEY_PATH
40 value: /.ssh/key
41 {{ end }}
42 - name: SOFT_SERVE_DATA_PATH
43 value: /var/lib/soft-serve/repos
44 - name: SOFT_SERVE_HTTP_LISTEN_ADDR
Giorgi Lekveishvili06a67912025-04-20 15:56:03 +040045 value: ":{{.Values.httpPort}}"
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040046 - name: SOFT_SERVE_HTTP_PUBLIC_URL
Giorgi Lekveishvili627f6c42024-08-29 15:31:07 +040047 value: "http://{{ .Values.host }}"
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040048 ports:
49 - name: ssh
Giorgi Lekveishvili06a67912025-04-20 15:56:03 +040050 containerPort: {{ .Values.sshPort }}
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040051 protocol: TCP
52 - name: http
Giorgi Lekveishvili06a67912025-04-20 15:56:03 +040053 containerPort: {{ .Values.httpPort }}
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040054 protocol: TCP
55 volumeMounts:
56 - name: data
57 mountPath: /var/lib/soft-serve
58 readOnly: false
59 {{ if and .Values.privateKey .Values.publicKey }}
60 - name: keys
61 mountPath: /.ssh
62 readOnly: true
63 {{ end }}