Skip to content
Danylo Chystiakov edited this page Aug 30, 2026 · 1 revision

Welcome to the STDML Workspace Wiki

The STDML Workspace is an End-to-End MLOps Platform designed around a microservices architecture. This monorepo encapsulates everything needed to deploy, manage, and scale machine learning models in a production-like local environment.

System Architecture

At a high level, the platform consists of three main pillars:

1. Local Cloud-Native Infrastructure

  • Kubernetes (k3d & Helm): Provides a lightweight, local K8s cluster for container orchestration.
  • HashiCorp Vault: Centralized secrets management and dynamic configuration injection.
  • Kafka & Redis: Message brokering and caching for asynchronous inter-service communication.
  • MLflow (DagsHub): Model registry and experiment tracking.

2. API Gateway (api)

  • Built with FastAPI and strict Pydantic schemas.
  • Acts as the main entry point for client requests.
  • Handles routing, payload validation, and queues inference tasks into Kafka topics.

3. ML Worker (mlworker)

  • Built using a Hexagonal Architecture (Ports and Adapters).
  • Operates as an asynchronous event consumer. It listens to Kafka topics, fetches champion models from the registry, performs inference, and pushes results back to Redis.

Monorepo Structure

The project uses uv workspaces to manage multiple Python packages efficiently, ensuring perfectly synchronized dependencies across all services.

.
├── Justfile             # Command runner definitions
├── flake.nix            # Nix environment configuration
├── pyproject.toml       # Global uv workspace config
├── infra/               # Kubernetes manifests
├── scripts/             # Automation scripts (e.g., vault_init.sh)
├── ml_workspace/        # Workspace for ML experiments
└── services/            # Microservices root
    ├── api/             # FastAPI Gateway
    ├── web_ui/          # Web interface
    └── mlworker/        # Hexagonal ML Worker