Skip to content

Spike: SPIFFE and the alternatives for per-peer mesh identity #93

Description

@hexfusion

What would you like to be added

A spike evaluating SPIFFE as the per-peer identity model for the mesh, against the alternatives.

Why is this needed

Deciding to replace the shared key leaves the credential model open. Three candidates:

  • SPIFFE/SPIRE. Per-cluster trust domain, workload identity, trust bundles exchanged between peers. This is what Consul's service mesh CA uses for cluster peering, which is the model closest to Grid's topology.
  • X.509 by CSR. The site sends a CSR, a CA signs it, revocation is by non-renewal, trust is an offline-verifiable chain. Kubelet and the ACM klusterlet enroll this way.
  • Registered key and token. The site registers a public key with a control plane under a bootstrap token, which records key, role, and labels and revokes by removing the entry. Per-message signing, no CSR or X.509.

What the spike should answer: which model bounds a lost or compromised site to that site, what has to be run to operate it, and what the disaster recovery surface looks like for each. A shared key means one site can force a grid-wide re-key and a partition strands the rotation. Per-peer certificates contain it, and the CA becomes the DR-critical piece. A registration control plane contains it too, with a larger DR surface across bootstrap, relay, and registration.

Grid already issues per-site certificates for gateway mTLS, so the CSR path may be closer than it looks.

Related: #75, and the identity issue this spike serves.

From the Grid review, Identity and Disaster recovery.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions