apiVersion: apps/v1 kind: Deployment metadata: name: tailscale-operator namespace: tailscale labels: app: tailscale-operator spec: replicas: 1 selector: matchLabels: app: tailscale-operator template: metadata: labels: app: tailscale-operator spec: serviceAccountName: tailscale-operator containers: - name: operator image: ghcr.io/tailscale/k8s-operator:v1.78.3 imagePullPolicy: IfNotPresent env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: TS_CLIENT_ID_FILE value: /etc/tailscale/oauth/client.id - name: TS_CLIENT_SECRET_FILE value: /etc/tailscale/oauth/client.secret volumeMounts: - name: oauth-secret mountPath: /etc/tailscale/oauth readOnly: true resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumes: - name: oauth-secret secret: secretName: tailscale-operator-secret items: - key: client.id path: client.id - key: client.secret path: client.secret