Terraform module to deploy ArgoCD
module "argo_cd" {
source = "easy-modules/argocd/easy"
namespace = "argocd-system"
stage = "dev"
argo_chart = "argo-cd"
argo_repository = "https://argoproj.github.io/argo-helm"
argo_version = "5.27.1"
values = [
{
name = "configs.cm.timeout.reconciliation"
value = "40s"
},
{
name = "configs.cm.params.applicationsetcontroller.enable.progressive.syncs"
value = true
},
{
name = "crds.install"
value = true
},
]
project = {
easy_modules = {
project_description = "Easy Modules project"
project_name = "easy"
}
}
public_repo = {
easy_modules = {
app_name = "prometheus"
public_repo_url = "https://github.com/prometheus-community/helm-charts"
}
}
applications = {
easy_modules = {
app_name = "kube-state-metrics"
app_namespace = "kube-state-metrics"
app_path = "charts/kube-state-metrics"
app_repo_url = "https://github.com/prometheus-community/helm-charts"
app_target_revision = "HEAD"
app_directory_recurse = false
app_project = "easy"
}
alert-manager = {
app_name = "alert-manager"
app_namespace = "alert-manager"
app_path = "charts/alertmanager"
app_repo_url = "https://github.com/prometheus-community/helm-charts"
app_target_revision = "HEAD"
app_directory_recurse = false
app_project = "easy"
},
}
}
If you want to login to argo CD using default credentials you can use the following command:
Username: admin
Password: kubectl get -namespace argocd-system secrets argocd-initial-admin-secret -o=jsonpath='{.data.password}' | base64 -d
Name | Version |
---|---|
terraform | >=1.0.0 |
aws | 4.0.0 |
helm | 2.9.0 |
kubectl | >= 1.7.0 |
Name | Version |
---|---|
helm | 2.9.0 |
kubectl | >= 1.7.0 |
No modules.
Name | Type |
---|---|
helm_release.argo_cd_install | resource |
kubectl_manifest.argo_cd_application | resource |
kubectl_manifest.argo_cd_notification | resource |
kubectl_manifest.argo_cd_private_repo | resource |
kubectl_manifest.argo_cd_project | resource |
kubectl_manifest.argo_cd_public_repo | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
applications | Application Setup | any |
|
|
"alert-manager": { |
"app_directory_recurse": false,
"app_name": "alert-manager",
"app_namespace": "alert-manager",
"app_path": "charts/alertmanager",
"app_project": "easy",
"app_repo_url": "https://github.com/prometheus-community/helm-charts",
"app_target_revision": "HEAD"
},
"easy": {
"app_directory_recurse": false,
"app_name": "kube-state-metrics",
"app_namespace": "kube-state-metrics",
"app_path": "charts/kube-state-metrics",
"app_project": "easy",
"app_repo_url": "https://github.com/prometheus-community/helm-charts",
"app_target_revision": "HEAD"
}
}
| no |
| argo_chart | ArgoCD chart | string
| "argo-cd"
| no |
| argo_repository | ArgoCD repository | string
| "https://argoproj.github.io/argo-helm"
| no |
| argo_version | ArgoCD version | string
| "5.27.1"
| no |
| namespace | Namespace to deploy ArgoCD | string
| "argocd-system"
| no |
| notification | Notification Setup | any
| {}
| no |
| private_repo | Private repository | any
| {}
| no |
| project | Project Setup | any
|
{
"ezops": {
"project_description": "Easy project",
"project_name": "easy"
}
}
any
| {
"ezops": {
"app_name": "prometheus",
"public_repo_url": "https://github.com/prometheus-community/helm-charts"
}
}
string
| "dev"
| no |
| values | ArgoCD values | list(object({
name = string
value = string
}))
[
{
"name": "configs.cm.timeout.reconciliation",
"value": "40s"
},
{
"name": "configs.cm.params.applicationsetcontroller.enable.progressive.syncs",
"value": true
},
{
"name": "crds.install",
"value": true
}
]
Name | Description |
---|---|
argo_cd_application_name | The name of the application |
argo_cd_application_namespace | The namespace in which the application is installed |
argo_cd_notification_id | The id of the notification |
argo_cd_notification_name | The name of the notification |
argo_cd_private_repo_id | The id of the private repo |
argo_cd_private_repo_name | The name of the private repo |
argo_cd_project_id | The id of the project |
argo_cd_project_name | The name of the project |
argo_cd_public_repo_id | The id of the public repo |
argo_cd_public_repo_name | The name of the public repo |
helm_release_name | The name of the release |
helm_release_namespace | The namespace in which the release is installed |
helm_release_namespace_id | The namespace in which the release is installed |