feat(proxy): context-aware ACLs — sync hero_osis context list + enforce per-route #22
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_proxy!22
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat_21_context_acl"
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?
Closes #21 (first pass — UI + admin RPC for per-route context are follow-ups).
Summary
contextsSQLite table mirrors hero_osis's context list;context_syncpollsbase.context_list/base.context_getover$HERO_SOCKET_DIR/hero_osis/rpc.sockeveryHERO_PROXY_CONTEXT_SYNC_SECS(default 60s)domain_routes.contextcolumn (defaults to"0") — each route declares which hero_osis context it forwards todispatch_domain_routenow rejects unknown contexts with 404 and passes the resolved context toresolve_claims_for_userso the existing role.contexts filter actually kicks in"0") is seeded on DB init so requests can be served before the first hero_osis synchero_osis_sdkdep) — keeps the dep graph small since we only need two methodsTest plan
cargo test --workspace— all green, including the 3 previously-failing domain-routing integration testshero_osis_server+hero_proxy_servertogether, verify first-sync log line, verify context rows inproxy.db, verify unknown-context route returns 404What's NOT in this PR
contextonAddDomainRoute/UpdateDomainRoute+ SDK/UI (admin API extension)hero_routervshero_proxyownership (still open per hero_rpc#13)See design note on #21 for more.
🤖 Generated with Claude Code