Skip to content

Security Model

Core Principles

  • Least-privilege GitHub App credentials.
  • Tailscale as private network transport for CI.
  • Segregated node pools by workload trust and hardware access.
  • Secrets only in GitHub secrets or Kubernetes secrets, never in git.

Trust Boundaries

  • GitHub-hosted runner: ephemeral, joins tailnet for scoped operations.
  • Talos cluster: control plane for ARC and workloads.
  • Unraid host/libvirt: privileged substrate controlling VMs.

Sensitive Assets

  • GitHub App private key
  • Tailscale auth key
  • SSH private key used by KVM autoscaler
  • kubeconfig/talosconfig blobs

Controls

  • Tight repository permissions for workflows.
  • Keep ARC scope minimal via ARC_GITHUB_CONFIG_URL.
  • Use short-lived Tailscale auth keys where possible.
  • Rotate SSH and GitHub App keys on schedule.

Risk Notes

  • KVM access implies elevated compute capability. Keep it isolated to dedicated nodes.
  • DIND workloads are higher risk than container-mode workloads.
  • Autoscaler SSH credentials should be constrained to virsh-only command rights if feasible.