Closed floppyfish14 closed 1 year ago
Thanks for fixing this bug. Usage of settings
input is not so common. The best practice is to put all custom user inputs to the values
.
module "eks-external-dns" {
source = "lablabs/eks-external-dns/aws"
version = "1.1.0"
cluster_identity_oidc_issuer = module.eks.oidc_provider
cluster_identity_oidc_issuer_arn = module.eks.oidc_provider_arn
# https://registry.terraform.io/modules/lablabs/eks-external-dns/aws/latest#argo-helm
enabled = true
argo_enabled = true
argo_helm_enabled = true
values = {
policy = "sync"
}
}
Summary
When the settings map has values, and argocd is being used, a boolean check for forceString fails with the following error:
Error: error validating "": error validating data: ValidationError(Application.spec.source.helm.parameters[0].forceString): invalid type for io.argoproj.v1alpha1.Application.spec.source.helm.parameters.forceString: got "string", expected "boolean"
The tomap() function in terraform causes all objects in the function to be converted to the same type. https://developer.hashicorp.com/terraform/language/functions/tomap
In argo.tf you can remove the tomap() function on line 15 and the forceString parameter makes it through as a boolean. This worked on my local machine.
Issue Type
Bug Report
Terraform Version
Steps to Reproduce
Expected Results
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
Actual Results