Skip to main content

Crate basil_core

Crate basil_core 

Source
Expand description

basil-core library: broker core, service adapters, and transport wiring.

  • core::catalog is the key inventory + authorization policy loaded at startup.
  • core::state bundles the loaded policy + backend manager shared across tonic services.
  • service contains tonic service adapters.
  • transport owns tonic wiring, peer extraction, and authorization helpers.

Re-exports§

pub use core::ml_dsa_sign;
pub use core::actor;
pub use core::audit;
pub use core::backend;
pub use core::capability;
pub use core::catalog;
pub use core::decision;
pub use core::ed25519_sign;
pub use core::event;
pub use core::manager;
pub use core::minter;
pub use core::ml_kem_envelope;
pub use core::peer;
pub use core::reconcile;
pub use core::reload;
pub use core::revocation;
pub use core::seal;
pub use core::state;
pub use core::x25519_seal;
pub use service::broker as grpc;
pub use service::jwks;
pub use service::sds;
pub use service::spiffe;
pub use transport::grpc_server;
pub use audit::AuditLog;
pub use audit::ReloadActor;
pub use backend::spiffe::SpiffeConfig;
pub use backend::spiffe::SpiffeVaultBackend;
pub use backend::vault::VaultBackend;
pub use backend::Backend;
pub use backend::BackendError;
pub use backend::NewKey;
pub use capability::CapabilityError;
pub use capability::CapabilityGap;
pub use capability::CapabilityPolicy;
pub use capability::CapabilitySummary;
pub use capability::enforce_capabilities;
pub use catalog::BackendKind;
pub use catalog::Capability;
pub use catalog::Catalog;
pub use catalog::Config;
pub use catalog::LoadError;
pub use catalog::LoadWarning;
pub use catalog::MissingPolicy;
pub use catalog::ResolvedPolicy;
pub use catalog::load;
pub use decision::DecisionRecord;
pub use decision::Outcome;
pub use event::BrokerEvent;
pub use event::BrokerEventKind;
pub use event::EventSource;
pub use grpc_server::DEFAULT_SOCKET_MODE;
pub use grpc_server::ServerConfig;
pub use grpc_server::run as run_grpc;
pub use manager::BackendManager;
pub use manager::ManagerError;
pub use peer::PeerInfo;
pub use reconcile::CheckReport;
pub use reconcile::KeyCheck;
pub use reconcile::KeyStatus;
pub use reconcile::ReconcileError;
pub use reconcile::ReconcileSummary;
pub use reload::ReloadError;
pub use reload::ReloadInputs;
pub use reload::ReloadOutcome;
pub use reload::check_reload;
pub use reload::reload_generation;
pub use revocation::JwtRevocationStore;
pub use seal::BackendCred;
pub use seal::CredBundle;
pub use seal::MasterKek;
pub use seal::MethodKind;
pub use seal::MethodRegistry;
pub use seal::ParsedBundle;
pub use seal::SealError;
pub use seal::SlotSpec;
pub use seal::UnlockError;
pub use seal::UnlockMethod;
pub use state::BrokerLimits;
pub use state::BrokerState;
pub use state::DEFAULT_MAX_ENCRYPT_SIZE;
pub use state::DEFAULT_MAX_PAYLOAD_SIZE;
pub use state::DEFAULT_ROTATION_GRACE_VERSIONS;
pub use state::DEFAULT_SVID_TTL_SECS;
pub use state::Generation;
pub use state::INITIAL_GENERATION_ID;

Modules§

agent_cli
basil-agent: the standalone Basil daemon.
bundle_cli
Top-level basil bundle sealed-bundle management.
core
Core broker state, policy, backends, audit, and reconciliation.
doctor
basil doctor: preflight environment & deployment checks (basil-f0j).
init
basil init: first-run scaffolding (basil-p50).
service
gRPC service adapters.
transport
Shared tonic transport helpers for broker services.
unlock
Startup unlock: build the method registry from flags, check bundle perms, open the sealed bundle, and exchange AppRole creds for a short-lived token.

Constants§

DEFAULT_SOCKET_PATH
Default Unix socket path used by the daemon and local client tooling.