- Remove gitlinks (160000 mode) for chainfire, flaredb, iam - Add workspace contents as regular tracked files - Update flake.nix to use simple paths instead of builtins.fetchGit This resolves the nix build failure where submodule directories appeared empty in the nix store. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
32 lines
973 B
Rust
32 lines
973 B
Rust
//! Audit logging for IAM
|
|
//!
|
|
//! Provides structured audit logging for authentication and authorization events.
|
|
//!
|
|
//! ## Features
|
|
//!
|
|
//! - Multiple event types (authentication, authorization, policy changes)
|
|
//! - Pluggable sinks (file, memory, custom)
|
|
//! - Async-first design
|
|
//! - Structured JSON output
|
|
//!
|
|
//! ## Usage
|
|
//!
|
|
//! ```ignore
|
|
//! use iam_audit::{AuditLogger, AuditEvent, AuditEventKind, FileSink};
|
|
//!
|
|
//! let sink = FileSink::new("/var/log/iam-audit.jsonl").await?;
|
|
//! let logger = AuditLogger::new(sink);
|
|
//!
|
|
//! logger.log(AuditEvent::authn_success("alice", "jwt")).await?;
|
|
//! ```
|
|
|
|
mod event;
|
|
mod logger;
|
|
mod sink;
|
|
|
|
pub use event::{
|
|
AdminEventData, AuditEvent, AuditEventKind, AuthnEventData, AuthzEventData, PolicyChangeType,
|
|
PolicyEventData, TokenEventData, TokenEventType,
|
|
};
|
|
pub use logger::{AuditLogger, AuditLoggerConfig, BufferedAuditLogger};
|
|
pub use sink::{AuditError, AuditSink, FileSink, MemorySink, MultiSink, NullSink, Result};
|