⚓ Argo Helm Charts: Comprehensive Wrapper Suite for GitOps Excellence

A production-ready collection of Helm charts for Argo projects, featuring wrapper charts for ArgoCD and Argo Workflows with enterprise-grade configurations, automated CI/CD, and intelligent change detection.

Helm
Kubernetes
ArgoCD
Argo Workflows
GitOps
GitHub Actions
Docker
Renovate
Chart Testing
PlantUML
Nicholas Adamou
19 min read
🖼️
Image unavailable

Working with Kubernetes and GitOps? Then you know Helm charts are your bread and butter for deployment and management. But here's the thing—while the official Argo project charts are solid, they usually need a ton of customization for production. That means maintenance overhead and, even worse, configuration drift across your teams.

That's where Argo Helm Charts comes in. I built this collection of wrapper charts to enhance the official Argo charts with production-ready configurations, smart CI/CD workflows, and enterprise-grade features that actually make your life easier.

Why I Built This

After working with ArgoCD and Argo Workflows across multiple production environments, I kept running into the same headaches:

  • Configuration Sprawl: Every team had their own custom values files, and guess what? They were all slightly different and inconsistent.
  • Manual Everything: There was no automated way to keep chart configs in sync with upstream changes. It was all manual labor.
  • Documentation Drift: Chart docs would get outdated the moment someone changed a configuration.
  • Testing? What Testing?: Most teams had zero comprehensive testing for their chart configurations before deployment.
  • Security Gaps: Default configurations were often missing production security hardening.

I wanted to build something that would:

  • Standardize Configurations: Give teams battle-tested, production-ready defaults right out of the box.
  • Automate Maintenance: Automatically keep charts current with upstream releases—no more manual updates.
  • Ensure Quality: Run comprehensive testing and validation on every single change.
  • Improve Developer Experience: Make GitOps deployments reliable and predictable instead of a dice roll.
  • Showcase Best Practices: Demonstrate modern DevOps patterns that you can apply to other projects.

This project also doubles as a showcase for sophisticated automation patterns like intelligent change detection, automated documentation generation, and comprehensive CI/CD workflows.

How This Connects to My ArgoCD Selective Sync Research

This wrapper chart project didn't come out of nowhere—it builds directly on my earlier research into ArgoCD selective syncing patterns. I started with a comprehensive demo implementation exploring per-application selective syncing using the App-of-Apps pattern with Helm charts and Argo Workflows validation.

From Demo to Production

The demo proved the concept worked, but it also exposed just how complex managing multiple Helm charts across environments could be:

  • Chart Management Overhead: Every environment needed its own chart maintenance.
  • Configuration Drift: There was zero standardization across similar deployments.
  • Manual Processes: Chart updates and validation? All manual.
  • Documentation Gaps: Each chart needed separate documentation that constantly got out of sync.

These pain points drove me to create this wrapper chart project, which provides:

  • Standardized Configurations: Production-ready defaults mean you don't need per-environment customization.
  • Automated Maintenance: CI/CD workflows handle chart updates automatically.
  • Comprehensive Validation: Built-in testing ensures everything works across all deployments.
  • Living Documentation: Auto-generated docs that actually stay current with your configuration changes.

How It Evolved

The journey from initial demo to production-ready wrapper charts happened in three phases:

Phase 1: Research & Demo I started with manual chart management, built a per-app selective sync demo, experimented with the App-of-Apps pattern, and added Argo Workflows validation. This phase was all about exploring what was possible.

Phase 2: Analysis & Documentation I wrote up my findings in an article about ArgoCD selective sync, documented the architecture patterns I discovered, and identified best practices that actually worked in production.

Phase 3: Production Solution I took all those learnings and built the wrapper chart architecture you see here, with automated CI/CD, enterprise-ready configurations, and comprehensive testing baked in.

The demo repository specifically showcased how environment controllers could manage individual applications with dedicated Argo Workflows for validation - exactly the type of sophisticated GitOps pattern that benefits from standardized wrapper charts.

For a detailed analysis of the selective sync architecture patterns that informed this project, see my article on ArgoCD Selective Sync: Per-App Architecture for Ultimate GitOps Precision.

The Need for Wrapper Charts

While the official Argo charts are excellent starting points, production deployments often require:

Common Production Requirements

  • 🔧 Custom Configuration: Environment-specific settings and resource limits
  • 📊 Monitoring Integration: Built-in Prometheus metrics and ServiceMonitors
  • 🛡️ Security Hardening: Enhanced RBAC and security configurations
  • 🌐 Ingress Management: Standardized ingress patterns across environments
  • 📚 Documentation: Automated documentation generation and maintenance
  • 🔄 Dependency Management: Proper handling of chart dependencies and versions

