|
1 | | -# ArgoCD Deployment |
| 1 | +# Argo CD Deployment Guide |
2 | 2 |
|
3 | | -This directory contains infrastructure-as-code and configuration for deploying **ArgoCD** to enable GitOps-based continuous delivery for the platform. |
4 | | - |
5 | | -ArgoCD provides: |
6 | | -* **Declarative GitOps**: Synchronizing cluster state with Git repositories. |
7 | | -* **Continuous Deployment**: Automated application updates and rollbacks. |
8 | | -* **Drift Detection**: Alerting on manual changes to the cluster configuration. |
| 3 | +Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. It automates the deployment of applications by continuously monitoring Git repositories and synchronizing the desired application state with the live state in your Kubernetes cluster. |
9 | 4 |
|
10 | 5 | ## Deployment Options |
11 | 6 |
|
12 | | -### Automated Deployment |
13 | | -This component is deployed using Terraform. The configuration is located in the `terraform/` directory. |
14 | | - |
15 | | -#### Prerequisites |
16 | | -* Terraform >= 1.0 |
17 | | -* Kubernetes Cluster (GKE) |
18 | | -* kubectl configured |
19 | | - |
20 | | -#### Quick Start |
21 | | -1. Navigate to the directory: |
22 | | - ```bash |
23 | | - cd terraform |
24 | | - ``` |
25 | | -2. Initialize Terraform: |
26 | | - ```bash |
27 | | - terraform init |
28 | | - ``` |
29 | | -3. Configure Variables: |
30 | | - Copy the template and adjust values: |
31 | | - ```bash |
32 | | - cp terraform.tfvars.template terraform.tfvars |
33 | | - ``` |
34 | | -4. Apply configuration: |
35 | | - ```bash |
36 | | - terraform apply |
37 | | - ``` |
38 | | - |
39 | | -## Troubleshooting |
40 | | - |
41 | | -### Common Issues |
42 | | - |
43 | | -**ArgoCD Server Pod CrashLoopBackOff** |
44 | | -```bash |
45 | | -# Check logs for permission/resource errors |
46 | | -kubectl logs -n argocd -l app.kubernetes.io/name=argocd-server |
47 | | -``` |
48 | | - |
49 | | -**Login Failure** |
50 | | -```bash |
51 | | -# Retrieve initial admin password |
52 | | -kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d |
53 | | -``` |
54 | | - |
55 | | -**"Unknown" Application Status** |
56 | | -```bash |
57 | | -# Verify repo accessibility |
58 | | -kubectl logs -n argocd -l app.kubernetes.io/name=argocd-repo-server |
59 | | -
|
60 | | -# Fix: Check network policies allowing Git access |
61 | | -``` |
| 7 | +We provide two ways to deploy Argo CD to your Kubernetes cluster: |
| 8 | + |
| 9 | +### 1. Manual Deployment |
| 10 | + |
| 11 | +Deploy Argo CD manually using Helm with customizable values files. This approach gives you full control over the configurations. |
| 12 | + |
| 13 | +**[Manual Deployment Guide](../docs/manual-argocd-deployment.md)** |
| 14 | + |
| 15 | +The manual deployment uses the production-ready values file located at [`argocd/manual/argocd-prod-values.yaml`](manual/argocd-prod-values.yaml), |
| 16 | + |
| 17 | +### 2. Automated Deployment (Terraform) |
| 18 | + |
| 19 | +Deploy Argo CD automatically using Terraform for infrastructure-as-code management |
| 20 | + |
| 21 | +**[Automated Deployment Guide](#)** *(Coming soon)* |
| 22 | + |
| 23 | +The automated deployment is located in the [`argocd/terraform/`](terraform) |
| 24 | + |
0 commit comments