diff --git a/tailscale/deployment.yaml b/tailscale/deployment.yaml new file mode 100644 index 0000000..dae6204 --- /dev/null +++ b/tailscale/deployment.yaml @@ -0,0 +1,66 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tailscale-operator + namespace: tailscale + labels: + app.kubernetes.io/name: tailscale + app.kubernetes.io/component: operator +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: tailscale + app.kubernetes.io/component: operator + template: + metadata: + labels: + app.kubernetes.io/name: tailscale + app.kubernetes.io/component: operator + spec: + serviceAccountName: tailscale-operator + securityContext: + runAsNonRoot: true + containers: + - name: operator + image: ghcr.io/tailscale/operator:v1.76.0 + args: + - --hostname=$(POD_NAME) + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - secretRef: + name: tailscale-operator-secret + ports: + - containerPort: 8080 + name: metrics + protocol: TCP + resources: + requests: + cpu: 10m + memory: 64Mi + limits: + cpu: 100m + memory: 128Mi + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsUser: 1000 + runAsGroup: 1000 + capabilities: + drop: + - ALL + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: Exists