Terraform module for gitops-bridge argocd bootstrap
It handles three aspect of ArgoCD bootstrap
- Installs an intial deployment of argocd, this deployment (gets replaced by argocd applicationset)
- Creates the ArgoCD cluster secret (including in-cluster)
- Creates the intial set App of Apps (addons, workloads, etc.)
To be use with gitops-bridge project, see example here
locals {
name = "ex-${replace(basename(path.cwd), "_", "-")}"
environment = "dev"
cluster_version = "1.27"
gitops_addons_url = "https://github.com/gitops-bridge-dev/gitops-bridge-argocd-control-plane-template"
gitops_addons_basepath = ""
gitops_addons_path = "bootstrap/control-plane/addons"
gitops_addons_revision = "HEAD"
oss_addons = {
enable_argo_workflows = true
enable_foo = true # you can add any addon here, make sure to update the gitops repo with the corresponding application set
}
addons = merge(local.oss_addons, { kubernetes_version = local.cluster_version })
addons_metadata = merge(
{
addons_repo_url = local.gitops_addons_url
addons_repo_basepath = local.gitops_addons_basepath
addons_repo_path = local.gitops_addons_path
addons_repo_revision = local.gitops_addons_revision
}
)
argocd_apps = {
addons = file("${path.module}/bootstrap/addons.yaml")
workloads = file("${path.module}/bootstrap/workloads.yaml")
}
}
################################################################################
# GitOps Bridge: Bootstrap
################################################################################
module "gitops_bridge_bootstrap" {
source = "gitops-bridge-dev/gitops-bridge/helm"
cluster = {
cluster_name = local.name
environment = local.environment
metadata = local.addons_metadata
addons = local.addons
}
apps = local.argocd_apps
}
Name | Version |
---|---|
terraform | >= 1.0 |
helm | >= 2.10.1 |
kubernetes | >= 2.22.0 |
Name | Version |
---|---|
helm | >= 2.10.1 |
kubernetes | >= 2.22.0 |
No modules.
Name | Type |
---|---|
helm_release.argocd | resource |
helm_release.bootstrap | resource |
kubernetes_secret_v1.cluster | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
apps | argocd app of apps to deploy | any |
{} |
no |
argocd | argocd helm options | any |
{} |
no |
cluster | argocd cluster secret | any |
null |
no |
create | Create terraform resources | bool |
true |
no |
install | Deploy argocd helm | bool |
true |
no |
Name | Description |
---|---|
apps | ArgoCD apps |
argocd | Argocd helm release |
cluster | ArgoCD cluster |