Skip to content

Development

Overview

The project uses Go 1.25 (controller/workers) and Python 3.11 (ML service). All builds run via Docker — no local language SDKs required.

Prerequisites

  • Docker and Docker Compose
  • Git
  • bash, curl, jq (for scripts)

Project Layout

controller/
├── cmd/
│   ├── controller/main.go    # Controller entrypoint
│   └── worker/main.go        # Worker entrypoint
├── internal/                  # All business logic (not importable)
│   ├── baseline/              # EWMA + Welford statistics
│   ├── correlation/           # Dedup, workload grouping
│   ├── detection/             # Detection engine
│   ├── enrichment/            # Context queries
│   ├── ingestion/             # Prometheus + Loki clients
│   ├── metrics/               # Prometheus instrumentation
│   ├── ml/                    # ML gRPC client
│   ├── readiness/             # Health probes
│   └── replay/                # Offline replay engine
├── proto/                     # Protobuf definitions
├── config.yaml                # Main configuration
├── go.mod / go.sum
└── Dockerfile

ml/
├── server/
│   ├── main.py                # gRPC server entrypoint
│   ├── forecaster.py          # Prophet forecasting
│   └── multivariate.py        # Isolation Forest
├── proto/                     # Protobuf source
├── pyproject.toml
└── Dockerfile

Guides

  • Building — Compile, build images, run locally
  • Testing — Unit tests, integration tests, coverage
  • Contributing — Conventions, workflow, code quality