## Summary - Extract shared Tailscale operator resources (CRDs, RBAC, Deployment, ProxyClass, DNSConfig) into `tailscale-operator-base/` so both clusters reference the same manifests - Add `tailscale-operator-ringtail/` overlay with 1-replica ProxyGroup and ExternalSecret for the shared OAuth client - Add ArgoCD Application targeting `ringtail.tail8d86e.ts.net:6443` - Update `.yamllint.yaml` ignore path for the moved `operator.yaml` ## Deployment and Testing - [ ] Sync `apps` app to pick up the new Application definition - [ ] `argocd app sync tailscale-operator-ringtail` - [ ] Verify ExternalSecret syncs: `kubectl --context=k3s-ringtail -n tailscale get externalsecret` - [ ] Verify operator pod runs: `kubectl --context=k3s-ringtail -n tailscale get pods` - [ ] Verify ProxyGroup ready: `kubectl --context=k3s-ringtail -n tailscale get proxygroups` - [ ] Verify indri operator still works: `argocd app diff tailscale-operator` - [ ] Check Tailscale admin for new operator device with `tag:k8s-operator` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/215
16 lines
477 B
YAML
16 lines
477 B
YAML
# DNSConfig for resolving MagicDNS names from within the cluster
|
|
# Deploys a nameserver that resolves ts.net names to egress proxy IPs
|
|
#
|
|
# Requires CoreDNS/kube-dns configuration to forward ts.net queries.
|
|
# See: https://tailscale.com/kb/1438/kubernetes-operator-cluster-egress
|
|
---
|
|
apiVersion: tailscale.com/v1alpha1
|
|
kind: DNSConfig
|
|
metadata:
|
|
name: ts-dns
|
|
namespace: tailscale
|
|
spec:
|
|
nameserver:
|
|
image:
|
|
repo: docker.io/tailscale/k8s-nameserver
|
|
tag: stable
|