The Traditional Approach Problems

The traditional way of managing Helm charts is a maintenance nightmare:

  1. Copy Values Files: You start by copying values from official charts
  2. Maintain Everything Manually: Custom values, environment configs, monitoring setup, security policies, ingress rules—all manual
  3. Update Dependencies: Constantly chasing upstream changes
  4. Generate Docs: Documentation that's out of date before you even commit it

The result?

  • ❌ Error-prone manual processes everywhere
  • ❌ Inconsistent configurations across teams
  • ❌ Extremely difficult to maintain
  • ❌ Zero standardization

Wrapper Chart Architecture

I built this project with a clean abstraction layer over the official Argo charts. The architecture is sophisticated but maintains full compatibility and upgradeability.

System Architecture Overview

Here's how everything fits together:

Chart Structure: The foundation consists of a common chart library that provides shared templates, plus dedicated wrappers for ArgoCD and Argo Workflows.

Automation Layer: This is where the magic happens—CI/CD pipelines handle change detection, documentation generation, and release management automatically.

Testing Framework: Every change goes through chart validation, integration tests, and local testing scripts before it hits production.

The Flow:

  1. Wrapper charts depend on official upstream charts (argoproj/argo-cd and argoproj/argo-workflows)
  2. Changes trigger validation → integration testing → documentation generation → release
  3. Releases get published to GitHub Pages, which serves as a Helm repository and syncs to Artifact Hub
  4. Deployments roll out to dev, staging, and production environments

Core Components Breakdown

1. Common Chart Library A shared library providing reusable templates and utilities:

apiVersion: v2
name: common
description: Common chart library with shared templates
type: library
version: 1.0.0

2. ArgoCD Wrapper Chart Enterprise-ready ArgoCD deployment with production optimizations:

apiVersion: v2
name: argocd
description: A wrapper chart for deploying ArgoCD Helm Chart
type: application
version: 1.0.0
appVersion: v2.12.3
dependencies:
  - name: argo-cd
    version: 7.9.1
    repository: https://argoproj.github.io/argo-helm
  - name: argocd-apps
    version: 2.0.2
    repository: https://argoproj.github.io/argo-helm
  - name: common
    version: ">= 0.0.0-0"
    repository: "file://../common"

3. Argo Workflows Wrapper Chart Production-ready workflow engine configuration:

apiVersion: v2
name: argo-workflows
description: A wrapper chart for deploying Argo Workflows Helm Chart
type: application
version: 1.0.0
appVersion: v3.5.10
dependencies:
  - name: argo-workflows
    version: 0.45.23
    repository: https://argoproj.github.io/argo-helm
  - name: common
    version: ">= 0.0.0-0"
    repository: "file://../common"

Intelligent CI/CD Pipeline

The project features a sophisticated CI/CD pipeline that provides intelligent change detection, automated testing, and seamless releases.

CI/CD Workflow Architecture

Change Detection Logic

The pipeline uses sophisticated path filtering to determine which charts need processing:

- uses: dorny/paths-filter@v2
  id: changes
  with:
    filters: |
      argocd:
        - 'charts/argocd/**'
        - 'charts/common/**'
      argo-workflows:
        - 'charts/argo-workflows/**'
        - 'charts/common/**'
      common:
        - 'charts/common/**'

This ensures that:

  • ArgoCD chart rebuilds when ArgoCD or common files change
  • Argo Workflows chart rebuilds when Argo Workflows or common files change
  • Common changes trigger rebuilds of dependent charts
  • Unrelated changes don't trigger unnecessary builds

Production-Ready Configurations

The wrapper charts come with battle-tested configurations optimized for production environments.

ArgoCD Production Configuration

The ArgoCD wrapper chart includes carefully tuned production configurations that have been tested across multiple enterprise environments.

Resource Optimization:

controller:
  resources:
    limits:
      memory: 2Gi
    requests:
      cpu: 250m
      memory: 1Gi

Monitoring Integration:

controller:
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true

Helm Integration Enhancement:

configs:
  cm:
    kustomize.buildOptions: --enabled-helm

Argo Workflows Production Configuration

The Argo Workflows wrapper provides enterprise-grade features designed for production scalability and security.

Instance Isolation:

controller:
  instanceID:
    enabled: true
    useReleaseName: true

Namespace Management:

controller:
  workflowNamespaces:
    - default

Security Configuration:

workflow:
  serviceAccount:
    create: true
    name: "argo-workflow"
  rbac:
    create: true

Advanced Development Workflow

