Skip to content

Releases: DevSpecOps/Pipeline-Prod-AIOps

v3.0.5 — Stability & Production Readiness Patch

Choose a tag to compare

@DevSpecOps DevSpecOps released this 02 Jul 20:15

🚀 Release Notes — v3.0.5

Stability & Production Readiness Patch

This release addresses all issues identified during an external code review. The focus was on reliability, configurability, observability, and CI stability.


🔧 Bug Fixes & Critical Improvements

1. Consumer Reliability & Data Integrity

  • Added group_id (orders_consumer_group) to prevent duplicate message reads on consumer restarts.
  • Replaced blocking for message in consumer loop with a poll()-based loop that respects shutdown signals (SIGINT/SIGTERM). Containers now stop cleanly even when the topic is idle.
  • Graceful shutdown is now fully reliable.

2. Environment Variables & Configuration

  • CLICKHOUSE_HOST is now respected by all services:
    fastapi_app.py, streamlit_app.py, model_stub.py, and linear_regression.py. No more hard‑coded hostnames.
  • API_URL is now configurable in streamlit_app.py (default: http://api:8000).

3. Kafka Dual‑Listener Setup

  • Containers use kafka:9092.
  • Host (CI, load tests, local runs) use localhost:29092.
  • Both ports are exposed, enabling external tools to reach Kafka without DNS resolution issues.

4. API Startup & Lifespan

  • Removed the 30‑second blocking sleep on startup.
  • Migrated from deprecated @app.on_event to the modern lifespan context manager.
  • Model training now starts in the background after a short initial delay without blocking the API.

5. Dependencies (Updated to Stable Versions)

Package Old New
kafka-python 2.0.2 2.2.20
numpy 1.23.5 1.26.4
scikit-learn 1.2.2 1.4.2
pandas (unpinned) 2.2.0
docker (dev) 6.1.3 7.1.0

All versions are now pinned and tested against Python 3.10.

6. CI/CD Pipeline

  • CI now builds images before starting services (docker compose up -d --build).
  • Fixed CI command from docker-compose to docker compose for GitHub Actions compatibility.
  • Re-added testcontainers to dev dependencies to unblock test imports (will be removed properly in v4.0.0).
  • Removed fragile schema-drift test that caused false positives.

7. Grafana Dashboard

  • Fixed pie chart to display all three channels (online_web, online_app, offline_store).
  • Value options changed from Calculate to All values so nothing is hidden.
  • Provisioning now uses a fixed UID (clickhouse), making dashboards portable across environments.

📦 What’s Demo‑Only (Not a Bug)

Regression Model (Target Leakage)

The linear regression model currently uses amount as both a feature and the target.
This is intentional for the demo — it keeps the inference endpoint simple and predictable.
We will replace it with a proper feature‑based regression (using user stats, weekday, order count, etc.) in v4.0.0.


🛠️ How to Upgrade

git pull origin main
docker compose down -v
docker compose up -d --build

Wait ~1 minute for services to initialise, then open:

Service URL
API Docs http://localhost:8000/docs
Dashboard http://localhost:8501
Grafana http://localhost:3001 (admin / admin)

✅ What to Expect

  • All services start without errors.
  • /health returns model_ready: true.
  • /predict/13?amount=200 returns a category and an amount.
  • Grafana shows Total Revenue, A/B Test, Revenue by Channel (all three slices), Top Categories, Promo vs No Promo, and Weekend vs Weekday.
  • All tests pass in CI and locally (pytest tests/ -v).

🔮 Roadmap to v4.0.0

The next major release will focus on:

  • Kubernetes (minikube) + Helm charts
  • Dead Letter Queue (DLQ) for Kafka
  • MLflow for experiment tracking and model registry
  • Data drift monitoring with Evidently AI
  • Proper regression model (no target leakage)

🙏 Credits

Thanks to the external reviewer who provided the detailed bug report — it helped us harden the system significantly.


📎 Links


Released on: 2026-07-02
Status: Stable · Production‑ready · Fully documented

v3.0.4 — Stable release with all bugfixes

Choose a tag to compare

@DevSpecOps DevSpecOps released this 29 Jun 13:26

🚀 Release Notes — v3.0.4

Stable release with all bugfixes applied

We are happy to announce the release of v3.0.4 — a fully stable and production‑ready version of Pipeline-Prod-AIOps.
This release closes all issues identified during external review and brings the project to a state ready for demonstration and deployment.


✅ What's New & Fixed

🔧 Critical Fixes

  • Kafka advertised listener — now uses internal kafka:9092 address, ensuring reliable connectivity between producer, consumer, and broker.
  • Producer reliability — added flush() to guarantee messages are actually sent to Kafka (previously they were buffered and never delivered).
  • Database column unification — renamed total_amountamount across producer, consumer, API, and dashboard queries. No more mismatches.

📊 Grafana & Monitoring

  • Datasource provisioning — fixed ClickHouse datasource with overwrite: true and explicit host field. No more manual tweaks after deployment.
  • Dashboard portability — all panels now use fixed UID clickhouse, making the dashboard reusable across environments.
  • Time filters removed — dashboard shows all available data immediately, no need to adjust time ranges.
  • Pie chart fixed — revenue by channel now displays all three channels (online_web, online_app, offline_store).

🧪 Testing & CI

  • Tests rewritten — replaced slow testcontainers with direct connection tests for speed and reliability.
  • CI pipeline enhanced — now spins up full Docker Compose stack before running pytest, ensuring tests run against real services.
  • All tests pass — API health, ClickHouse connection, Kafka producer connection — all green.

📦 Infrastructure

  • Grafana provisioning — datasource and dashboard now fully configured via YAML, no manual setup required after docker-compose up.
  • Producer data model — realistic sports retail data with balanced channels, loyalty cards, discounts, and A/B test groups.

🛠️ How to Upgrade

git pull origin main
docker-compose down -v
docker-compose up -d --build

Wait ~1 minute for services to initialize, then open:


📊 What You'll See

  • Data flowing — real‑time order generation into ClickHouse
  • Grafana dashboard — revenue, A/B test results, channel breakdown, top categories, promo analysis
  • Prometheus metrics — API health, cache hits, predictions count
  • CI/CD pipeline — automated tests on every push

🎯 What's Next (Roadmap)

We are already planning the next major release — v4.0.0 — which will include:

  • Kubernetes (minikube) deployment with Helm charts
  • Dead Letter Queue (DLQ) for Kafka
  • MLflow for experiment tracking and model registry
  • Data drift monitoring with Evidently AI

🙏 Special Thanks

To everyone who contributed feedback, tested the system, and helped make this release stable.


📎 Links


Released on: 2026-06-29
Stable · Production‑ready · Fully documented

v3.0.1 — Load Tests & Kafka Fixes

Choose a tag to compare

@DevSpecOps DevSpecOps released this 23 Jun 23:47

Fixes

  • Kafka advertised listener — Kafka is now accessible both from Docker network and from host (localhost).
  • Load tests — fixed DNS errors and interrupt handling (Ctrl+C).
  • Consumer lag test — now correctly finishes and saves the plot.
  • .gitignore — added *.html and *.log for test results.

How to run load tests

python load_tests/test_api_load.py
python load_tests/test_clickhouse_fill.py
python load_tests/test_consumer_lag.py

v3.0.0 — Sports Retail MLOps Pipeline

Choose a tag to compare

@DevSpecOps DevSpecOps released this 23 Jun 22:09

What's Included

  • Realistic data generation for sports retail (categories, brands, prices, loyalty cards, discounts, A/B testing)
  • ML models (classification + regression) with automatic retraining
  • FastAPI with caching, Prometheus metrics, health checks
  • Streamlit dashboard for real-time monitoring
  • Grafana with business dashboard (revenue, channels, A/B tests, categories, promo)
  • Full containerization (Docker Compose)
  • Kubernetes manifests (ready for deployment)
  • Load testing suite (Locust, ClickHouse fill, consumer lag)
  • CI/CD (GitHub Actions)
  • Comprehensive documentation (README)

How to Run

git clone https://github.com/DevSpecOps/Pipeline-Prod-AIOps.git
cd Pipeline-Prod-AIOps
docker-compose up -d --build

For details, see README.md.

v2.0.0 — Production-ready MLOps pipeline

Choose a tag to compare

@DevSpecOps DevSpecOps released this 23 Jun 13:34
  • Kubernetes manifests (k8s/)
  • Realistic data generation (producer.py with lognormal distribution)
  • Auto-retraining with 20s interval and 30s startup delay
  • In-memory cache with TTL (configurable)
  • Prometheus metrics: predictions_total, cache_hits_total
  • Grafana provisioning (dashboard auto-loads from repo)
  • Persistent Grafana volume (dashboards survive restarts)
  • Health check endpoint (/health)
  • Load testing scripts (test_all.ps1 / test_all.sh)
  • Updated README with Kubernetes and monitoring sections"

v1.0.0 — Production-ready MLOps pipeline

Choose a tag to compare

@DevSpecOps DevSpecOps released this 22 Jun 15:45

What's Included

  • Full MLOps pipeline: Kafka → ClickHouse → FastAPI → Streamlit
  • Async API with caching
  • ML models (classification + regression)
  • Monitoring stack (Prometheus + Grafana)
  • CI/CD with GitHub Actions
  • Dockerized services with healthchecks