-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] Support for passing *_helm_config to ArgoCD #59
Comments
This feature has already been implemented: https://github.com/kahirokunn/terraform-aws-eks-blueprints/tree/pass-helm-values |
Hi @kahirokunn, when we hand off deployment to ArgoCD we expect that the helm values be passed via gitops otherwise what would be the point of managing addons via gitops. The only values we consider passing via the argocd application are the values for service accounts and other AWS resource ids which cannot other be provisioned via GitOps. See GitOps Bridge for more information. |
We often want to pass ARNs to the appropriate places in the respective Helm. Hardcoding ARNs into the helm repository is not smart. |
Since terraform manages the aws resources, terraform should provide the aws resource arn. |
It is necessary to interact with the maintainer, but they do not discuss much 😢 |
Hi @kahirokunn, I understand the need to pass some values from Terraform to the Helm Charts add-on values. I enable this for External-dns addon using this PR : aws-ia/terraform-aws-eks-blueprints#1035, that only allow to configure flat values And then relying on the GitOps bridge in ArgoCD to set the value in the correct place like this one for external-dns : https://github.com/aws-samples/eks-blueprints-add-ons/blob/main/chart/templates/external-dns.yaml#L16-L25 |
@allamand LGTM! |
This issue has been automatically marked as stale because it has been open 30 days |
keep |
This issue has been automatically marked as stale because it has been open 30 days |
thank you for the issue! At this time we are re-evaluating the integration between Terraform and GitOps operators like ArgoCD. We have removed the integration from the current project and will be tracking all feedback input in #114 while developing the next iteration of this integration |
The approach we took was to do a deep merge:
|
Community Note
What is the outcome that you are trying to reach?
passing
*_helm_config
to ArgoCD.eg. aws_load_balancer_controller_helm_config
Describe the solution you would like
Add code to pass
*_helm_config
to ArgoCD.Describe alternatives you have considered
It is not intuitive to change the handling of
*_helm_config
depending on whether you are using ArgoCD or not.So I find it difficult to solve this except by passing
*_helm_config
to ArgoCD.Additional context
When I wrote
aws_load_balancer_controller_helm_config
, nothing showed up in theterraform plan
.This only happens when using
ArgoCD
, because there is no code written to pass*_helm_config
toArgoCD Application resource
.This felt like a bug.
However, there was a possibility that the feature implementation simply had not caught up, so I created a feature request.
Also, I can pass helm_values by writing as follows, but the current implementation is not sufficient, because all values of awsLoadBalancerController will be lost in terraform's shallow merge.
Also, isn't it unnatural that our value is not passed when using ArgoCD?
https://github.com/aws-ia/terraform-aws-eks-blueprints/blob/854974d80304d736fce537699f86b8657c5fde98/modules/kubernetes-addons/aws-load-balancer-controller/values.yaml
The text was updated successfully, but these errors were encountered: