Skip to content

Terraform module for provisioning (and optionally bootstrapping) ArgoCD on Kubernetes or OpenShift via Helm

License

Notifications You must be signed in to change notification settings

nilic/terraform-helm-argocd-instance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform module for ArgoCD deploy and bootstrap

This module allows for deploying an ArgoCD instance on Kubernetes and OpenShift via the official ArgoCD Helm chart.

Optionally, Argo repository, project and application resources can be added by the module after deployment. This allows for ArgoCD bootstrap according to the app of apps pattern.

Requirements

Name Version
terraform >= 1.0.0
helm >= 2.6.0
random >= 3.3.2

Providers

Name Version
helm >= 2.6.0
random >= 3.3.2

Modules

No modules.

Resources

Name Type
helm_release.argocd resource
helm_release.argocd-apps resource
random_password.argocd_admin_password resource

Inputs

Name Description Type Default Required
argocd_admin_password_length Length of the randomly generated password for the ArgoCD admin user number 12 no
argocd_admin_password_special_characters Special characters to use for the randomly generated password for the ArgoCD admin user string "_%@!" no
argocd_application_name Name of the ArgoCD application to be created string null no
argocd_application_repo_branch Git repository branch where the ArgoCD application manifests reside string "main" no
argocd_application_repo_path Path within the Git repository where the ArgoCD application manifests reside string "" no
argocd_apps_chart_version ArgoCD-apps chart version to install (used for creating project and application). If not specified, latest version is installed string null no
argocd_chart_value_files A list of paths to ArgoCD Helm chart values files to be added to the ArgoCD installation list(string) [] no
argocd_chart_values A map of key/value to set ArgoCD chart values or override defaults.
The key must be specified as the full path to the key, e.g: configs.secret.bitbucketServerSecret.
Please consult ArgoCD Helm chart docs.
map(string) {} no
argocd_chart_version ArgoCD chart version to install. If not specified, latest version is installed string null no
argocd_ingress_enabled Whether to enable a Kubernetes Ingress resource for the ArgoCD server. Will be set to false if argocd_openshift set to true bool false no
argocd_ingress_host Host for the created Ingress resource. If not set, Ingress resource will be created with * as host. Honored only if argocd_ingress_enabled set to true string "" no
argocd_namespace Kubernetes/OpenShift namespace to install ArgoCD chart to string "argocd" no
argocd_namespace_create Whether to create the namespace where ArgoCD chart will be installed bool true no
argocd_openshift Whether ArgoCD is deployed on OpenShift. If set to true, OpenShift route will be created and repo server will run under a random UID instead of 0 bool false no
argocd_project_name Name of the ArgoCD project to be created string null no
argocd_repository_name Name of the repository to be added to ArgoCD string null no
argocd_repository_password Secret Access Token for the Git repository string null no
argocd_repository_url Git repository URL to be added to ArgoCD string null no
argocd_repository_username The Username of the User/Service account for the Git repository string null no
argocd_timezone ArgoCD timezone in TZ format, eg. Europe/Berlin string "Europe/Berlin" no

Outputs

Name Description
admin_password Autogenerated password for the ArgoCD admin user.
This output is marked as sensitive by Terraform and therefore is displayed masked in the console output.
For information on how to display it unmasked take a look at this article.
release_status Status of the deployed ArgoCD Helm chart

About

Terraform module for provisioning (and optionally bootstrapping) ArgoCD on Kubernetes or OpenShift via Helm

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages