blob: 78b3704f3d3f76f9e978e1e11da9651b2a9e6798 [file] [log] [blame]
Giorgi Lekveishvilicb64b162023-06-16 11:51:00 +04001# apiVersion: v1
2# kind: PersistentVolumeClaim
3# metadata:
4# name: tailscale
5# namespace: {{ .Release.Namespace }}
6# annotations:
7# helm.sh/resource-policy: keep
8# spec:
9# accessModes:
10# - ReadWriteOnce
11# resources:
12# requests:
13# storage: 1Gi
Giorgi Lekveishvili2c1253c2023-06-13 12:06:42 +040014---
Giorgi Lekveishvili81ba75e2023-06-15 21:14:21 +040015apiVersion: headscale.dodo.cloud/v1
16kind: HeadscaleUser
17metadata:
18 name: {{ .Values.username }}
19 namespace: {{ .Release.Namespace }}
20spec:
21 name: {{ .Values.username }}
22 preAuthKey:
23 enabled: true
24 secretName: {{ .Values.preAuthKeySecret }}
25---
Giorgi Lekveishvili2c1253c2023-06-13 12:06:42 +040026apiVersion: apps/v1
27kind: Deployment
28metadata:
29 name: tailscale
30 namespace: {{ .Release.Namespace }}
31spec:
32 selector:
33 matchLabels:
34 app: tailscale
35 replicas: 1
36 template:
37 metadata:
38 labels:
39 app: tailscale
40 spec:
Giorgi Lekveishvilicb64b162023-06-16 11:51:00 +040041 # volumes:
42 # - name: tailscale
43 # persistentVolumeClaim:
44 # claimName: tailscale
Giorgi Lekveishvili2c1253c2023-06-13 12:06:42 +040045 containers:
46 - name: tailscale
47 image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
48 imagePullPolicy: {{ .Values.image.pullPolicy }}
49 securityContext:
50 privileged: true
51 capabilities:
52 add:
53 - NET_ADMIN
54 env:
55 - name: TS_KUBE_SECRET
Giorgi Lekveishvilicb64b162023-06-16 11:51:00 +040056 value: {{ .Values.preAuthKeySecret }}
57 # - name: TS_STATE_DIR
58 # value: /tailscale-state
59 # - name: TS_AUTHKEY
60 # valueFrom:
61 # secretKeyRef:
62 # name: {{ .Values.preAuthKeySecret }}
63 # key: key
Giorgi Lekveishvili81ba75e2023-06-15 21:14:21 +040064 - name: TS_HOSTNAME
65 value: {{ .Values.hostname }}
66 - name: TS_ROUTES
67 value: {{ .Values.ipSubnet }}
Giorgi Lekveishvili2c1253c2023-06-13 12:06:42 +040068 - name: TS_EXTRA_ARGS
Giorgi Lekveishvili117694a2023-06-16 11:35:07 +040069 value: --login-server={{ .Values.loginServer }}
Giorgi Lekveishvilicb64b162023-06-16 11:51:00 +040070 # volumeMounts:
71 # - name: tailscale
72 # mountPath: /tailscale-state
Giorgi Lekveishvili488ac3b2023-06-16 12:14:11 +040073---
74apiVersion: rbac.authorization.k8s.io/v1
75kind: Role
76metadata:
77 name: secrets
78 namespace: {{ .Release.Namespace }}
79rules:
80- apiGroups: [""]
81 resources: ["secrets"]
82 verbs: ["get", "watch", "list", "patch"]
83---
84apiVersion: rbac.authorization.k8s.io/v1
85kind: RoleBinding
86metadata:
87 name: secrets
88 namespace: {{ .Release.Namespace }}
89subjects:
90- kind: ServiceAccount
91 name: default
92 namespace: {{ .Release.Namespace }}
93roleRef:
94 kind: Role
95 name: secrets
96 apiGroup: rbac.authorization.k8s.io