⚓ 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
·21 min read
🖼️
Image unavailable

In the world of Kubernetes and GitOps, Helm charts are the cornerstone of application deployment and management. However, the official Argo project charts often need extensive customization for production environments, leading to maintenance overhead and configuration drift across teams.

Argo Helm Charts solves this challenge by providing a comprehensive collection of wrapper charts that enhance the official Argo charts with production-ready configurations, intelligent CI/CD workflows, and enterprise-grade features.

Why I Built Argo Helm Charts

Having worked extensively with ArgoCD and Argo Workflows in production environments, I consistently encountered the same challenges across different organizations:

  • Configuration Sprawl: Teams maintaining their own custom values files with inconsistent patterns
  • Manual Processes: No automated way to keep chart configurations current with upstream changes
  • Documentation Drift: Chart documentation becoming outdated as configurations evolved
  • Testing Gaps: Lack of comprehensive testing for chart configurations before deployment
  • Security Concerns: Missing production security hardening in default configurations

I wanted to create a solution that would:

  • Standardize Configurations: Provide battle-tested, production-ready defaults
  • Automate Maintenance: Keep charts current with upstream releases automatically
  • Ensure Quality: Comprehensive testing and validation for every change
  • Improve Developer Experience: Make GitOps deployments more reliable and predictable
  • Demonstrate Best Practices: Showcase modern DevOps patterns and CI/CD workflows

This project also serves as a demonstration of sophisticated automation patterns, including intelligent change detection, automated documentation generation, and comprehensive CI/CD workflows that can be applied to other DevOps projects.

Connection to ArgoCD Selective Sync Research

This wrapper chart project builds directly on my research and experimentation with ArgoCD selective syncing patterns. The journey began with a comprehensive demo implementation that explored per-application selective syncing using the App-of-Apps pattern with Helm charts and Argo Workflows validation.

From Demo to Production

The selective sync demo proved the concept but revealed the complexity of managing multiple Helm charts across environments. Key challenges included:

  • Chart Management Overhead: Each environment required individual chart maintenance
  • Configuration Drift: No standardization across similar deployments
  • Manual Processes: Chart updates and validation required manual intervention
  • Documentation Gaps: Each chart needed its own documentation maintenance

These insights led to the creation of this wrapper chart project, which provides:

  • Standardized Configurations: Production-ready defaults eliminate per-environment customization
  • Automated Maintenance: CI/CD workflows keep all charts current automatically
  • Comprehensive Validation: Built-in testing ensures reliability across all deployments
  • Living Documentation: Auto-generated docs that stay current with configuration changes

Architecture Evolution

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

Wrapper Chart Architecture

This project implements a sophisticated wrapper chart architecture that provides a clean abstraction layer over the official Argo charts while maintaining full compatibility and upgradeability.

System Architecture Overview

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

Future Roadmap and Extensions

The Argo Helm Charts project continues to evolve with the Argo ecosystem and community needs.

Planned Enhancements

The project roadmap focuses on expanding the wrapper chart ecosystem while enhancing existing capabilities to meet evolving enterprise needs.

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.