The project includes comprehensive tooling for development, testing, and maintenance.

Development Toolchain

Local Development Commands

The project provides a comprehensive set of scripts that streamline the development and testing process for chart contributors.

Comprehensive Validation:

# Validate all charts
./scripts/test-local.sh validate

# Validate specific chart
./scripts/test-local.sh validate argocd

# Template and test charts
./scripts/test-local.sh test argo-workflows

Documentation Management:

# Generate all documentation
bash scripts/helm-docs.sh

# Validate documentation is current
./scripts/test-local.sh docs

Package Management:

# Package all charts
./scripts/test-local.sh package

# Package specific chart
./scripts/package.sh argocd

Automated Documentation System

The project features an advanced documentation system that automatically generates comprehensive READMEs from templates:

Documentation Flow:

Real-World Usage Benefits

This wrapper chart architecture provides significant advantages in production environments.

Deployment Comparison

The advantages of wrapper charts become clear when comparing them directly with traditional manual chart management approaches across key operational areas.

Traditional Approach vs. Wrapper Charts:

AspectTraditional ApproachWrapper Charts
Configuration Management❌ Manual value file maintenance✅ Standardized production configs
Monitoring Integration⚠️ Manual Prometheus setup✅ Built-in ServiceMonitors
Documentation❌ Manual documentation maintenance✅ Auto-generated documentation
Dependency Management❌ Manual version tracking✅ Automated dependency updates
Testing⚠️ Ad-hoc testing approaches✅ Comprehensive test suite
Release Management❌ Manual package creation✅ Automated CI/CD releases

Enterprise Adoption Benefits

Organizations adopting these wrapper charts experience significant operational improvements and cost savings across their GitOps infrastructure.

Scalability and Maintenance:

  • 🔄 Automated Updates: Renovate integration for upstream chart updates
  • 📊 Consistent Monitoring: Standardized metrics across all deployments
  • 🛡️ Security Hardening: Enterprise-grade security configurations
  • 📚 Living Documentation: Always up-to-date chart documentation
  • 🧪 Comprehensive Testing: Full validation pipeline for every change

Developer Experience:

  • ⚡ Quick Setup: Single command deployment with production defaults
  • 🔧 Easy Customization: Override any upstream configuration as needed
  • 📖 Clear Documentation: Auto-generated documentation with examples
  • 🐛 Reliable Testing: Local testing scripts match CI environment

Installation and Usage

Getting started with the Argo Helm Charts is straightforward and follows Helm best practices.

Repository Setup

Begin by adding the Argo Helm Charts repository to your local Helm configuration to access all available wrapper charts. You can also explore the charts visually on the interactive GitHub Pages site or browse them on Artifact Hub.

# Add the repository
helm repo add argo-helm-charts https://nicholasadamou.github.io/argo-helm-charts/
helm repo update

# List available charts
helm search repo argo-helm-charts

ArgoCD Deployment

Deploy ArgoCD using the wrapper chart with production-ready defaults or customize it for your specific environment needs.

Basic Installation:

# Install with production defaults
helm install argocd argo-helm-charts/argocd

# Install with custom values
helm install argocd argo-helm-charts/argocd -f my-values.yaml

Production Configuration Example:

# production-argocd-values.yaml
global:
  image:
    repository: quay.io/argoproj/argocd
  ingress:
    useIstioGateway: true

argo-cd:
  controller:
    resources:
      limits:
        memory: 4Gi
      requests:
        cpu: 500m
        memory: 2Gi

  server:
    ingress:
      enabled: true
      hosts:
        - argocd.example.com
      tls:
        - secretName: argocd-tls
          hosts:
            - argocd.example.com

Argo Workflows Deployment

Install Argo Workflows with optimized configurations for container-native workflow processing in production environments.

Basic Installation:

# Install with production defaults
helm install argo-workflows argo-helm-charts/argo-workflows

# Install with custom configuration
helm install workflows argo-helm-charts/argo-workflows \
  --set argo-workflows.controller.workflowNamespaces={default,workflows} \
  --set argo-workflows.server.ingress.enabled=true

Advanced Configuration Patterns

The wrapper charts support sophisticated configuration patterns for enterprise environments.

Multi-Environment Configuration

The wrapper charts are designed to support different configuration strategies across development, staging, and production environments while maintaining consistency.

GitOps Integration Pattern

The wrapper charts integrate seamlessly with GitOps workflows, supporting organized repository structures that separate environment configurations from application definitions.

Repository Structure for GitOps:

