Skip to content

alekc/terraform-application-argocd

Repository files navigation

Requirements

Name Version
terraform >= 0.14.8, < 2.0.0
kubectl ~> 2.0

Providers

Name Version
kubectl ~> 2.0

Modules

No modules.

Resources

Name Type
kubectl_manifest.argo_application resource

Inputs

Name Description Type Default Required
additional_sources Additional sources (in yaml manifests) to be applied to the application map(string) null no
additional_yaml_manifests Additional YAML manifests to be applied to the application map(string) null no
annotations Annotations for argocd Application map(string) {} no
app_source Type of application source (helm, git) string "helm" no
apply_out_of_sync_only Currently when syncing using auto sync Argo CD applies every object in the application. Turning on selective sync option which will sync only out-of-sync resources. bool false no
argocd_namespace The name of the target ArgoCD Namespace string "argocd" no
automated_allow_empty Allows deleting all application resources during automatic syncing ( false by default ). bool false no
automated_prune Specifies if resources should be pruned during auto-syncing bool true no
automated_self_heal Specifies if partial app sync should be executed when resources are changed only in target Kubernetes cluster and no git change detected bool true no
cascade_delete Set to true if this application should cascade delete bool true no
chart The name of the Helm chart string null no
destination_server Server specifies the URL of the target cluster and must be set to the Kubernetes control plane API string "https://kubernetes.default.svc" no
destination_server_name Name is an alternate way of specifying the target cluster by its symbolic name string "" no
fail_on_shared_resource If true, the Argo CD will fail the sync whenever it finds a resource in the current Application that is already applied in the cluster by another Application. bool false no
helm_api_versions # You can specify the Kubernetes resource API versions to pass to Helm when templating manifests. By default, ArgoCD uses the API versions of the target cluster. The format is [group/]version/kind. list(string) null no
helm_files_parameters Use the contents of files as parameters (uses Helm's --set-file)
list(object({
name : string,
path : bool,
}))
null no
helm_ignore_missing_values Ignore locally missing valueFiles when installing Helm chart bool false no
helm_kube_version You can specify the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster. The value must be semver formatted. Do not prefix with v. string null no
helm_namespace Optional namespace to template with. If left empty, defaults to the app's destination namespace. string null no
helm_parameters Parameters that will override helm_values
list(object({
name : string,
value : any,
force_string : bool,
}))
null no
helm_pass_credentials f true then adds --pass-credentials to Helm commands to pass credentials to all domains bool null no
helm_skip_crd If set to true, it will skip the deployment of crd entities from the helm chart bool false no
helm_values Helm values as a block of yaml string null no
helm_values_files Helm values files for overriding values in the helm chart. The path is relative to the var.path directory defined above list(string) null no
helm_values_object Values file as block file. This takes precedence over values any null no
helm_version Optional Helm version to template with. If omitted it will fall back to look at the 'apiVersion' in Chart.yaml and decide which Helm binary to use automatically. This field can be either 'v2' or 'v3'. string null no
ignore_differences Ignore differences at the specified json pointers list(any) [] no
info Extra information to show in the Argo CD Application details tab
list(object({
name : string
value : string
}))
null no
labels n/a map(string) {} no
managed_namespace_metadata Namespace metadata to be applied to namespaces managed by ArgoCD
object({
labels : optional(map(string), {})
annotations : optional(map(string), {})
})
null no
name The name of this application string "" no
namespace n/a string n/a yes
path n/a string "" no
project The project that this ArgoCD application will be placed into. string "default" no
prune_propagation_policy Supported policies are background, foreground and orphan. string "foreground" no
release_name Release name override (defaults to application name) string null no
replace If true, the Argo CD will use kubectl replace or kubectl create command to apply changes. bool false no
repo_url Source of the Helm application manifests string n/a yes
retry_backoff_duration The amount to back off. Default unit is seconds, but could also be a duration (e.g. 2m, 1h) string "5s" no
retry_backoff_factor A factor to multiply the base duration after each failed retry number 2 no
retry_backoff_max_duration The maximum amount of time allowed for the backoff strategy string "3m" no
retry_limit Number of failed sync attempt retries; unlimited number of attempts if less than 0 number 5 no
server_side_apply If true, Argo CD will use kubectl apply --server-side command to apply changes. bool false no
sync_option_create_namespace Namespace Auto-Creation ensures that namespace specified as the application destination exists in the destination cluster. bool true no
sync_option_validate disables resource validation (equivalent to 'kubectl apply --validate=true') bool false no
sync_options A list of sync options to apply to the application list(string) [] no
target_revision Revision of the Helm application manifests to use string "" no
wait_for_deletion If set to true, will wait until the object is removed completely from kubernetes before proceeding further bool false no
wait_until_healthy If set to true, it will wait until the application has reached status healthy before proceeding further bool false no

Outputs

No outputs.

About

Terraform module for argocd application

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages