Skip to content

docs(spiffe-edge): edge guide + cross-mode compatibility e2e (proposal 012 PR-4) - #90

Merged
flg77 merged 1 commit into
mainfrom
spiffe-edge/docs-e2e
May 15, 2026
Merged

flg77 merged 1 commit into
mainfrom
spiffe-edge/docs-e2e

Conversation

@flg77

@flg77 flg77 commented May 15, 2026

Copy link
Copy Markdown
Owner

Summary

Fourth and final PR of proposal 012 — the operator-facing edge documentation + the crypto-level cross-mode compatibility e2e. Closes the SPIFFE arc (proposals 011 + 012).

  • docs/spiffe-edge.md (new) — the edge SPIFFE guide: topology decision tree (nested / federated / ed25519), per-topology config, offline survival + the offline_action table, the ed25519→spiffe migration path, troubleshooting, and the six-direction bi-directional compatibility matrix.
  • docs/howto-edge.md — SPIFFE optional section + pointer.
  • docs/spiffe.md — an edge-interoperability section.

The cross-mode e2e

tests/integration/test_spiffe_edge_e2e.py — a crypto-level e2e that needs no cluster. It models each trust topology with synthetic SPIRE keypairs, mints JWT-SVIDs exactly as a SPIRE workload API would, and verifies them through the production acc.spiffe_verify path.

A true two-cluster nested/federated SPIRE test stays the operator's manual acceptance step; this gives CI unattended coverage of the locked "bi-directional compatibility" requirement.

13 tests:

  • nested — all five shared-root directions (rhoai↔rhoai, rhoai↔edge, edge↔rhoai, edge↔edge same + different nested sites) + strict-subject-binding rejection
  • federated — cross-trust after bundle exchange, the negative control (federation is required), both directions
  • offline — fresh-within-window, degrade + rotate past the window, partition→recovery without restart

Test plan

  • pytest tests/integration/test_spiffe_edge_e2e.py — 13/13 green
  • No code changed in acc/ or operator/ — docs + a new test file only
  • Reviewer: read docs/spiffe-edge.md

Proposal 012 — complete

PR Title Status
#83 PR-1 — SpiffeConfig edge fields merged
#86 PR-2 — nested topology + edge IDs merged
#88 PR-3 — federation + offline action merged
#90 PR-4 — edge guide + e2e open

The SPIFFE arc (011 + 012) is feature-complete — workload identity ships as opt-in via security.signing_mode; every existing deployment is unchanged.

🤖 Generated with Claude Code

Fourth and final PR of proposal 012 — the operator-facing edge
documentation + the crypto-level cross-mode compatibility e2e.

* docs/spiffe-edge.md (new) — the edge SPIFFE guide:
  - why edge is its own problem (topology, partitions, exposure)
  - the topology decision tree (nested / federated / ed25519)
  - per-topology config + setup pointers
  - offline survival + the offline_action behaviour table
  - the ed25519 -> spiffe migration path
  - a troubleshooting table
  - the six-direction bi-directional compatibility matrix
* docs/howto-edge.md — SPIFFE optional section + pointer.
* docs/spiffe.md — an edge-interoperability section.

* tests/integration/test_spiffe_edge_e2e.py (new) — a crypto-level
  e2e that needs no cluster.  Models each trust topology with
  synthetic SPIRE keypairs, mints JWT-SVIDs exactly as a SPIRE
  workload API would, and verifies them through the production
  acc.spiffe_verify path.  13 tests:
  - nested: all five shared-root directions (rhoai<->rhoai,
    rhoai<->edge, edge<->rhoai, edge<->edge same + different
    nested sites) + strict-subject-binding rejection
  - federated: cross-trust after bundle exchange, the negative
    control (federation IS required), both directions
  - offline: fresh-within-window, degrade + rotate past the
    window, partition->recovery without restart
  Runs unattended — no SPIRE, no network, milliseconds.

Proposal 012 status with this PR: all four PRs landed.  The
SPIFFE arc (proposals 011 + 012) is feature-complete — workload
identity ships as opt-in via security.signing_mode; every
existing deployment is unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@flg77
flg77 merged commit 1769601 into main May 15, 2026
@flg77
flg77 deleted the spiffe-edge/docs-e2e branch May 15, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant