Releases: DevSpecOps/Pipeline-Prod-AIOps
Release list
v3.0.5 — Stability & Production Readiness Patch
🚀 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 consumerloop with apoll()-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_HOSTis now respected by all services:
fastapi_app.py,streamlit_app.py,model_stub.py, andlinear_regression.py. No more hard‑coded hostnames.API_URLis now configurable instreamlit_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_eventto the modernlifespancontext 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-composetodocker composefor GitHub Actions compatibility. - Re-added
testcontainersto 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
CalculatetoAll valuesso 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 --buildWait ~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.
/healthreturnsmodel_ready: true./predict/13?amount=200returns 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
- Repository: github.com/DevSpecOps/Pipeline-Prod-AIOps
- Latest release: v3.0.5
Released on: 2026-07-02
Status: Stable · Production‑ready · Fully documented
v3.0.4 — Stable release with all bugfixes
🚀 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:9092address, 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_amount→amountacross producer, consumer, API, and dashboard queries. No more mismatches.
📊 Grafana & Monitoring
- Datasource provisioning — fixed ClickHouse datasource with
overwrite: trueand explicithostfield. 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
testcontainerswith 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 --buildWait ~1 minute for services to initialize, then open:
- API docs: http://localhost:8000/docs
- Streamlit dashboard: http://localhost:8501
- Grafana: http://localhost:3001 (admin / admin)
📊 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
- Repository: github.com/DevSpecOps/Pipeline-Prod-AIOps
- Latest release: v3.0.4
Released on: 2026-06-29
Stable · Production‑ready · Fully documented
v3.0.1 — Load Tests & Kafka Fixes
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
*.htmland*.logfor 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.pyv3.0.0 — Sports Retail MLOps Pipeline
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 --buildFor details, see README.md.
v2.0.0 — Production-ready MLOps pipeline
- 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
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