Release Notes v0.4.0¶
Release Date: December 27, 2025
This release introduces a major organization transition, comprehensive Helm chart deployment, parameterized Docker builds, and a robust CI/CD pipeline with security scanning and validation.
Highlights¶
- Organization Migration - Module moved from
grokifytoagentplexusorganization - Dependency Rebranding - Meta libraries renamed to Omni libraries
- Helm Chart - Production-ready Kubernetes deployment with Minikube and EKS support
- Parameterized Dockerfile - Single Dockerfile for building all agent images
- CI/CD Pipeline - Comprehensive security scanning, validation, and testing
- MkDocs Documentation Site - Full documentation site with Material theme
Breaking Changes¶
Module Path Change¶
The Go module path has changed:
Update your imports accordingly if you depend on this module.
Dependency Library Renames¶
The following dependencies have been renamed and updated:
| Old Package | New Package | Version |
|---|---|---|
github.com/grokify/metallm |
github.com/agentplexus/omnillm |
v0.9.0 |
github.com/grokify/metaobserve |
github.com/agentplexus/omniobserve |
v0.4.0 |
github.com/grokify/metaserp |
github.com/agentplexus/omniserp |
v0.6.0 |
New Features¶
Helm Chart (helm/stats-agent-team/)¶
Production-ready Helm chart for Kubernetes deployment:
Templates: - Deployments for all 5 agents (research, synthesis, verification, orchestration, direct) - Services with HTTP and A2A protocol ports - ConfigMaps and Secrets for configuration - Horizontal Pod Autoscaler (HPA) for auto-scaling - Pod Disruption Budget (PDB) for high availability - Ingress for external access - ServiceAccount with configurable annotations
Values Files:
- values.yaml - Default configuration
- values-minikube.yaml - Local development with Minikube
- values-eks.yaml - AWS EKS production deployment
Makefile Commands:
make k8s-minikube-setup # Setup Minikube
make k8s-minikube-build # Build images in Minikube
make k8s-minikube-deploy # Deploy to Minikube
make k8s-eks-deploy # Deploy to AWS EKS
make helm-lint # Lint Helm chart
make helm-template # Render templates locally
Parameterized Dockerfile (Dockerfile.agent)¶
Single multi-stage Dockerfile for building all agent images:
# Build individual agents
docker build --build-arg AGENT=research -t stats-agent-research .
docker build --build-arg AGENT=synthesis -t stats-agent-synthesis .
docker build --build-arg AGENT=verification -t stats-agent-verification .
docker build --build-arg AGENT=orchestration-eino -t stats-agent-orchestration-eino .
docker build --build-arg AGENT=direct -t stats-agent-direct .
Features: - Multi-stage build for minimal image size - Non-root user for security - Health check configuration - OCI labels for container metadata
CI/CD Pipeline (.github/workflows/)¶
Helm Chart CI (helm.yaml)¶
Comprehensive Helm chart validation pipeline:
| Job | Description |
|---|---|
| Gitleaks | Secret detection in repository |
| Trivy Config | Configuration security scan |
| Trivy Secret | Filesystem secret scan |
| Trivy Image | Container vulnerability scan with SBOM |
| Lint | Helm chart linting (default, Minikube, EKS) |
| Unit Tests | helm-unittest test suites |
| Kubeconform | Kubernetes schema validation (v1.29.0) |
| Polaris | Security & best practices audit |
| Go Validation | Go struct validation tests |
| Integration | Kind cluster deployment test |
| Chart Testing | Official Helm chart-testing (ct) |
Release Workflow (release.yaml)¶
Automated container image publishing: - Triggers on GitHub releases (minor/major only) - Builds all 5 agent images in parallel - Pushes to GitHub Container Registry (ghcr.io) - Semantic versioning tags (v1.0.0, v1.0, v1, latest) - Docker layer caching for faster builds
Go Struct Validation (pkg/helm/)¶
Type-safe Go structs mirroring Helm values with validation:
// Load and validate Helm values
values, errs := helm.LoadAndValidate("values.yaml")
// Merge base with overlay and validate
values, errs := helm.LoadMergeAndValidate("values.yaml", "values-eks.yaml")
Validation features:
- Struct tag validation (required, oneof, min, max)
- Custom Kubernetes resource quantity validation (100m, 256Mi)
- Business rule validation (agent dependencies, port conflicts)
- LLM provider configuration checks
Helm Chart Unit Tests (helm/stats-agent-team/tests/)¶
helm-unittest test suites:
- deployment_test.yaml - Deployment configuration tests
- service_test.yaml - Service configuration tests
- hpa_test.yaml - HorizontalPodAutoscaler tests
- pdb_test.yaml - PodDisruptionBudget tests
- ingress_test.yaml - Ingress configuration tests
Run tests:
make helm-unittest # Run unit tests
make helm-test # Lint + unit tests
make helm-test-all # All tests including kubeconform
Security Configuration¶
Gitleaks Configuration (.gitleaks.toml):
- Extends default gitleaks rules
- Allowlists for go.mod, go.sum
- Ignores example values in documentation
Trivy Configuration (.trivyignore):
- CVE ignore list for false positives
- Secret detection rule exceptions
Chart Testing Configuration (ct.yaml):
- Helm chart-testing configuration
- Target branch and chart directories
MkDocs Documentation Site¶
Full documentation site built with MkDocs and Material theme:
- Source files:
docsrc/directory - Generated output:
docs/directory (auto-generated) - Theme: Material for MkDocs with dark/light mode toggle
Documentation structure: - Getting Started (Installation, Quick Start, Configuration) - Architecture (Overview, 4-Agent Architecture, Eino Orchestration) - Guides (Docker, Kubernetes, MCP Server, LLM Configuration) - Operations (Security, Scaling, Chart Testing) - Development (Lint Fixes) - Reference (Roadmap) - Release Notes
Commands:
make docs # Build documentation
make docs-serve # Serve documentation locally
make docs-clean # Clean generated docs
Enhancements¶
Helm Validation Error Handling¶
Improved error handling in pkg/helm/values.go for validation registration. Programming errors during validation setup now panic with descriptive messages instead of silently ignoring errors.
Documentation Updates¶
- All documentation updated to reference new
agentplexusorganization - Updated badge URLs in README
- Updated Go package documentation links
- Updated Helm chart metadata
Dependencies¶
github.com/agentplexus/omnillmv0.9.0 (replaces metallm)github.com/agentplexus/omniobservev0.4.0 (replaces metaobserve)github.com/agentplexus/omniserpv0.6.0 (replaces metaserp)github.com/cloudwego/einov0.7.14github.com/go-playground/validator/v10(for Helm values validation)
Bug Fixes¶
- Fixed unchecked error return value in Helm validation registration (
pkg/helm/values.go:228)
Migration Guide¶
Updating Import Paths¶
If you import this module, update your imports:
// Before
import "github.com/grokify/stats-agent-team/pkg/..."
// After
import "github.com/agentplexus/stats-agent-team/pkg/..."
Cloning the Repository¶
The repository URL has changed:
Deploying to Kubernetes¶
Minikube (Local Development)¶
# Setup and build
make k8s-minikube-setup
make k8s-minikube-build
# Deploy
make k8s-minikube-deploy
# Access
kubectl port-forward -n stats-agent svc/stats-agent-orchestration 8000:8000
AWS EKS (Production)¶
# Build and push images to ECR
make k8s-build-images
make k8s-eks-push REGISTRY=123456789.dkr.ecr.us-west-2.amazonaws.com
# Deploy
make k8s-eks-deploy REGISTRY=123456789.dkr.ecr.us-west-2.amazonaws.com
Building Documentation¶
To build and serve the documentation locally:
# Install dependencies
pip install mkdocs mkdocs-material pymdown-extensions
# Serve locally
make docs-serve
# Build static site
make docs
Contributors¶
- John Wang (@grokify)
Full Changelog: v0.3.0...v0.4.0