Skip to content

Error: Failed to construct REST client on kubernetes_manifest resource #1775

@msfidelis

Description

@msfidelis

Terraform Version, Provider Version and Kubernetes Version

Terraform v1.1.7
on darwin_amd64
+ provider registry.terraform.io/hashicorp/aws v4.21.0
+ provider registry.terraform.io/hashicorp/helm v2.6.0
+ provider registry.terraform.io/hashicorp/kubernetes v2.12.0
+ provider registry.terraform.io/hashicorp/tls v2.2.0

Affected Resource(s)

  • kubernetes_manifest

Terraform Configuration Files

resource "kubernetes_manifest" "karpenter" {

    computed_fields = ["spec.requirements"]

    manifest = {
        apiVersion = "karpenter.sh/v1alpha5"
        kind       = "Provisioner"

        metadata = {
            name = var.cluster_name
        }

        spec = {
            requirements = [
                {
                    key         = "karpenter.k8s.aws/instance-family"
                    operator    = "In"
                    values      = [
                        "c5", "r5"
                    ]
                },
                {
                    key         = "karpenter.sh/capacity-type"
                    operator    = "In"
                    values      = [
                        "spot"
                    ]
                },
                {
                    key         = "karpenter.k8s.aws/instance-size"
                    operator    = "In"
                    values      = [
                        "large",
                        "xlarge",
                        "2xlarge"
                    ]
                }           
            ]
            limits = {
                resources = {
                    cpu     = 100
                    memory  = "4000Gi"
                }
            }
            providerRef = {
                name    = var.cluster_name
            }

        }
    }


    depends_on = [
      helm_release.karpenter
    ]
}

Debug Output

https://gist.github.com/msfidelis/a85e6ec596ba4c762d8f3d3b76fa3aac

Steps to Reproduce

terraform apply --auto-approve 

Expected Behavior

The resource should respect the provider configuration before construct the client, like the other kubernetes provider resources.

Actual Behavior

│ Error: Failed to construct REST client
│
│   with kubernetes_manifest.karpenter[0],
│   on helm_karpenter.tf line 45, in resource "kubernetes_manifest" "karpenter":
│   45: resource "kubernetes_manifest" "karpenter" {
│
│ cannot create REST client: no client config

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions