Weekly aggregator for security and operational errors from Jira, Wiz, CrowdStrike, and Vibranium.
https://github.com/davidbmar/COE-overview · public · shipped
A Python-based ETL pipeline that ingests incident data from multiple security and operations platforms, normalizes it into a PostgreSQL database, and prepares it for weekly reporting. It handles authentication, data fetching, and schema management via Alembic.
pip install -e . export DATABASE_URL=postgresql+asyncpg://user:pass@localhost/db export JIRA_API_TOKEN=your_token python -m coe
flowchart TD
User[User] --> Config[Configuration]
Config --> Pipeline[Ingestion Pipeline]
Pipeline --> Jira[Jira API]
Pipeline --> Wiz[Wiz API]
Pipeline --> CrowdStrike[CrowdStrike API]
Pipeline --> Vibranium[Vibranium API]
Jira --> Pipeline
Wiz --> Pipeline
CrowdStrike --> Pipeline
Vibranium --> Pipeline
Pipeline --> Database[PostgreSQL Database]
Pipeline --> Output[Run ID File]
Built with Python using SQLAlchemy for async database interactions, Pydantic for configuration management, and Alembic for database migrations. It uses structlog for logging and is designed to run as a Kubernetes CronJob.
sequenceDiagram
participant Main as Main Entry
participant Config as Settings Loader
participant Pipeline as Ingestion Pipeline
participant Sources as External APIs
participant DB as PostgreSQL
participant Output as Run ID Writer
Main->>Config: Load Settings
Config-->>Main: Return Settings
Main->>Pipeline: Initialize Session
Pipeline->>Sources: Fetch Events
Sources-->>Pipeline: Return Raw Data
Pipeline->>DB: Normalize and Store
DB-->>Pipeline: Confirm Write
Pipeline-->>Main: Return Result
Main->>Output: Write Run ID
Configure environment variables for source APIs (Jira, Wiz, CrowdStrike, Vibranium) and database connection. Run the CLI entrypoint to execute the ingestion pipeline, which writes a run ID for downstream rendering processes.