mumoshu/terraform-provider-eksctl

creating eksctl command: repository does not exist

Closed this issue · 2 comments

ebr commented

I created a cluster yesterday using this code block:

resource "eksctl_cluster" "this_new" {
  eksctl_version = "0.35.0"
  name = local.cluster_name
  region = data.aws_region.current.name
  spec = file("${path.module}/files/ng1.yaml")
  version = "1.18"
}

Now I'd like to delete this cluster, and I removed this code block. But on remote apply, I am getting this error:

Error: creating eksctl-delete command: creating eksctl command: repository does not exist

Terraform Cloud was having some CDN issues earlier today, which perhaps affected its ability to download eksctl via shoal? (this is only a speculation). So I've switched to applying locally. However, this results in a different error:

[ℹ]  eksctl version 0.35.0
[ℹ]  using region us-east-2
[ℹ]  deleting EKS cluster "perfect-crawdad"
[ℹ]  deleted 0 Fargate profile(s)
[ℹ]  cleaning up AWS load balancers created by Kubernetes objects of Kind Service or Ingress
Error: cannot list Kubernetes Services: Unauthorized

The latter error is likely due to me not having authentication to the cluster. I am also unable to delete the cluster by just running eksctl delete cluster locally, which seems likely related to eksctl-io/eksctl#1070.

But the main concern is not being able to apply remotely due to an external dependency. What can I do to mitigate this?

I am using Terraform 0.14.4 with Terraform Cloud.

ebr commented

I can no longer reproduce this, it was likely related to the aforementioned CDN outage.
Still, it's a concern that eksctl needs to be installed on each remote apply?

@ebr Thanks for the update 🙏

Still, it's a concern that eksctl needs to be installed on each remote apply?

In Terraform Cloud, I believe so - Outside of it we can use e.g. regular CI cache to save/restore the .shoal directory created by the provider for storing eksctl binaries. There's no cache for local files on Terraform Cloud, right?