Closed NikitaGandhi closed 4 years ago
Install extra software needs to be done as part of the terraform scripting at this point as the tooling cannot be preinstalled in Terraform Cloud workers. I don’t believe it can be performed through a separate module as it needs to be part of the same tf apply.
What is the problem with leaving it there given it’s optional? It’s a common pattern, used in other terraform modules like Cloud Posse.
Hey Rob, is it possible for you to install it from your internal odc_k8s
live module (where you calling this module from). It is same thing and less messy in generic module??
As I mentioned is a common pattern in modules far more generic than this one.
I don’t think it will work from outside the module as its a dependency IN the module, not an outside one. Particularly in the case when a destroy is executed.
I also do not agree this is messy, it is in its own block of code isolated from everything else and doesn’t intrude at all for the case when it is disabled. It simply has a dependency that in the case where you happen to not be using TF Cloud or otherwise have locally installed tools it does nothing.
ok. removing this PR.
The underlying issue is the helm operator crd install and the lack of terraform k8s provider support for CRDs at the time.
Would be worth checking if these have been patched (it was a raised issue at one point in the provider). If it is supported now then not only can the install extra software be removed but so can the aws eks command line.
Here we go, just made alpha release for k8s 1.17: https://www.hashicorp.com/blog/deploy-any-resource-with-the-new-kubernetes-provider-for-hashicorp-terraform/
I’m inclined to wait for final release - what we have works for the moment
sure, let's raise an issue so we won't forget 👍
Any PRs will require running
terraform fmt -recursive
successfully first. Please install terraform versionv0.12.18
on your local setup for this activity.Why this change is needed
This change refactor and removes
install_extra_software.tf
file fromodc_k8s
module to simplify CI tooling from infrastructure.Negative effects of this change
Yes, it will impact @woodcockr. Suggestion is to put this lib to your internal module and pass
kube_config_cmd
if required otherwisekube_config_cmd
is set toaws eks update-kubeconfig --name=${local.cluster_name} --region=${var.region}
.