https://github.com/glueops/docs-argocd
Documentation and configuration for installing and managing ArgoCD on the GlueOps Kubernetes platform. Includes Helm charts, Terraform modules, YAML templates for ArgoCD setup, node affinity and tolerations configurations, RBAC policies, and scripts to customize and secure ArgoCD deployments.
https://github.com/glueops/docs-argocd
argo-cd argo-cd-setup argocd configuration deployment-scriots glueops-platform helm helm-charts k8s-deployment kubernetes node-affinity rbac-policies terraform terraform-modules
Last synced: 6 months ago
JSON representation
Documentation and configuration for installing and managing ArgoCD on the GlueOps Kubernetes platform. Includes Helm charts, Terraform modules, YAML templates for ArgoCD setup, node affinity and tolerations configurations, RBAC policies, and scripts to customize and secure ArgoCD deployments.
- Host: GitHub
- URL: https://github.com/glueops/docs-argocd
- Owner: GlueOps
- Created: 2023-04-11T23:36:25.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T01:53:52.000Z (12 months ago)
- Last Synced: 2025-03-28T11:44:03.942Z (7 months ago)
- Topics: argo-cd, argo-cd-setup, argocd, configuration, deployment-scriots, glueops-platform, helm, helm-charts, k8s-deployment, kubernetes, node-affinity, rbac-policies, terraform, terraform-modules
- Language: Smarty
- Homepage:
- Size: 55.7 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# docs-argocd
This repo outlines how to install argocd using the official argocd helm chart. This is part of the opionated GlueOps Platform. If you came here directly then you should probably visit https://github.com/glueops/admiral as that is the starting point.
## Prerequisites
- Connection to the Kubernetes server. The authentication methods will vary by Cloud Provider and are documented within their respective wikis.
- Prepare a argocd.yaml to use for your argocd installation
```bash
wget -O argocd.yaml https://raw.githubusercontent.com/GlueOps/docs-argocd/main/argocd.yaml.tpl
```- Read the comments in the file and update the values in the argocd.yaml file.
- Quick Notes:
- Replace `placeholder_tenant_key` with your tenant/company key. Example: `antoniostacos`
- Replace `placeholder_cluster_environment` with your cluster_environment name. Example: `nonprod`
- The `placeholder_argocd_oidc_client_secret_from_dex` that you specify needs to be the same one you use in the `platform.yaml` for ArgoCD. If they do not match you will not be able to login.- Install ArgoCD
```bash
kubectl apply -k "https://github.com/argoproj/argo-cd/tree/v2.8.6/manifests/crds" # You need to install the CRD's that match the version of the app in the helm chart.
helm repo add argo https://argoproj.github.io/argo-helm # Adds the argo helm repository to your local environment
helm install argocd argo/argo-cd --skip-crds --version 5.50.0 -f argocd.yaml --namespace=glueops-core --create-namespace #this command includes --skip-crds but the way the chart works we also have a value we need to set to false so that the CRD's do not work. This value is in the argocd.yaml
```- Check to see if all ArgoCD pods are in a good state with:
```bash
kubectl get pods -n glueops-core
```- Using the command above, ensure that the ArgoCD pods are stable and no additional pods/containers are coming online. If there is a pod that is 1/3 wait until it's 3/3 and has been running for at least a minute. This entire bootstrap can take about 5mins as we are deploying a number of services in HA mode.
## If you are using the terraform module, below is an example
```hcl
module "argocd_helm_values" {
source = "git::https://github.com/GlueOps/docs-argocd.git"
tenant_key = "antoniostacos"
cluster_environment = "nonprod"
client_secret = "Zsbui/29YEqoGOzuI8snlqGcdaRYPSLocwLXDB5GhZY="
glueops_root_domain = "onglueops.com"
}output "argocd_helm_values" {
value = module.argocd_yaml.argocd
}
```