blob: f89cc7994256d6b13516e38501eec9c9491b3269 [file] [log] [blame]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001{{ $runCfg := .Values.runCfg | b64dec }}
2---
3apiVersion: v1
4kind: Secret
5metadata:
6 name: app-ssh-key
7type: Opaque
8data:
9 private: {{ .Values.sshPrivateKey }}
10---
11apiVersion: v1
12kind: ConfigMap
13metadata:
14 name: app-run-cfg
15data:
16 run: |
17{{ indent 4 $runCfg }}
18---
19apiVersion: v1
20kind: Service
21metadata:
22 name: app-app
23 namespace: {{ .Release.Namespace }}
24spec:
25 type: ClusterIP
26 selector:
27 app: app-app
28 ports:
29 - name: app
30 port: 80
31 targetPort: app
32 protocol: TCP
33---
34apiVersion: v1
35kind: Service
36metadata:
37 name: app-api
38 namespace: {{ .Release.Namespace }}
39spec:
40 type: ClusterIP
41 selector:
42 app: app-app
43 ports:
44 - name: api
45 port: 3000
46 targetPort: api
47 protocol: TCP
48---
49apiVersion: apps/v1
50kind: Deployment
51metadata:
52 name: app-app
53 namespace: {{ .Release.Namespace }}
54spec:
55 selector:
56 matchLabels:
57 app: app-app
58 replicas: 1
59 template:
60 metadata:
61 labels:
62 app: app-app
63 spec:
64 runtimeClassName: {{ .Values.runtimeClassName }}
65 volumes:
66 - name: ssh-key
67 secret:
68 secretName: app-ssh-key
69 - name: run-cfg
70 configMap:
71 name: app-run-cfg
72 {{- range .Values.volumes }}
73 - name: volume-{{ .name }}
74 persistentVolumeClaim:
75 claimName: {{ .name }}
76 {{- end }}
77 containers:
78 - name: app
79 image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
80 imagePullPolicy: {{ .Values.image.pullPolicy }}
81 ports:
82 - name: api
83 containerPort: 3000
84 protocol: TCP
85 - name: app
86 containerPort: {{ .Values.appPort }}
87 protocol: TCP
88 env:
89 - name: SELF_IP
90 valueFrom:
91 fieldRef:
92 fieldPath: status.podIP
93 command:
94 - app-runner
95 - --port=3000
96 - --app-id={{ .Values.appId }}
97 - --app-dir={{ .Values.appDir }}
98 - --repo-addr={{ .Values.repoAddr }}
99 - --ssh-key=/pcloud/ssh-key/private
100 - --run-cfg=/pcloud/config/run
101 - --manager-addr={{ .Values.managerAddr }}
102 volumeMounts:
103 - name: ssh-key
104 readOnly: true
105 mountPath: /pcloud/ssh-key
106 - name: run-cfg
107 readOnly: true
108 mountPath: /pcloud/config
109 {{- range .Values.volumes }}
110 - name: volume-{{ .name }}
111 mountPath: {{ .mountPath }}
112 {{- end }}