#![warn(missing_docs)]
#![warn(clippy::all)]
#![doc(
html_logo_url = "https://gunnar.rs/download/gunnar.webp",
html_favicon_url = "https://gunnar.rs/download/favicon.svg"
)]
pub mod account_audit;
pub mod activity;
pub mod arrow_log;
pub mod audit;
pub mod auth;
pub mod catalog;
pub mod control;
pub mod doc;
pub mod encryption_key;
#[cfg(feature = "metered")]
pub mod entitlement;
pub mod error;
pub mod expiry;
pub mod flow;
pub mod forge;
pub mod history;
pub mod host_key;
pub mod issuer;
pub mod key_attestation;
pub mod membership;
pub mod mirror_store;
pub mod model;
pub mod name_filter;
pub mod observe;
pub mod policy_store;
pub mod provenance;
pub mod pulls;
pub mod sandbox;
pub mod sbom;
pub mod seal;
pub mod secrets;
pub mod settings;
pub mod sshsig;
pub mod sso;
pub mod transparency;
pub mod txlog;
pub mod webhook;
pub mod gate;
pub use gate::{AccountGate, GateReason, ADMINISTRATIVE_HOLDER, PURGE_LEASE_MS};
pub use activity::{PrincipalActivity, Seen as ActivitySeen, ACTIVITY_FILE};
pub use audit::{AuditChain, AuditEntry, AuditError, AuditEvent, Recorded, AUDIT_FILE};
pub use auth::operator_access::{
OperatorAccess, OperatorAccessState, Shield, OPERATOR_ACCESS_DEFAULT_MINUTES,
OPERATOR_ACCESS_MAX_MINUTES, OPERATOR_REQUEST_TTL_MS,
};
pub use auth::ClanRepoOffer;
pub use auth::{
fingerprint_of_blob, mint_token_secret, token_hash, AuthTable, Bootstrap, BootstrapRecord,
BulkUser, EmployeeRoom, Enrolled, Fingerprint, Readiness, RedeemedInvite, RoomAnswer, RoomAsk,
RoomGrant, SeatLot, SsoImportOp, SsoImportRow, SsoLogin, SsoLoginDone, SsoProvision,
SsoUserPatch, AUTH_REF, BOOTSTRAP_ADMIN_ID, LAST_USED_GRANULARITY, REDEEMED_INVITE_KEEP_MS,
SHA256_PREFIX,
};
pub use auth::{AccountRoom, Clan, ClanInvite, ClanMember, ClanRefusal, ClanRole};
pub use catalog::{point_head_at, NewRepo, RepoCatalog, CATALOG_REF};
pub use control::{
memory_control, memory_control_store, open_control, open_control_store, open_control_with_db,
BlobId, ControlDb, ControlStore, ControlView, DocVersion, RamCopy, RedbControlStore,
ResumeReport, SharedControlStore, BLOB_ID_LEN, RAM_COPY_CEILING_BYTES, TWIN_APPLIED,
};
#[cfg(feature = "metered")]
pub use entitlement::{Entitlement, EntitlementState, EntitlementStore, ENTITLEMENT_REF};
pub use error::{human_bytes, Error, Result};
pub use flow::{
day_of, iso8601_utc, midnight_of, Fleet, FlowDay, FlowLedger, FlowObserver, FlowStore, Glance,
NamespaceFlow, Refusal, Transfer, DAY_MS, FLOW_REF, PRINCIPAL_CEILING, RETENTION_DAYS,
};
pub use forge::{Attested, Event, ForgeEvent, Review, SignedEvent, FORGE_NAMESPACE};
pub use history::{read_sealed, History, RefTransaction, SealReport};
pub use host_key::{ensure_host_key, mint_ed25519, os_rng, HostKey};
pub use issuer::{
Issued, Issuer, IssuerOrigin, Pki, TrustedCa, DEFAULT_ISSUER_DAYS, DEFAULT_LEAF_DAYS,
ISSUER_REF,
};
pub use key_attestation::{
AttestationProblem, AttestingKey, KeyAttestation, SignedKeyAttestation,
KEY_ATTESTATION_NAMESPACE,
};
pub use membership::{
fold as fold_membership, Membership, MembershipAction, MembershipEvent, SignedMembershipEvent,
MEMBERSHIP_NAMESPACE,
};
pub use mirror_store::{
credential_secret_key, MirrorCredentialKind, MirrorRecord, MirrorStore, MAX_RESUMES, MIRROR_REF,
};
pub use model::{
now_ms, AccessToken, FirstInviteRow, Grant, HashKind, Level, Namespace, Principal,
PrincipalKind, PublicKey, Repo, Scope, UnixMillis, Visibility, WebCredential,
ANONYMOUS_PRINCIPAL_ID, DEFAULT_BRANCH,
};
pub use observe::{
InFlightGuard, MetricsSnapshot, RequestId, ServerMetrics, TARGETS, TARGET_AUDIT, TARGET_GIT,
TARGET_METRICS, TARGET_POLICY, TARGET_SSH, TARGET_STORE,
};
pub use policy_store::{PolicyStore, POLICY_REF};
pub use provenance::{BuildRecord, SignedBuild, Subject, PROVENANCE_NAMESPACE};
pub use pulls::{PullRecord, PullState, Pulls, Transition as PullTransition, PULLS_REF};
pub use sandbox::{resolve_repo_path, PathReject, RepoRef};
pub use seal::{
is_sealed, seal, unseal, Kek, PlaintextPolicy, SealedSecretStore, KEK_ENV, KEK_FILE, SEAL_MAGIC,
};
pub use secrets::{legacy_secret_log, MigratingSecretStore, RedbSecretStore, LEGACY_SECRET_DIRS};
pub use sshsig::EventProblem;
pub use transparency::{SignedTreeHead, TreeHead, STH_NAMESPACE};
pub use webhook::{
sign_delivery, verify_delivery, DeliveryProblem, SignedDelivery, WEBHOOK_NAMESPACE,
};
pub use gunnar_store;
pub use ssh_key;