gcp_racoon/
lib.rs

1//! racoon - GCP Log Spy with AI superpowers 🦝
2//!
3//! This crate provides real-time GCP log streaming, AI-powered analysis,
4//! and natural language query generation capabilities.
5//!
6//! # Modules
7//!
8//! - [`cli`]: Command-line interface definitions using clap.
9//! - [`gcp`]: Google Cloud Platform integration (auth, logging).
10//! - [`ai`]: AI-powered log analysis and query generation.
11//! - [`storage`]: Log storage and export functionality.
12//! - [`ui`]: User interface for log streaming and analysis.
13//! - [`error`]: Application-level error types.
14//! - [`utils`]: Utility functions.
15//! - [`config`]: Configuration management.
16//!
17//! # Example
18//!
19//! ```rust,no_run
20//! use gcp_racoon::gcp::GcpAuth;
21//!
22//! #[tokio::main]
23//! async fn main() -> anyhow::Result<()> {
24//!     // Initialize GCP authentication
25//!     let auth = GcpAuth::new().await?;
26//!     auth.verify().await?;
27//!     println!("Connected to GCP!");
28//!     Ok(())
29//! }
30//! ```
31
32pub mod ai;
33pub mod cli;
34pub mod config;
35pub mod error;
36pub mod gcp;
37pub mod storage;
38pub mod ui;
39pub mod utils;
40
41// Re-exports
42pub use ai::GeminiClient;
43pub use config::Config;
44pub use error::{RacoonError, Result};
45pub use gcp::{GcpAuth, LogEntry, LogFilter, LogsClient};
46pub use storage::{ExportFormat, ExportOptions, export_logs, import_logs};
47pub use ui::{App, run_app};
48pub use utils::{parse_duration, parse_duration_chrono};