Continuous Delivery with Argo CD

Automate your deployments using GitOps and Argo CD

Laralord integrates Argo CD and Argo Rollout as default services within its provisioning process to provide robust continuous delivery capabilities for Kubernetes-based Laravel applications. This page explains how to configure and deploy applications using Argo CD, leveraging its GitOps methodology for automated, reliable, and scalable deployments.

What is Argo CD?

Argo CD is a declarative, GitOps-based continuous delivery tool for Kubernetes. It automates the deployment of applications by continuously synchronizing the desired state—defined in Git repositories—with the live state of the Kubernetes cluster. As a default service in the Laralord provisioning process, Argo CD enables seamless management of deployments with minimal manual intervention.

Argo CD User Interface screenshot

Benefits of the GitOps Approach

  • Version Control: Configurations are stored in Git, enabling versioning and rollbacks.
  • Automation: Continuous reconciliation reduces manual effort and errors.
  • Auditability: Git history tracks changes for traceability and compliance.
  • Consistency: Uniform deployments across environments via Git.
  • Collaboration: Teams use Git workflows for better productivity.

Configuring Argo CD for Deployment

To deploy an application using Argo CD within Laralord, follow these steps. The process is facilitated through the project's deployment page.

  1. Enable Continuous Delivery Tools: Navigate to your project's form in the Laralord dashboard and enable Continuous Delivery tools via the corresponding toggle.
    Laralord UI screenshot - Project page with arrow pointing to Enable Continuous Delivery toggle button
  2. Create a New Deployment: On the left-side menu, select "Create Deployment" to open the deployment configuration form.
    Laralord UI screenshot - Left menu highlighting Create Deployment option
  3. Fill Out the Deployment Form: Specify the Argo CD application parameters, including Environment Name, Namespace, Manifests Path, Target Revision, and Kustomize settings, then save the deployment.
    Laralord UI screenshot - Deployment form for Argo CD application
  4. Deploy the Application: On the project's main page, press the "Deploy → Apply" button to initiate the deployment process.
    Laralord UI screenshot - Project page with Deploy → Apply button highlighted
  5. Verify Deployment Status: After Terraform provisioning completes, navigate to the "Argo CD" tab and open the Argo CD UI to verify the deployment status.
    Laralord UI screenshot - Argo CD tab showing deployment status

Using the Kustomize Field

The Kustomize field in the deployment form corresponds to Argo CD’s Kustomize configuration, offering flexibility to tailor deployments without modifying base manifests. Use this field to:

  • Configure Horizontal Pod Autoscaler (HPA) settings for automatic scaling.
  • Specify domain names for your application.
  • Apply custom adjustments, such as secrets management or resource limits.

This feature enhances deployment adaptability, aligning with Laralord’s emphasis on scalable multi-tenant architectures.

Laralord © 2024UI Build: 0.1.0-rc1-42-g4cde