What is ArgoCD?
ArgoCD is a declarative GitOps continuous delivery tool for Kubernetes. It enables you to define and control the deployment of applications using Git repositories as the source of truth for deployment configurations. ArgoCD automates the process of syncing your applications with their desired state in Git, ensuring cluster configurations match your version-controlled definitions.Benefits of ArgoCD
- Automated Synchronization: Keeps your environment in sync with configurations stored in Git
- Declarative Setup: Manage infrastructure and application definitions declaratively and version them in Git
- Self-Healing: Automatically corrects drifts between the desired state in Git and the live state in the cluster
- Multi-Cluster Management: Manage deployments across multiple Kubernetes clusters from a single ArgoCD instance
- Visibility: Provides a graphical UI and CLI for visualization and management of applications and their dependencies
- GitOps Best Practices: Audit trail, rollback capabilities, and declarative configuration management
ArgoCD in Skyhook
Skyhook provides an integrated setup experience for ArgoCD and simplifies two primary use cases:- Manage cluster addons - Deploy and manage third-party tools like cert-manager, ingress controllers, Prometheus, and Grafana across your clusters. By managing these with ArgoCD, you can control versions in Git, apply changes declaratively across multiple clusters, and track configuration drift.
- Deploy your applications - Use ArgoCD for application deployments with features like one-click rollbacks, visual diffing, automatic pruning of resources no longer defined in Git, and a UI to view and manage your applications. With Argo Rollouts, you can implement advanced deployment strategies like Blue/Green and Canary deployments.
What Skyhook Provides
- Interactive Setup Wizard: Three-step guided process to install and configure ArgoCD
- Addon Management UI: Enable and configure cluster addons without writing YAML
- GitHub App Integration: Secure, fine-grained repository access with automatic token rotation
- Multi-Cluster Configuration: Easy selection and configuration of clusters for ArgoCD to manage
Installation
Prerequisites
Before installing ArgoCD, ensure you have:- A management cluster selected (the cluster that will host ArgoCD)
kubectlaccess to your management cluster- A GitHub repository for storing GitOps configurations (or plan to create one)
- Sufficient cluster resources (ArgoCD requires ~500MB memory minimum)

Step 1: Install ArgoCD on Your Cluster
Navigate to Organization Settings > GitOps and click Configure to start the setup wizard.
-
Authenticate to your management cluster:
-
Create the ArgoCD namespace:
-
Install ArgoCD CRDs and components:
- Create an AppProject for managing addons (expandable section in wizard): The wizard provides a pre-configured AppProject resource. This project scopes ArgoCD’s permissions and defines allowed repositories and clusters.
- Recommended: Create an Ingress for ArgoCD (expandable section in wizard): If you want to access the ArgoCD UI from outside your cluster, configure an Ingress. The wizard provides template configuration.
- Recommended: Install the ArgoCD CLI: Follow the ArgoCD CLI installation guide for your operating system.
Step 2: Configure GitOps Repository

- Select GitOps Repository: Choose the GitHub repository where ArgoCD will look for application manifests and addon configurations.
-
Set Repository Path: Specify the path within the repository (default:
clusters). ArgoCD will monitor this path for Kubernetes manifests. -
Select Clusters: Choose which clusters ArgoCD should manage. All connected clusters are shown in the table with:
- Project/Account
- Location (region)
- Cluster name
- API Server Endpoint field
-
Configure API Endpoints: Enter the Kubernetes API server endpoint for each cluster:
- The management cluster uses
kubernetes.default.svc(pre-filled, since ArgoCD runs there) - For remote clusters, find the endpoint in your cloud provider’s console:
- AWS EKS: EKS Console > Clusters > API server endpoint
- GCP GKE: GKE Console > Clusters > Endpoint
- Azure AKS: AKS Console > Properties > API server address
- The management cluster uses
Step 3: Configure GitHub Integration

- Fine-grained permissions: Better security than personal access tokens
- Organization-wide access: Access all repositories with a single credential
- Automatic token rotation: GitHub Apps handle token renewal automatically
- Select GitOps Repository: Choose the repository from the dropdown
- Generate GitHub App Setup: Click the button to generate GitHub App configuration
- Create GitHub App: Follow the generated instructions to create the app in GitHub
- Install GitHub App: Install the app to your organization
- Apply ArgoCD Configuration: Apply the generated Kubernetes resources to configure ArgoCD
Managing Addons
After ArgoCD is installed, you can browse and configure cluster addons from the Addons page.
Addon Categories
Skyhook organizes addons into three categories: Managed Addons: Pre-configured, production-ready addons that Skyhook maintains and recommends:- Observability Bundle - Complete monitoring stack (Prometheus, Grafana, Loki)
- Cert Manager - Automated TLS certificate management
- External Secrets Operator - Sync secrets from external secret stores
- Ingress Nginx - Popular ingress controller
- Argo Rollouts - Advanced deployment strategies (Blue/Green, Canary)
- And 10+ more popular tools
- ArgoCD - The GitOps operator itself (managed outside of GitOps)
- External DNS, Argo Events, Trivy, Karpenter, Velero, and more
Configuring an Addon
To install or configure an addon:- Navigate to the Addons page
- Click on the addon you want to configure (e.g., Cert Manager)

-
Select clusters: Use the checkboxes to enable the addon on specific clusters
- The table shows all your connected clusters
- Cloud provider icons indicate where each cluster is hosted
- Location and account information help you identify clusters
-
Review addon details:
- Read the addon description
- Click links to official documentation for configuration options
- Check the “Up to Date” status indicator
-
Generate Pull Request: Click the “Generate Pull Request” button at the bottom
- Skyhook generates ArgoCD Application resources for selected clusters
- Changes are committed to your GitOps repository
- Creates an audit trail of configuration changes
-
ArgoCD syncs automatically: Once the PR is merged, ArgoCD:
- Detects the new Application resources
- Deploys the addon to selected clusters
- Maintains the desired state defined in Git
Deploying Applications
For deploying your own applications with ArgoCD:- Define your application manifests in your GitOps repository
- Create ArgoCD Application resources (either through the ArgoCD UI or by adding YAML to your GitOps repo)
- ArgoCD syncs the application to your clusters based on the defined configuration
- Monitor application status and health in the ArgoCD UI
Troubleshooting
ArgoCD namespace already exists
ArgoCD namespace already exists
If the
argocd namespace already exists, you can either:- Delete the existing namespace:
kubectl delete namespace argocd - Skip the namespace creation step and proceed with installing CRDs
API endpoint configuration errors
API endpoint configuration errors
If ArgoCD can’t connect to a cluster:
-
Verify the endpoint is correct:
-
Check cluster credentials are configured:
- Ensure ArgoCD has network access to the cluster API (check firewall rules, security groups)
GitHub App integration fails
GitHub App integration fails
If GitHub App setup doesn’t work:
- Verify the app is installed to the correct organization
- Check the app has access to the GitOps repository
- Ensure the generated credentials were applied to the cluster correctly
- Review ArgoCD logs:
kubectl logs -n argocd -l app.kubernetes.io/name=argocd-repo-server
Addons not syncing
Addons not syncing
If addons aren’t deploying:
-
Check ArgoCD Application status:
-
View application details:
- Check ArgoCD can access your GitOps repository
- Verify the repository path contains valid Kubernetes manifests
Next Steps
- Configure your management cluster settings
- Learn about helmify-kustomize for converting Kustomize configs to Helm charts
- Explore ArgoCD documentation for advanced features
