forked from heavy-duty/rig
Roles become presets over three orthogonal traits declared in one map: class (who lives here), host (runs VMs), join (authkey or interactive login). Every per-role behavior now keys off the traits — the /dev/kvm advisory rides host=yes, the next-steps log rides class and host — and tag:server is derived policy, not a trait: only control-plane and workload are shapes the control plane manages, so every other role refuses the effective tag. join=login inverts the tag assertion (a user-owned node must come up untagged; a tag is refused and backed out on first join, refused without back-out on a box already joined) and refuses a set TS_AUTHKEY before the root check. The verified shape is recorded convergently in /etc/rig/role as ground truth for rig users. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| rig | ||