feat: add Tailscale operator and DaemonSet #4

Merged
gitea-admin merged 5 commits from orion/auto/feat-add-tailscale-operator-and-daemonse-1778347811370 into main 2026-05-09 17:36:55 +00:00
5 changed files with 117 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: tailscaled
namespace: tailscale
labels:
app: tailscale
spec:
selector:
matchLabels:
app: tailscale
template:
metadata:
labels:
app: tailscale
spec:
hostNetwork: true
serviceAccountName: tailscale
containers:
- name: tailscale
image: tailscale/tailscale:latest
env:
- name: TS_KUBE_SECRET
value: "tailscale-auth"
- name: TS_STATE_DIR
value: "/var/lib/tailscale"
envFrom:
- secretRef:
name: tailscale-auth
volumeMounts:
- name: var-lib-tailscale
mountPath: /var/lib/tailscale
- name: tailscale-tmp
mountPath: /tmp
- name: dev-tun
mountPath: /dev/net/tun
readOnly: true
securityContext:
privileged: true
capabilities:
add: ["NET_ADMIN", "NET_RAW"]
resources:
requests:
cpu: 50m
memory: 100Mi
limits:
memory: 200Mi
volumes:
- name: var-lib-tailscale
persistentVolumeClaim:
claimName: tailscale
- name: tailscale-tmp
emptyDir: {}
- name: dev-tun
hostPath:
path: /dev/net/tun
+6
View File
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: tailscale
labels:
app: tailscale
+12
View File
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tailscale
namespace: tailscale
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 1Gi
+30
View File
@@ -0,0 +1,30 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: tailscale
namespace: tailscale
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: tailscale
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "namespaces", "secrets"]
verbs: ["get", "list", "watch"]
- apiGroups: ["tailnet.tailscale.com"]
resources: ["*"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: tailscale
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: tailscale
subjects:
- kind: ServiceAccount
name: tailscale
namespace: tailscale
+13
View File
@@ -0,0 +1,13 @@
apiVersion: tailnet.tailscale.com/v1alpha1
kind: Tailnet
metadata:
name: talos-cluster
namespace: tailscale
spec:
tagExposes: []
dnsMode: "Split"
users:
- name: cluster-admin
selector:
matchLabels:
tailscale.com/managed: "true"