blob: c247191cee4a5c59782a86c7a87eeedb5ee29893 [file] [log] [blame]
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tailscale
namespace: {{ .Release.Namespace }}
annotations:
helm.sh/resource-policy: keep
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: headscale.dodo.cloud/v1
kind: HeadscaleUser
metadata:
name: {{ .Values.username }}
namespace: {{ .Release.Namespace }}
spec:
name: {{ .Values.username }}
preAuthKey:
enabled: true
secretName: {{ .Values.preAuthKeySecret }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tailscale
namespace: {{ .Release.Namespace }}
spec:
selector:
matchLabels:
app: tailscale
replicas: 1
template:
metadata:
labels:
app: tailscale
spec:
volumes:
- name: tailscale
persistentVolumeClaim:
claimName: tailscale
containers:
- name: tailscale
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
securityContext:
privileged: true
capabilities:
add:
- NET_ADMIN
env:
- name: TS_KUBE_SECRET
value: ""
- name: TS_STATE_DIR
value: /tailscale-state
- name: TS_AUTHKEY
valueFrom:
secretKeyRef:
name: {{ .Values.preAuthKeySecret }}
key: key
- name: TS_HOSTNAME
value: {{ .Values.hostname }}
- name: TS_ROUTES
value: {{ .Values.ipSubnet }}
- name: TS_EXTRA_ARGS
value: --hostname= --login-server={{ .Values.loginServer }}
volumeMounts:
- name: tailscale
mountPath: /tailscale-state