Skip to content

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 grokify to agentplexus organization
  • 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:

github.com/grokify/stats-agent-team → github.com/agentplexus/stats-agent-team

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 agentplexus organization
  • Updated badge URLs in README
  • Updated Go package documentation links
  • Updated Helm chart metadata

Dependencies

  • github.com/agentplexus/omnillm v0.9.0 (replaces metallm)
  • github.com/agentplexus/omniobserve v0.4.0 (replaces metaobserve)
  • github.com/agentplexus/omniserp v0.6.0 (replaces metaserp)
  • github.com/cloudwego/eino v0.7.14
  • github.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:

# New URL
git clone https://github.com/agentplexus/stats-agent-team.git

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