gitops-bridge-argocd-bootstrap-terraform
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
}
No modules.
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