gitops-repo/
├── environments/
│   ├── dev/
│   │   ├── argocd-values.yaml
│   │   └── workflows-values.yaml
│   ├── staging/
│   │   ├── argocd-values.yaml
│   │   └── workflows-values.yaml
│   └── production/
│       ├── argocd-values.yaml
│       └── workflows-values.yaml
└── applications/
    ├── argocd-dev.yaml
    ├── argocd-staging.yaml
    ├── argocd-production.yaml
    ├── workflows-dev.yaml
    ├── workflows-staging.yaml
    └── workflows-production.yaml

Monitoring and Observability

The charts include comprehensive monitoring integration out of the box.

Monitoring Stack Integration

The wrapper charts provide comprehensive observability integration, connecting Argo components with your existing monitoring infrastructure for complete visibility.

The monitoring integration provides essential metrics for maintaining healthy Argo deployments at scale.

Built-in Metrics:

  • Application sync status and health
  • Controller performance metrics
  • API server request metrics
  • Repository server performance
  • Workflow execution statistics
  • Resource utilization tracking

Security Considerations

The wrapper charts implement security best practices suitable for enterprise environments.

Security Architecture

The wrapper charts implement a comprehensive security model that addresses network, container, and access control concerns across multiple layers.

Security Best Practices Implemented

The charts incorporate industry-standard security practices to protect against common vulnerabilities and ensure compliance with enterprise security requirements.

Container Security:

  • Non-root user execution
  • Read-only root filesystems
  • Security contexts for all pods
  • Image vulnerability scanning

Network Security:

  • TLS encryption for all communications
  • Network policy isolation
  • Service mesh integration ready
  • Ingress security headers

Access Control:

  • Fine-grained RBAC policies
  • Service account isolation
  • OIDC/SSO integration
  • Multi-tenancy support

Migration and Upgrade Strategies

The wrapper charts are designed to facilitate easy migration from existing deployments and seamless upgrades.

Migration Path

The migration process is structured to minimize risk and ensure smooth transitions from existing Argo deployments to the wrapper chart architecture.

Upgrade Automation

Automated upgrade capabilities ensure that charts stay current with upstream releases while maintaining compatibility and stability.

The charts support automated upgrades through Renovate integration:

{
  "extends": ["config:base"],
  "helm-values": {
    "fileMatch": ["charts/.+/values\\.ya?ml$"]
  },
  "regexManagers": [
    {
      "fileMatch": ["charts/.+/Chart\\.ya?ml$"],
      "matchStrings": [
        "# renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?) repository=(?<registryUrl>.*?)\\s+version: (?<currentValue>.*)"
      ]
    }
  ]
}

This automated approach provides several key benefits for maintaining chart currency and security:

  • Automated dependency updates
  • Security patch automation
  • Version compatibility checking
  • Pull request creation for updates

Community Contributions

The project thrives on community involvement and actively seeks contributions that enhance the wrapper chart ecosystem and improve the developer experience.

The project welcomes community contributions in several areas:

High-Impact Contributions:

  • Additional chart wrappers (Rollouts, Events, Image Updater)
  • Cloud provider-specific configurations
  • Advanced security templates
  • Multi-cluster deployment patterns

Development Improvements:

  • Enhanced testing frameworks
  • Additional automation scripts
  • Documentation improvements
  • Performance optimizations

Conclusion

The Argo Helm Charts project represents a mature approach to managing Argo deployments in production environments. By providing well-crafted wrapper charts with enterprise-grade configurations, comprehensive CI/CD automation, and extensive documentation, it eliminates the common pain points associated with production Argo deployments.

Key Value Propositions

The wrapper chart approach delivers tangible value across multiple dimensions of GitOps operations and enterprise software delivery.

🏗️ Production-Ready Foundation: Battle-tested configurations eliminate trial-and-error deployment cycles

🔄 Automated Operations: Intelligent CI/CD pipeline reduces manual overhead and human error

📊 Comprehensive Monitoring: Built-in observability features provide immediate visibility into system health

🛡️ Security by Design: Enterprise-grade security configurations protect against common vulnerabilities

📚 Living Documentation: Auto-generated documentation ensures configurations stay current and understandable

🔧 Flexible Customization: Wrapper architecture allows complete customization while maintaining upgradeability

This project demonstrates how thoughtful abstraction and automation can transform complex Kubernetes deployments into reliable, maintainable systems. Whether you're deploying your first Argo instance or managing hundreds of applications across multiple clusters, these wrapper charts provide the foundation for scalable, secure GitOps operations.

The combination of intelligent CI/CD, comprehensive testing, and production-ready defaults makes this an invaluable resource for any organization serious about GitOps excellence in their Kubernetes environments.

If you liked this project.

You will love these as well.