Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ArgoCD Integration

Nyl provides first-class support for ArgoCD through a custom configuration management plugin and the ApplicationGenerator resource. This integration enables GitOps-style deployments where ArgoCD can render Nyl manifests directly from Git repositories.

Key Features

  • ArgoCD Plugin: Process Nyl manifests directly within ArgoCD
  • ApplicationGenerator: Automatically generate ArgoCD Applications from Nyl releases
  • Self-Hosting Pattern: Bootstrap ArgoCD with Nyl using a declarative approach
  • Live Diffing: See differences between Git state and cluster state
  • Automated Sync: Optionally enable automatic synchronization and pruning

How It Works

The Plugin

Nyl provides an ArgoCD configuration management plugin that acts as a bridge between ArgoCD and Nyl. When ArgoCD syncs an Application that uses the Nyl plugin:

  1. ArgoCD clones the Git repository
  2. The Nyl plugin is invoked to render manifests
  3. Nyl processes the YAML files (HelmCharts, NylRelease, etc.)
  4. Rendered Kubernetes manifests are returned to ArgoCD
  5. ArgoCD applies the manifests to the cluster

ApplicationGenerator

The ApplicationGenerator resource enables automatic discovery and generation of ArgoCD Applications. When you use nyl render on a file containing an ApplicationGenerator:

  1. Nyl scans the configured directory for YAML files
  2. Each file with a NylRelease is discovered
  3. An ArgoCD Application is generated for each NylRelease
  4. The ApplicationGenerator is replaced with the generated Applications

This pattern is particularly useful for:

  • Managing multiple applications in a single repository
  • Bootstrapping ArgoCD to manage itself
  • Multi-cluster deployments
  • Directory-based organization

Getting Started

  1. Install the ArgoCD Plugin in your ArgoCD installation
  2. Follow the Bootstrapping Guide to set up Nyl with ArgoCD
  3. Use ApplicationGenerator to manage applications at scale
  4. Review Best Practices for production deployments

Use Cases

Single Application: Use the Nyl plugin directly in ArgoCD Applications to render Nyl manifests from Git.

Multi-Application: Use ApplicationGenerator to scan a directory and automatically create Applications for each discovered release.

Bootstrap Pattern: Use ApplicationGenerator to have ArgoCD manage itself and all applications declaratively.

Helm Integration: Leverage Nyl’s HelmChart resource within ArgoCD to deploy Helm charts with full templating support.