Skip to content

Implement GitHub Actions Pipeline for ArgoCD Agent Deployment #29

@USHER-PB

Description

@USHER-PB

OBJECTIVE

Create a robust CI/CD pipeline using GitHub Actions to automate the deployment of the ArgoCD Hub-and-Spoke architecture using the existing Terraform scripts in argocd-agent/terraform/environments/prod.

Scope:

Directory: argocd-agent/terraform/environments/prod
Architecture: Orchestrates the deployment of a Hub Cluster (Control Plane) and multiple Spoke Clusters (Agents).
Key Modules: hub_cluster, and spoke_cluster.
Tasks:

  • Workflow Configuration:
    Trigger the pipeline on push to the main branch or via workflow_dispatch.
    Add a terraform-plan job to run on Pull Requests.
  • Infrastructure Initialization:
    Install required tools: Terraform, kubectl, helm, and the argocd-agentctl binary.
    Configure Terraform remote backend (update backend.tf to use S3/GCS for state persistence).
  • Authentication & Secrets:
    Securely inject Kubernetes credentials (Kubeconfig) for both Hub and Spoke clusters.
    Manage Keycloak administrative credentials as GitHub Secrets.
    Configure cloud provider credentials for Terraform state management.
  • Deployment Logic:
    Execute terraform init, terraform plan, and terraform apply.
    Support dynamic deployment modes (deploy_hub, deploy_spokes) via variable inputs.
  • Validation:
    Implement a post-deployment check to verify the ArgoCD Agent's connectivity.

Metadata

Metadata

Assignees

Labels

github_actionsPull requests that update GitHub Actions code

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions