Phase 1: Wiki-Link Graph Indexing - WikiLinkParser: extract [[links]] from markdown - WikiLinkGraph: BFS traversal, reachable docs, backlinks - Support relative path resolution (../../../) Phase 2: ScoringPipeline trait (SOLID design) - DocumentScorer trait: single interface for all scorers - GlobalTfIdfScorer, ProjectTfIdfScorer, SemanticScorer - MetadataBoostingScorer (decorator pattern) - ScoringPipeline: orchestrate multiple scorers with RRF fusion - Benefits: add new scorers without modifying existing code Phase 7: RBAC + PolicyProvider trait - PolicyProvider trait: pluggable backends (Vault, Postgres, Redis) - VaultPolicyProvider: load YAML from vault/projects/* and vault/shared/skills/* - MockPolicyProvider: for testing (no I/O) - AccessChecker trait: single-purpose RBAC checks - AccessLevelChecker, RoleChecker, PermissionChecker - AccessDecisionEngine: orchestrate checkers with short-circuit eval - AuditLogger trait: pluggable audit backends Test Fixtures (DRY principle) - OidcClaimsBuilder: fluent API for test data - AccessPolicyBuilder: fluent API for policies - MockPolicyProvider, MockAuditLogger: testing mocks All modules compile and unit tests pass.
14 lines
491 B
Rust
14 lines
491 B
Rust
/// RBAC Module: Access control with OIDC + Vault policies
|
|
///
|
|
/// Phase 7 implementation: universal authentication + authorization
|
|
/// Depends on Authentik (OIDC) + Vault (policy files)
|
|
|
|
pub mod policy_provider;
|
|
pub mod access_checker;
|
|
|
|
pub use policy_provider::{AccessPolicy, PolicyProvider, VaultPolicyProvider, MockPolicyProvider};
|
|
pub use access_checker::{
|
|
AccessDecisionEngine, AccessChecker, AccessLevelChecker, RoleChecker, PermissionChecker,
|
|
AuditLogger, AccessDecision,
|
|
};
|