The tagOwners for tag:k8s-operator didn't include tag:k8s-operator
itself, so the OAuth client (tagged tag:k8s-operator) couldn't create
auth keys for its own tag. Indri worked only due to cached login state.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract shared operator resources (CRDs, RBAC, Deployment, ProxyClass,
DNSConfig) into tailscale-operator-base/ so both indri and ringtail
reference the same base without duplication. Ringtail overlay adds a
1-replica ProxyGroup and ExternalSecret for the shared OAuth client.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>