blob: 8cfb3066fb7013eecb35a7b340c98e78d928545f [file] [log] [blame]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001apiVersion: rbac.authorization.k8s.io/v1
2kind: ClusterRole
3metadata:
4 name: {{ .Values.clusterRoleName }}
5rules:
6- apiGroups:
7 - ""
8 resources:
9 - namespaces
10 verbs:
11 - create
12- apiGroups:
13 - "batch"
14 resources:
15 - jobs
16 verbs:
17 - create
18- apiGroups:
19 - "helm.toolkit.fluxcd.io"
20 resources:
21 - helmreleases
22 verbs:
23 - get
24---
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---
38apiVersion: 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:
56 - name: {{ .Values.portName }}
57 port: 80
58 targetPort: http
59 protocol: TCP
60---
61apiVersion: 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
Giorgi Lekveishvili64cb6e32024-08-27 08:26:04 +040093 - --headscale-api-addr={{ .Values.headscaleAPIAddr }}
Giorgi Lekveishvili54f781e2024-09-15 16:04:16 +040094 - --dns-api-addr={{ .Values.dnsAPIAddr }}
95 - --cluster-proxy-config-path={{ .Values.clusterProxyConfigPath }}
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +040096 - --port=8080
97 {{- if .Values.appRepoAddr }}
98 - --app-repo-addr={{ .Values.appRepoAddr }}
99 {{- end}}
100 volumeMounts:
101 - name: ssh-key
102 readOnly: true
103 mountPath: /pcloud/ssh-key