blob: 96d6b08216c4913a72a616d17fbd62db552b149e [file] [log] [blame]
Giorgi Lekveishvilicd46ca62023-07-07 11:58:35 +04001apiVersion: rbac.authorization.k8s.io/v1
Giorgi Lekveishvili9d037332023-07-06 19:48:49 +04002kind: ClusterRole
3metadata:
4 name: {{ .Values.clusterRoleName }}
5rules:
6- apiGroups:
7 - ""
8 resources:
9 - namespaces
10 verbs:
11 - create
gio778577f2024-04-29 09:44:38 +040012- apiGroups:
giof8843412024-05-22 16:38:05 +040013 - "batch"
14 resources:
15 - jobs
16 verbs:
17 - create
18- apiGroups:
gio778577f2024-04-29 09:44:38 +040019 - "helm.toolkit.fluxcd.io"
20 resources:
21 - helmreleases
22 verbs:
23 - get
Giorgi Lekveishvili9d037332023-07-06 19:48:49 +040024---
25apiVersion: rbac.authorization.k8s.io/v1
26kind: ClusterRoleBinding
27metadata:
28 name: {{ .Values.clusterRoleName }}
29roleRef:
30 apiGroup: rbac.authorization.k8s.io
31 kind: ClusterRole
32 name: {{ .Values.clusterRoleName }}
33subjects:
34- kind: ServiceAccount
35 name: default
36 namespace: {{ .Release.Namespace }}
37---
Giorgi Lekveishvilida912e72023-07-06 18:48:55 +040038apiVersion: v1
39kind: Secret
40metadata:
41 name: ssh-key
42type: Opaque
43data:
44 private: {{ .Values.sshPrivateKey }}
45---
46apiVersion: v1
47kind: Service
48metadata:
49 name: appmanager
50 namespace: {{ .Release.Namespace }}
51spec:
52 type: ClusterIP
53 selector:
54 app: appmanager
55 ports:
Giorgi Lekveishvili3c91e8b2024-03-25 20:20:14 +040056 - name: {{ .Values.portName }}
Giorgi Lekveishvilida912e72023-07-06 18:48:55 +040057 port: 80
58 targetPort: http
59 protocol: TCP
60---
Giorgi Lekveishvilida912e72023-07-06 18:48:55 +040061apiVersion: apps/v1
62kind: Deployment
63metadata:
64 name: appmanager
65 namespace: {{ .Release.Namespace }}
66spec:
67 selector:
68 matchLabels:
69 app: appmanager
70 replicas: 1
71 template:
72 metadata:
73 labels:
74 app: appmanager
75 spec:
76 volumes:
77 - name: ssh-key
78 secret:
79 secretName: ssh-key
80 containers:
81 - name: appmanager
82 image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
83 imagePullPolicy: {{ .Values.image.pullPolicy }}
84 ports:
85 - name: http
86 containerPort: 8080
87 protocol: TCP
88 command:
89 - pcloud-installer
90 - appmanager
91 - --repo-addr={{ .Values.repoAddr }}
92 - --ssh-key=/pcloud/ssh-key/private
93 - --port=8080
Giorgi Lekveishvili4586b4b2023-11-08 17:09:28 +040094 {{- if .Values.appRepoAddr }}
95 - --app-repo-addr={{ .Values.appRepoAddr }}
96 {{- end}}
Giorgi Lekveishvilida912e72023-07-06 18:48:55 +040097 volumeMounts:
98 - name: ssh-key
99 readOnly: true
100 mountPath: /pcloud/ssh-key