blob: e5b32eb3d9581539cda8f7cbd16a15f01139b13a [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:
20 claimName: soft-serve
21 {{ 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
32 value: ":{{ .Values.port }}"
33 - name: SOFT_SERVE_SSH_PUBLIC_URL
34 value: "ssh://{{ .Values.ingress.domain }}:{{ .Values.sshPublicPort }}"
35 - 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
45 value: ":80"
46 - name: SOFT_SERVE_HTTP_PUBLIC_URL
47 value: "http://{{ .Values.ingress.domain }}"
48 - name: SOFT_SERVE_ALLOW_KEYLESS
49 value: "{{ .Values.allowKeyless }}"
50 - name: SOFT_SERVE_ANON_ACCESS
51 value: "{{ .Values.anonAccess }}"
52 ports:
53 - name: ssh
54 containerPort: {{ .Values.port }}
55 protocol: TCP
56 - name: http
57 containerPort: 80
58 protocol: TCP
59 volumeMounts:
60 - name: data
61 mountPath: /var/lib/soft-serve
62 readOnly: false
63 {{ if and .Values.privateKey .Values.publicKey }}
64 - name: keys
65 mountPath: /.ssh
66 readOnly: true
67 {{ end }}