Skip to content

Latest commit

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ARGUS

CIDocker BuildSemgrepE2E NightlyDocs

ARGUS is a production-shaped fleet telemetry platform: devices stream into a Kafka-compatible bus, Ray and Flink harden the data path, Iceberg + Dagster form the lakehouse spine, and drift / OPA incidents / OpenTelemetry close the loop for operators — with a read-only AI copilot for investigation. Clone it, docker compose up, and you get the same contracts and images that target EKS via Terraform, Helm, and Argo CD.

Docs:Getting Started · Demo Script (5 min) · Case Study · Known gaps and what I'd build next · ADRs · CHANGELOG v1.0.0


Architecture

flowchart LR
Sim["simulator / SDKs"] --> Kafka["Redpanda / MSK"]
Kafka --> Ray["Ray ingest"]
Ray --> QA["stream-processor QA"]
QA --> Iceberg["Iceberg + Trino"]
QA --> Drift["drift-monitor"]
Iceberg --> Dagster["Dagster / MLflow"]
Drift --> IE["incident-engine + OPA"]
IE --> GW["api-gateway"]
Iceberg --> GW
GW --> UI["dashboard"]
GW --> Copilot["ai-copilot"]
IE --> OTel["Prometheus / Grafana / Loki / Jaeger"]
Loading
simulator/SDKs → telemetry.raw → Ray → normalized → QA ─┬→ validated → Iceberg / drift
├→ quarantine → Iceberg DLQ
└→ qa_metrics → incidents → gateway → UI

Full design: ARCHITECTURE.md · docs/architecture.md


Quick Start (< 5 minutes)

git clone https://github.com/hamidmatiny/Argus.git &&cd Argus
cp .env.example .env
echo"NEXTAUTH_SECRET=$(openssl rand -base64 32)">> .env
echo"NEXTAUTH_URL=http://localhost:3002">> .env
echo"AUTH_DEMO_OFFLINE=true">> .env
docker compose up -d --build
OpenURL
Dashboardhttp://localhost:3002 — login operator / operator
Grafanahttp://localhost:3001admin / argus
Gateway healthhttp://localhost:8099/health
Redpanda Consolehttp://localhost:8087
curl -s http://localhost:8099/v1/ping
curl -s -X POST http://localhost:8099/v1/telemetry/query \
-H 'Content-Type: application/json' -H 'X-API-Key: demo-viewer' \
-d '{"sql":"SELECT vehicle_id FROM telemetry LIMIT 5","limit":5}'

Tear down: docker compose down -v


Screenshots

Dashboard — Overview(placeholder)
docs/assets/screenshots/dashboard-overview.png — TODO: capture Overview with live throughput after login.

Dashboard — Incidents(placeholder)
docs/assets/screenshots/dashboard-incidents.png — TODO: open incidents + breaker state.

Grafana — SLOs(placeholder)
docs/assets/screenshots/grafana-slos.png — TODO: QA pass ratio / gateway latency panels.

Also see dashboard/docs/screenshots/*.png.txt markers.


Components

ComponentRoleREADME
shared/Contracts (Avro / Proto / JSON Schema)README
ingestion/Simulator + Ray normalizeREADME
stream-processor/Streaming QA gateREADME
drift-monitor/KS + Evidently driftREADME
lakehouse/Iceberg writers + TrinoREADME
orchestration/Dagster + MLflowREADME
simulation/Scenario synthetic sensors (Sources→Transforms→Sinks)README
incident-engine/OPA + circuit breakersREADME
api-gateway/Authn/z edge APIREADME
observability/Metrics, logs, traces, alertsREADME
dashboard/Next.js operator UIREADME
ai-copilot/Read-only RAG assistantREADME
sdk/python/argus-sdkREADME
sdk/typescript/@argus/sdkREADME
cli/argusctlREADME
infra/Terraform · Helm · Argo CDREADME
tests/e2e/Smoke · load · chaosREADME
docs/MkDocs site · ADRs · demoREADME

Tech Stack

CategoryTechnologies
StreamingApache Kafka API, Redpanda, Amazon MSK, Ray, Apache Flink / PyFlink
StorageApache Iceberg, MinIO, Amazon S3, AWS Glue, Trino, Parquet
OrchestrationDagster, Feast (optional); AWS Lambda + Step Functions + EventBridge + SQS (serverless ETL demo — not the production Kafka path; see ADR 007)
MLMLflow, Evidently, SciPy KS tests, embeddings (hash / OpenAI); scenario synthetic sensors (classical renderer proxies — see simulation/)
ObservabilityOpenTelemetry, Prometheus, Grafana, Loki, Promtail, Jaeger, Alertmanager
SecurityKeycloak (OIDC), OPA/Rego, API keys + RBAC, Trivy, Syft SBOM, Semgrep
FrontendNext.js (App Router), TypeScript, Tailwind, NextAuth, Recharts
InfraDocker Compose, Terraform, Helm, Argo CD, Amazon EKS, IRSA
AIQdrant, tool-calling LLM agents (OpenAI / Anthropic / mock), RAG runbooks
LanguagesPython 3.12, Go 1.22, TypeScript / Node 22
Qualitypytest, Go test, Vitest, Playwright, k6, GitHub Actions

CI coverage gate:65% on gated packages (see CONTRIBUTING.md).


Documentation site

pip install -r docs/requirements.txt
mkdocs serve # http://127.0.0.1:8000

License

Apache License 2.0 — see LICENSE.

About

Production-shaped fleet telemetry platform — Kafka/Ray/Flink ingest, Iceberg + Dagster lakehouse, drift detection, OPA-backed incidents, and a read-only AI copilot. Same containers run via Docker Compose locally or Terraform/Helm/Argo CD on EKS.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages