#117: Open Cloud Mesh federation — bidirectional, allow-list gated, beside Cairn Peering #448
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ocm-117"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements #117 per OCM.md (approved design + mockup rev 3), TDD throughout with witnessed reds on the runner.
Backend (
internal/ocm, stdlib crypto only): four state registries (allow-list with strict-default per-server policy + stamped relaxation, user-owned contacts + single-use 7-day invites, share ledgers both directions;Removeends every share both ways), stable RSA identity published as jwks + legacy PEM, dual-dialect discovery served and parsed (IETF 1.1, NC1.0-proposal1, oC10 shareTypes quirk + trailing slash), RFC 9421 and draft-cavage signatures (digest before signature, hop-crossing target canonicalisation caught by tests), the full inbound pipeline with refusals that name the reason, dialect-adaptive outbound send, RFC 6749 token-exchange client, invites both roles, namespace-agnosticListRemote, and the bearer-jailed/dav/ocm/<providerId>/grant surface (subtree jail, write only if granted, dies with the share) over the unscoped driver — audit + on-the-fly decryption apply as for share links.API: session-gated user endpoints (shares list/send/accept/decline/end, live browse + fetch proxy, invites, contacts) and admin endpoints (status, servers check/allow/policy/remove with best-effort SHARE_UNSHARED); ten new audit verbs in group
ocm— the #433 scanner caught this PR's own non-literal carrier during development.Frontend (mockup rev 3): Federation rail section (Cairn Peering + Open Cloud Mesh), OCM admin topic (Settings with honest status card; Servers with check-before-allow preview + policy chips + consequence-naming remove), Federated user view (Shares = one folder per federation with live remote browsing and explicit Save-a-copy; Requests with badge/dot; user-owned Contacts), Share-dialog federated mode, boot feature probe, i18n ×4.
Docs & verification:
docs/handbook/federation-ocm.md, README bullet, ARCHITECTURE entry, CHANGELOG v0.6.139;ocm-interop.yml(kept) boots the real binary and drives the wire black-box — to be run against main before tagging;ocm-live-nc.yml(kept, secrets-gated) for the lab-Nextcloud test.Everything off by default: while
ocmEnabledis false, no OCM endpoint answers at all.