Skip to content

Panic when running terraform plan on ApisixRoute manifest #2782

@awarcham

Description

@awarcham

Terraform Version, Provider Version and Kubernetes Version

Terraform version: 1.11.4
Kubernetes provider version: 2.38.0_x5
Kubernetes version: 1.29.14

Affected Resource(s)

  • kubernetes_manifest

Terraform Configuration Files

resource "kubernetes_manifest" "healthcheck_apisix_routes" {
   manifest {
      apiVersion = "apisix.apache.org/v2"
      kind = "ApiSixRoute"
      metadata {
         name = "credentials-health"
         namespace = "mux"
      }
      spec {
         http = [{
            name = "r1"
            match {
               paths = ["*"]
               hosts = ["host1","host2"]
               exprs = [{
                  subject {
                     scope = "Header"
                     name = "X-Forwarded-Client-Cert"
                  }
                  op = "RegexMatchCaseInsensitive"
                  value = "some_matching_string"
               },]
            }
            plugins = [{
               name = "proxy-rewrite"
               enable = true
               config {
                  uri = "/v2/healthcheck"
               }
            },
            {
               name = "prometheus"
               enable = true
               config {
                  prefer_name = true
               }
            },]
            upstreams {
               name = "upstream-credentials"
            }
         },]
      }
   }
}

Debug Output

2025-09-17T16:45:29.314-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 2025-09-17T16:45:29.313-0400 [DEBUG] [PlanResourceChange]: morphed manifest="tftypes.Object[\"apiVersion\":tftypes.String, \"kind\":tftypes.String, \"metadata\":tftypes.Object[\"annotations\":tftypes.Map[tftypes.String], \"creationTimestamp\":tftypes.String, \"deletionGracePeriodSeconds\":tftypes.Number, \"deletionTimestamp\":tftypes.String, \"finalizers\":tftypes.List[tftypes.String], \"generateName\":tftypes.String, \"generation\":tftypes.Number, \"labels\":tftypes.Map[tftypes.String], \"managedFields\":tftypes.Tuple[tftypes.Object[\"apiVersion\":tftypes.String, \"fieldsType\":tftypes.String, \"fieldsV1\":tftypes.DynamicPseudoType, \"manager\":tftypes.String, \"operation\":tftypes.String, \"subresource\":tftypes.String, \"time\":tftypes.String]], \"name\":tftypes.String, \"namespace\":tftypes.String, \"ownerReferences\":tftypes.List[tftypes.Object[\"apiVersion\":tftypes.String, \"blockOwnerDeletion\":tftypes.Bool, \"controller\":tftypes.Bool, \"kind\":tftypes.String, \"name\":tftypes.String, \"uid\":tftypes.String]], \"resourceVersion\":tftypes.String, \"selfLink\":tftypes.String, \"uid\":tftypes.String], \"spec\":tftypes.Object[\"http\":tftypes.Tuple[tftypes.Object[\"authentication\":tftypes.Object[\"enable\":tftypes.Bool, \"jwtAuth\":tftypes.Object[\"cookie\":tftypes.String, \"header\":tftypes.String, \"query\":tftypes.String], \"keyAuth\":tftypes.Object[\"header\":tftypes.String], \"ldapAuth\":tftypes.Object[\"base_dn\":tftypes.String, \"ldap_uri\":tftypes.String, \"uid\":tftypes.String, \"use_tls\":tftypes.Bool], \"type\":tftypes.String], \"backends\":tftypes.List[tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String, \"weight\":tftypes.Number]], \"match\":tftypes.Object[\"exprs\":tftypes.List[tftypes.Object[\"op\":tftypes.String, \"set\":tftypes.List[tftypes.String], \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String], \"value\":tftypes.String]], \"filter_func\":tftypes.String, \"hosts\":tftypes.List[tftypes.String], \"methods\":tftypes.List[tftypes.String], \"paths\":tftypes.List[tftypes.String], \"remoteAddrs\":tftypes.List[tftypes.String]], \"name\":tftypes.String, \"plugin_config_name\":tftypes.String, \"plugin_config_namespace\":tftypes.String, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.Object[\"uri\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"frontdoor_url\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"prefer_name\":tftypes.Bool], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]], \"priority\":tftypes.Number, \"timeout\":tftypes.Object[\"connect\":tftypes.String, \"read\":tftypes.String, \"send\":tftypes.String], \"upstreams\":tftypes.List[tftypes.Object[\"name\":tftypes.String, \"weight\":tftypes.Number]], \"websocket\":tftypes.Bool]], \"ingressClassName\":tftypes.String, \"stream\":tftypes.Tuple[tftypes.Object[\"backend\":tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String], \"match\":tftypes.Object[\"host\":tftypes.String, \"ingressPort\":tftypes.Number], \"name\":tftypes.String, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.DynamicPseudoType, \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]], \"protocol\":tftypes.String]]]]<\"apiVersion\":tftypes.String<\"apisix.apache.org/v2\">, \"kind\":tftypes.String<\"ApisixRoute\">, \"metadata\":tftypes.Object[\"annotations\":tftypes.Map[tftypes.String], \"creationTimestamp\":tftypes.String, \"deletionGracePeriodSeconds\":tftypes.Number, \"deletionTimestamp\":tftypes.String, \"finalizers\":tftypes.List[tftypes.String], \"generateName\":tftypes.String, \"generation\":tftypes.Number, \"labels\":tftypes.Map[tftypes.String], \"managedFields\":tftypes.Tuple[tftypes.Object[\"apiVersion\":tftypes.String, \"fieldsType\":tftypes.String, \"fieldsV1\":tftypes.DynamicPseudoType, \"manager\":tftypes.String, \"operation\":tftypes.String, \"subresource\":tftypes.String, \"time\":tftypes.String]], \"name\":tftypes.String, \"namespace\":tftypes.String, \"ownerReferences\":tftypes.List[tftypes.Object[\"apiVersion\":tftypes.String, \"blockOwnerDeletion\":tftypes.Bool, \"controller\":tftypes.Bool, \"kind\":tftypes.String, \"name\":tftypes.String, \"uid\":tftypes.String]], \"resourceVersion\":tftypes.String, \"selfLink\":tftypes.String, \"uid\":tftypes.String]<\"annotations\":tftypes.Map[tftypes.String]<null>, \"creationTimestamp\":tftypes.String<null>, \"deletionGracePeriodSeconds\":tftypes.Number<null>, \"deletionTimestamp\":tftypes.String<null>, \"finalizers\":tftypes.List[tftypes.String]<null>, \"generateName\":tftypes.String<null>, \"generation\":tftypes.Number<null>, \"labels\":tftypes.Map[tftypes.String]<null>, \"managedFields\":tftypes.Tuple[tftypes.Object[\"apiVersion\":tftypes.String, \"fieldsType\":tftypes.String, \"fieldsV1\":tftypes.DynamicPseudoType, \"manager\":tftypes.String, \"operation\":tftypes.String, \"subresource\":tftypes.String, \"time\":tftypes.String]]<null>, \"name\":tftypes.String<\"fjord-health\">, \"namespace\":tftypes.String<\"mux\">, \"ownerReferences\":tftypes.List[tftypes.Object[\"apiVersion\":tftypes.String, \"blockOwnerDeletion\":tftypes.Bool, \"controller\":tftypes.Bool, \"kind\":tftypes.String, \"name\":tftypes.String, \"uid\":tftypes.String]]<null>, \"resourceVersion\":tftypes.String<null>, \"selfLink\":tftypes.String<null>, \"uid\":tftypes.String<null>>, \"spec\":tftypes.Object[\"http\":tftypes.Tuple[tftypes.Object[\"authentication\":tftypes.Object[\"enable\":tftypes.Bool, \"jwtAuth\":tftypes.Object[\"cookie\":tftypes.String, \"header\":tftypes.String, \"query\":tftypes.String], \"keyAuth\":tftypes.Object[\"header\":tftypes.String], \"ldapAuth\":tftypes.Object[\"base_dn\":tftypes.String, \"ldap_uri\":tftypes.String, \"uid\":tftypes.String, \"use_tls\":tftypes.Bool], \"type\":tftypes.String], \"backends\":tftypes.List[tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String, \"weight\":tftypes.Number]], \"match\":tftypes.Object[\"exprs\":tftypes.List[tftypes.Object[\"op\":tftypes.String, \"set\":tftypes.List[tftypes.String], \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String], \"value\":tftypes.String]], \"filter_func\":tftypes.String, \"hosts\":tftypes.List[tftypes.String], \"methods\":tftypes.List[tftypes.String], \"paths\":tftypes.List[tftypes.String], \"remoteAddrs\":tftypes.List[tftypes.String]], \"name\":tftypes.String, \"plugin_config_name\":tftypes.String, \"plugin_config_namespace\":tftypes.String, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.Object[\"uri\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"frontdoor_url\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"prefer_name\":tftypes.Bool], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]], \"priority\":tftypes.Number, \"timeout\":tftypes.Object[\"connect\":tftypes.String, \"read\":tftypes.String, \"send\":tftypes.String], \"upstreams\":tftypes.List[tftypes.Object[\"name\":tftypes.String, \"weight\":tftypes.Number]], \"websocket\":tftypes.Bool]], \"ingressClassName\":tftypes.String, \"stream\":tftypes.Tuple[tftypes.Object[\"backend\":tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String], \"match\":tftypes.Object[\"host\":tftypes.String, \"ingressPort\":tftypes.Number], \"name\":tftypes.String, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.DynamicPseudoType, \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]], \"protocol\":tftypes.String]]]<\"http\":tftypes.Tuple[tftypes.Object[\"authentication\":tftypes.Object[\"enable\":tftypes.Bool, \"jwtAuth\":tftypes.Object[\"cookie\":tftypes.String, \"header\":tftypes.String, \"query\":tftypes.String], \"keyAuth\":tftypes.Object[\"header\":tftypes.String], \"ldapAuth\":tftypes.Object[\"base_dn\":tftypes.String, \"ldap_uri\":tftypes.String, \"uid\":tftypes.String, \"use_tls\":tftypes.Bool], \"type\":tftypes.String], \"backends\":tftypes.List[tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String, \"weight\":tftypes.Number]], \"match\":tftypes.Object[\"exprs\":tftypes.List[tftypes.Object[\"op\":tftypes.String, \"set\":tftypes.List[tftypes.String], \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String], \"value\":tftypes.String]], \"filter_func\":tftypes.String, \"hosts\":tftypes.List[tftypes.String], \"methods\":tftypes.List[tftypes.String], \"paths\":tftypes.List[tftypes.String], \"remoteAddrs\":tftypes.List[tftypes.String]], \"name\":tftypes.String, \"plugin_config_name\":tftypes.String, \"plugin_config_namespace\":tftypes.String, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.Object[\"uri\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"frontdoor_url\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"prefer_name\":tftypes.Bool], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]], \"priority\":tftypes.Number, \"timeout\":tftypes.Object[\"connect\":tftypes.String, \"read\":tftypes.String, \"send\":tftypes.String], \"upstreams\":tftypes.List[tftypes.Object[\"name\":tftypes.String, \"weight\":tftypes.Number]], \"websocket\":tftypes.Bool]]<tftypes.Object[\"authentication\":tftypes.Object[\"enable\":tftypes.Bool, \"jwtAuth\":tftypes.Object[\"cookie\":tftypes.String, \"header\":tftypes.String, \"query\":tftypes.String], \"keyAuth\":tftypes.Object[\"header\":tftypes.String], \"ldapAuth\":tftypes.Object[\"base_dn\":tftypes.String, \"ldap_uri\":tftypes.String, \"uid\":tftypes.String, \"use_tls\":tftypes.Bool], \"type\":tftypes.String], \"backends\":tftypes.List[tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String, \"weight\":tftypes.Number]], \"match\":tftypes.Object[\"exprs\":tftypes.List[tftypes.Object[\"op\":tftypes.String, \"set\":tftypes.List[tftypes.String], \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String], \"value\":tftypes.String]], \"filter_func\":tftypes.String, \"hosts\":tftypes.List[tftypes.String], \"methods\":tftypes.List[tftypes.String], \"paths\":tftypes.List[tftypes.String], \"remoteAddrs\":tftypes.List[tftypes.String]], \"name\":tftypes.String, \"plugin_config_name\":tftypes.String, \"plugin_config_namespace\":tftypes.String, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.Object[\"uri\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"frontdoor_url\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"prefer_name\":tftypes.Bool], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]], \"priority\":tftypes.Number, \"timeout\":tftypes.Object[\"connect\":tftypes.String, \"read\":tftypes.String, \"send\":tftypes.String], \"upstreams\":tftypes.List[tftypes.Object[\"name\":tftypes.String, \"weight\":tftypes.Number]], \"websocket\":tftypes.Bool]<\"authentication\":tftypes.Object[\"enable\":tftypes.Bool, \"jwtAuth\":tftypes.Object[\"cookie\":tftypes.String, \"header\":tftypes.String, \"query\":tftypes.String], \"keyAuth\":tftypes.Object[\"header\":tftypes.String], \"ldapAuth\":tftypes.Object[\"base_dn\":tftypes.String, \"ldap_uri\":tftypes.String, \"uid\":tftypes.String, \"use_tls\":tftypes.Bool], \"type\":tftypes.String]<null>, \"backends\":tftypes.List[tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String, \"weight\":tftypes.Number]]<null>, \"match\":tftypes.Object[\"exprs\":tftypes.List[tftypes.Object[\"op\":tftypes.String, \"set\":tftypes.List[tftypes.String], \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String], \"value\":tftypes.String]], \"filter_func\":tftypes.String, \"hosts\":tftypes.List[tftypes.String], \"methods\":tftypes.List[tftypes.String], \"paths\":tftypes.List[tftypes.String], \"remoteAddrs\":tftypes.List[tftypes.String]]<\"exprs\":tftypes.List[tftypes.Object[\"op\":tftypes.String, \"set\":tftypes.List[tftypes.String], \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String], \"value\":tftypes.String]]<tftypes.Object[\"op\":tftypes.String, \"set\":tftypes.List[tftypes.String], \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String], \"value\":tftypes.String]<\"op\":tftypes.String<\"RegexMatchCaseInsensitive\">, \"set\":tftypes.List[tftypes.String]<null>, \"subject\":tftypes.Object[\"name\":tftypes.String, \"scope\":tftypes.String]<\"name\":tftypes.String<\"X-Forwarded-Client-Cert\">, \"scope\":tftypes.String<\"Header\">>, \"value\":tftypes.String<\".*URI=spiffe://cluster.local/ns/mux/sa/.*\">>>, \"filter_func\":tftypes.String<null>, \"hosts\":tftypes.List[tftypes.String]<tftypes.String<\"fjord-health\">, tftypes.String<\"fjord-health.mux\">, tftypes.String<\"fjord-health.mux.svc\">, tftypes.String<\"fjord-health.mux.svc.local\">>, \"methods\":tftypes.List[tftypes.String]<null>, \"paths\":tftypes.List[tftypes.String]<tftypes.String<\"/*\">>, \"remoteAddrs\":tftypes.List[tftypes.String]<null>>, \"name\":tftypes.String<\"r1\">, \"plugin_config_name\":tftypes.String<null>, \"plugin_config_namespace\":tftypes.String<null>, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.Object[\"uri\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"frontdoor_url\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String], tftypes.Object[\"config\":tftypes.Object[\"prefer_name\":tftypes.Bool], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]]<tftypes.Object[\"config\":tftypes.Object[\"uri\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]<\"config\":tftypes.Object[\"uri\":tftypes.String]<\"uri\":tftypes.String<\"/health\">>, \"enable\":tftypes.Bool<\"true\">, \"name\":tftypes.String<\"proxy-rewrite\">, \"secretRef\":tftypes.String<null>>, tftypes.Object[\"config\":tftypes.Object[\"frontdoor_url\":tftypes.String], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]<\"config\":tftypes.Object[\"frontdoor_url\":tftypes.String]<\"frontdoor_url\":tftypes.String<\"frontdoor.apptio.com\">>, \"enable\":tftypes.Bool<\"true\">, \"name\":tftypes.String<\"cloudy-opentoken\">, \"secretRef\":tftypes.String<\"mux-keypair-frontdoor\">>, tftypes.Object[\"config\":tftypes.Object[\"prefer_name\":tftypes.Bool], \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]<\"config\":tftypes.Object[\"prefer_name\":tftypes.Bool]<\"prefer_name\":tftypes.Bool<\"true\">>, \"enable\":tftypes.Bool<\"true\">, \"name\":tftypes.String<\"prometheus\">, \"secretRef\":tftypes.String<null>>>, \"priority\":tftypes.Number<null>, \"timeout\":tftypes.Object[\"connect\":tftypes.String, \"read\":tftypes.String, \"send\":tftypes.String]<null>, \"upstreams\":tftypes.List[tftypes.Object[\"name\":tftypes.String, \"weight\":tftypes.Number]]<tftypes.Object[\"name\":tftypes.String, \"weight\":tftypes.Number]<\"name\":tftypes.String<\"cloudy-upstream-fjord\">, \"weight\":tftypes.Number<null>>>, \"websocket\":tftypes.Bool<null>>>, \"ingressClassName\":tftypes.String<null>, \"stream\":tftypes.Tuple[tftypes.Object[\"backend\":tftypes.Object[\"resolveGranularity\":tftypes.String, \"serviceName\":tftypes.String, \"servicePort\":tftypes.String, \"subset\":tftypes.String], \"match\":tftypes.Object[\"host\":tftypes.String, \"ingressPort\":tftypes.Number], \"name\":tftypes.String, \"plugins\":tftypes.Tuple[tftypes.Object[\"config\":tftypes.DynamicPseudoType, \"enable\":tftypes.Bool, \"name\":tftypes.String, \"secretRef\":tftypes.String]], \"protocol\":tftypes.String]]<null>>>"
2025-09-17T16:45:29.314-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Served request: @module=sdk.proto tf_resource_type=kubernetes_manifest tf_req_id=fb30e6b3-a320-c537-9480-ebc0d027ec03 tf_rpc=PlanResourceChange @caller=runtime/panic.go:792 tf_proto_version=5.9 tf_provider_addr=registry.terraform.io/hashicorp/kubernetes timestamp=2025-09-17T16:45:29.314-0400
...
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: panic: ElementKeyInt(0): can't use tftypes.Object["authentication":tftypes.Object["enable":tftypes.Bool, "jwtAuth":tftypes.Object["cookie":tftypes.String, "header":tftypes.String, "query":tftypes.String], "keyAuth":tftypes.Object["header":tftypes.String], "ldapAuth":tftypes.Object["base_dn":tftypes.String, "ldap_uri":tftypes.String, "uid":tftypes.String, "use_tls":tftypes.Bool], "type":tftypes.String], "backends":tftypes.List[tftypes.Object["resolveGranularity":tftypes.String, "serviceName":tftypes.String, "servicePort":tftypes.String, "subset":tftypes.String, "weight":tftypes.Number]], "match":tftypes.Object["exprs":tftypes.List[tftypes.Object["op":tftypes.String, "set":tftypes.List[tftypes.String], "subject":tftypes.Object["name":tftypes.String, "scope":tftypes.String], "value":tftypes.String]], "filter_func":tftypes.String, "hosts":tftypes.List[tftypes.String], "methods":tftypes.List[tftypes.String], "paths":tftypes.List[tftypes.String], "remoteAddrs":tftypes.List[tftypes.String]], "name":tftypes.String, "plugin_config_name":tftypes.String, "plugin_config_namespace":tftypes.String, "plugins":tftypes.Tuple[tftypes.Object["config":tftypes.Object["uri":tftypes.String], "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String], tftypes.Object["config":tftypes.Object["frontdoor_url":tftypes.String], "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String], tftypes.Object["config":tftypes.Object["prefer_name":tftypes.Bool], "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String]], "priority":tftypes.Number, "timeout":tftypes.Object["connect":tftypes.String, "read":tftypes.String, "send":tftypes.String], "upstreams":tftypes.List[tftypes.Object["name":tftypes.String, "weight":tftypes.Number]], "websocket":tftypes.Bool] as tftypes.Object["authentication":tftypes.Object["enable":tftypes.Bool, "jwtAuth":tftypes.Object["cookie":tftypes.String, "header":tftypes.String, "query":tftypes.String], "keyAuth":tftypes.Object["header":tftypes.String], "ldapAuth":tftypes.Object["base_dn":tftypes.String, "ldap_uri":tftypes.String, "uid":tftypes.String, "use_tls":tftypes.Bool], "type":tftypes.String], "backends":tftypes.List[tftypes.Object["resolveGranularity":tftypes.String, "serviceName":tftypes.String, "servicePort":tftypes.String, "subset":tftypes.String, "weight":tftypes.Number]], "match":tftypes.Object["exprs":tftypes.List[tftypes.Object["op":tftypes.String, "set":tftypes.List[tftypes.String], "subject":tftypes.Object["name":tftypes.String, "scope":tftypes.String], "value":tftypes.String]], "filter_func":tftypes.String, "hosts":tftypes.List[tftypes.String], "methods":tftypes.List[tftypes.String], "paths":tftypes.List[tftypes.String], "remoteAddrs":tftypes.List[tftypes.String]], "name":tftypes.String, "plugin_config_name":tftypes.String, "plugin_config_namespace":tftypes.String, "plugins":tftypes.Tuple[tftypes.Object["config":tftypes.DynamicPseudoType, "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String]], "priority":tftypes.Number, "timeout":tftypes.Object["connect":tftypes.String, "read":tftypes.String, "send":tftypes.String], "upstreams":tftypes.List[tftypes.Object["name":tftypes.String, "weight":tftypes.Number]], "websocket":tftypes.Bool]
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: goroutine 259 [running]:
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-plugin-go/tftypes.NewValue(...)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/[email protected]/tftypes/value.go:278
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.DeepUnknown({0x3971418, 0xc006913590}, {{0x3971418?, 0xc007ea34d0?}, {0x34c5920?, 0xc0066b5158?}}, 0xc0066b5338)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/scaffold.go:86 +0x1b11
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.DeepUnknown({0x3970dc0, 0xc0070eaed0}, {{0x3970dc0?, 0xc007ea3b90?}, {0x3674a80?, 0xc007db8de0?}}, 0xc0066b5308)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/scaffold.go:33 +0x1e65
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.DeepUnknown({0x3970dc0, 0xc007db82d0}, {{0x3970dc0?, 0xc007eb8510?}, {0x3674a80?, 0xc007db85d0?}}, 0xc0066b52d8)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/scaffold.go:33 +0x1e65
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-provider-kubernetes/manifest/provider.(*RawProviderServer).PlanResourceChange(0xc000888000, {0x3967ce8, 0xc00b2d8ed0}, 0xc00b2a66c0)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/terraform-provider-kubernetes/manifest/provider/plan.go:395 +0x36c5
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-plugin-mux/tf5muxserver.(*muxServer).PlanResourceChange(0xc00006ea00, {0x3967ce8?, 0xc00b2d8c00?}, 0xc00b2a66c0)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/[email protected]/tf5muxserver/mux_server_PlanResourceChange.go:73 +0x2a2
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).PlanResourceChange(0xc000284640, {0x3967ce8?, 0xc00b2d83c0?}, 0xc004105200)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:949 +0x3d9
2025-09-17T16:45:29.318-0400 [TRACE] vertex "kubernetes_manifest.ingress_gateway_manifests[\"Deployment-mux-ingressgateway-dep\"]": visit complete
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_PlanResourceChange_Handler({0x38ce560, 0xc000284640}, {0x3967ce8, 0xc00b2d83c0}, 0xc004105180, 0x0)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:669 +0x1a6
2025-09-17T16:45:29.318-0400 [TRACE] vertex "root": starting visit (terraform.graphNodeRoot)
2025-09-17T16:45:29.318-0400 [TRACE] vertex "root": does not belong to any module instance
2025-09-17T16:45:29.318-0400 [TRACE] vertex "root": visit complete
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: google.golang.org/grpc.(*Server).processUnaryRPC(0xc000f2e000, {0x3967ce8, 0xc00b2d8330}, 0xc00b2a64e0, 0xc000f2c8a0, 0x4b1b2b0, 0x0)
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	google.golang.org/[email protected]/server.go:1405 +0x1036
2025-09-17T16:45:29.318-0400 [TRACE] vertex "kubernetes_manifest.ingress_gateway_manifests (expand)": dynamic subgraph completed successfully
2025-09-17T16:45:29.319-0400 [TRACE] vertex "kubernetes_manifest.ingress_gateway_manifests (expand)": visit complete
2025-09-17T16:45:29.318-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: google.golang.org/grpc.(*Server).handleStream(0xc000f2e000, {0x3968330, 0xc000938ea0}, 0xc00b2a64e0)
2025-09-17T16:45:29.319-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	google.golang.org/[email protected]/server.go:1815 +0xb88
2025-09-17T16:45:29.319-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: google.golang.org/grpc.(*Server).serveStreams.func2.1()
2025-09-17T16:45:29.319-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	google.golang.org/[email protected]/server.go:1035 +0x7f
2025-09-17T16:45:29.319-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 29
2025-09-17T16:45:29.319-0400 [DEBUG] provider.terraform-provider-kubernetes_v2.38.0_x5: 	google.golang.org/[email protected]/server.go:1046 +0x11d
2025-09-17T16:45:29.325-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Received request: @module=sdk.proto tf_req_id=e6a0bc2c-034f-e14f-3737-d4a2c8c09e53 @caller=github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:1078 tf_proto_version=5.9 tf_provider_addr=registry.terraform.io/hashicorp/kubernetes tf_rpc=CallFunction timestamp=2025-09-17T16:45:29.325-0400
2025-09-17T16:45:29.325-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Sending request downstream: tf_provider_addr=registry.terraform.io/hashicorp/kubernetes tf_rpc=CallFunction @module=sdk.proto @caller=github.com/hashicorp/[email protected]/tfprotov5/internal/tf5serverlogging/downstream_request.go:22 tf_proto_version=5.9 tf_req_id=e6a0bc2c-034f-e14f-3737-d4a2c8c09e53 timestamp=2025-09-17T16:45:29.325-0400
2025-09-17T16:45:29.325-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: calling downstream server: tf_mux_provider="*proto5server.Server" tf_rpc=CallFunction @caller=github.com/hashicorp/[email protected]/internal/logging/mux.go:19 @module=sdk.mux timestamp=2025-09-17T16:45:29.325-0400
2025-09-17T16:45:29.325-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Checking FunctionTypes lock: tf_rpc=CallFunction @caller=github.com/hashicorp/[email protected]/internal/fwserver/server_functions.go:124 tf_req_id=e6a0bc2c-034f-e14f-3737-d4a2c8c09e53 @module=sdk.framework tf_mux_provider="*proto5server.Server" tf_provider_addr=registry.terraform.io/hashicorp/kubernetes timestamp=2025-09-17T16:45:29.325-0400
2025-09-17T16:45:29.325-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Checking FunctionTypes lock: tf_rpc=CallFunction tf_mux_provider="*proto5server.Server" tf_provider_addr=registry.terraform.io/hashicorp/kubernetes @caller=github.com/hashicorp/[email protected]/internal/fwserver/server_functions.go:124 @module=sdk.framework tf_req_id=e6a0bc2c-034f-e14f-3737-d4a2c8c09e53 timestamp=2025-09-17T16:45:29.325-0400
2025-09-17T16:45:29.325-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Calling provider defined Function Definition method: tf_function_name=manifest_decode_multi tf_req_id=e6a0bc2c-034f-e14f-3737-d4a2c8c09e53 tf_mux_provider="*proto5server.Server" tf_provider_addr=registry.terraform.io/hashicorp/kubernetes tf_rpc=CallFunction @caller=github.com/hashicorp/[email protected]/internal/fwserver/server_functions.go:53 @module=sdk.framework timestamp=2025-09-17T16:45:29.325-0400
2025-09-17T16:45:29.325-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Called provider defined Function Definition method: tf_function_name=manifest_decode_multi tf_provider_addr=registry.terraform.io/hashicorp/kubernetes tf_req_id=e6a0bc2c-034f-e14f-3737-d4a2c8c09e53 tf_rpc=CallFunction @caller=github.com/hashicorp/[email protected]/internal/fwserver/server_functions.go:55 @module=sdk.framework tf_mux_provider="*proto5server.Server" timestamp=2025-09-17T16:45:29.325-0400
2025-09-17T16:45:29.326-0400 [TRACE] provider.terraform-provider-kubernetes_v2.38.0_x5: Calling provider defined Function Run: @module=sdk.framework tf_provider_addr=registry.terraform.io/hashicorp/kubernetes tf_req_id=e6a0bc2c-034f-e14f-3737-d4a2c8c09e53 tf_rpc=CallFunction @caller=github.com/hashicorp/[email protected]/internal/fwserver/server_callfunction.go:49 tf_mux_provider="*proto5server.Server" timestamp=2025-09-17T16:45:29.326-0400
2025-09-17T16:45:29.327-0400 [TRACE] vertex "local.apisix_yaml_docs": visit complete
2025-09-17T16:45:29.327-0400 [TRACE] vertex "root": starting visit (terraform.graphNodeRoot)
2025-09-17T16:45:29.327-0400 [TRACE] vertex "root": does not belong to any module instance
2025-09-17T16:45:29.327-0400 [TRACE] vertex "root": visit complete
2025-09-17T16:45:29.327-0400 [TRACE] vertex "local.apisix_yaml_docs (expand)": dynamic subgraph completed successfully
2025-09-17T16:45:29.327-0400 [TRACE] vertex "local.apisix_yaml_docs (expand)": visit complete
2025-09-17T16:45:29.327-0400 [TRACE] vertex "data.dataprocessor_yq.apply_runasuser_to_apisix_manifests (expand)": starting visit (*terraform.nodeExpandPlannableResource)
2025-09-17T16:45:29.327-0400 [TRACE] vertex "data.dataprocessor_yq.apply_runasuser_to_apisix_manifests (expand)": does not belong to any module instance
2025-09-17T16:45:29.327-0400 [TRACE] vertex "data.dataprocessor_yq.apply_runasuser_to_apisix_manifests (expand)": expanding dynamic subgraph
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/hashicorp/local" is in the global cache
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/hashicorp/random" is in the global cache
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/hashicorp/helm" is in the global cache
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/terraform-redhat/rhcs" is in the global cache
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/slok/dataprocessor" is in the global cache
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/hashicorp/kubernetes" is in the global cache
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/hashicorp/null" is in the global cache
2025-09-17T16:45:29.327-0400 [TRACE] terraform.contextPlugins: Schema for provider "registry.terraform.io/hashicorp/http" is in the global cache
2025-09-17T16:45:29.337-0400 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2025-09-17T16:45:29.337-0400 [ERROR] provider: plugin process exited: plugin=.terraform/providers/registry.terraform.io/hashicorp/kubernetes/2.38.0/darwin_amd64/terraform-provider-kubernetes_v2.38.0_x5 id=75270 error="exit status 2"
2025-09-17T16:45:29.337-0400 [ERROR] plugin.(*GRPCProvider).PlanResourceChange: error="rpc error: code = Unavailable desc = error reading from server: EOF"
2025-09-17T16:45:29.337-0400 [ERROR] plugin.(*GRPCProvider).ValidateResourceConfig: error="rpc error: code = Unavailable desc = error reading from server: EOF"
2025-09-17T16:45:29.337-0400 [ERROR] plugin.(*GRPCProvider).PlanResourceChange: error="rpc error: code = Unavailable desc = error reading from server: EOF"
2025-09-17T16:45:29.337-0400 [ERROR] plugin.(*GRPCProvider).PlanResourceChange: error="rpc error: code = Unavailable desc = error reading from server: EOF"
2025-09-17T16:45:29.337-0400 [ERROR] plugin.(*GRPCProvider).PlanResourceChange: error="rpc error: code = Unavailable desc = error reading from server: EOF"

Panic Output

Stack trace from the terraform-provider-kubernetes_v2.38.0_x5 plugin:

panic: ElementKeyInt(0): can't use tftypes.Object["authentication":tftypes.Object["enable":tftypes.Bool, "jwtAuth":tftypes.Object["cookie":tftypes.String, "header":tftypes.String, "query":tftypes.String], "keyAuth":tftypes.Object["header":tftypes.String], "ldapAuth":tftypes.Object["base_dn":tftypes.String, "ldap_uri":tftypes.String, "uid":tftypes.String, "use_tls":tftypes.Bool], "type":tftypes.String], "backends":tftypes.List[tftypes.Object["resolveGranularity":tftypes.String, "serviceName":tftypes.String, "servicePort":tftypes.String, "subset":tftypes.String, "weight":tftypes.Number]], "match":tftypes.Object["exprs":tftypes.List[tftypes.Object["op":tftypes.String, "set":tftypes.List[tftypes.String], "subject":tftypes.Object["name":tftypes.String, "scope":tftypes.String], "value":tftypes.String]], "filter_func":tftypes.String, "hosts":tftypes.List[tftypes.String], "methods":tftypes.List[tftypes.String], "paths":tftypes.List[tftypes.String], "remoteAddrs":tftypes.List[tftypes.String]], "name":tftypes.String, "plugin_config_name":tftypes.String, "plugin_config_namespace":tftypes.String, "plugins":tftypes.Tuple[tftypes.Object["config":tftypes.Object["uri":tftypes.String], "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String], tftypes.Object["config":tftypes.Object["frontdoor_url":tftypes.String], "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String], tftypes.Object["config":tftypes.Object["prefer_name":tftypes.Bool], "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String]], "priority":tftypes.Number, "timeout":tftypes.Object["connect":tftypes.String, "read":tftypes.String, "send":tftypes.String], "upstreams":tftypes.List[tftypes.Object["name":tftypes.String, "weight":tftypes.Number]], "websocket":tftypes.Bool] as tftypes.Object["authentication":tftypes.Object["enable":tftypes.Bool, "jwtAuth":tftypes.Object["cookie":tftypes.String, "header":tftypes.String, "query":tftypes.String], "keyAuth":tftypes.Object["header":tftypes.String], "ldapAuth":tftypes.Object["base_dn":tftypes.String, "ldap_uri":tftypes.String, "uid":tftypes.String, "use_tls":tftypes.Bool], "type":tftypes.String], "backends":tftypes.List[tftypes.Object["resolveGranularity":tftypes.String, "serviceName":tftypes.String, "servicePort":tftypes.String, "subset":tftypes.String, "weight":tftypes.Number]], "match":tftypes.Object["exprs":tftypes.List[tftypes.Object["op":tftypes.String, "set":tftypes.List[tftypes.String], "subject":tftypes.Object["name":tftypes.String, "scope":tftypes.String], "value":tftypes.String]], "filter_func":tftypes.String, "hosts":tftypes.List[tftypes.String], "methods":tftypes.List[tftypes.String], "paths":tftypes.List[tftypes.String], "remoteAddrs":tftypes.List[tftypes.String]], "name":tftypes.String, "plugin_config_name":tftypes.String, "plugin_config_namespace":tftypes.String, "plugins":tftypes.Tuple[tftypes.Object["config":tftypes.DynamicPseudoType, "enable":tftypes.Bool, "name":tftypes.String, "secretRef":tftypes.String]], "priority":tftypes.Number, "timeout":tftypes.Object["connect":tftypes.String, "read":tftypes.String, "send":tftypes.String], "upstreams":tftypes.List[tftypes.Object["name":tftypes.String, "weight":tftypes.Number]], "websocket":tftypes.Bool]

goroutine 62 [running]:
github.com/hashicorp/terraform-plugin-go/tftypes.NewValue(...)
	github.com/hashicorp/[email protected]/tftypes/value.go:278
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.DeepUnknown({0x9899418, 0xc008a5b590}, {{0x9899418?, 0xc009d50de0?}, {0x93ed920?, 0xc00c004bb8?}}, 0xc00c004e88)
	github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/scaffold.go:86 +0x1b11
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.DeepUnknown({0x9898dc0, 0xc008ff6cf0}, {{0x9898dc0?, 0xc009d514a0?}, {0x959ca80?, 0xc009d32720?}}, 0xc00c004e40)
	github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/scaffold.go:33 +0x1e65
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.DeepUnknown({0x9898dc0, 0xc009aa7b30}, {{0x9898dc0?, 0xc009d51d10?}, {0x959ca80?, 0xc009aa7e90?}}, 0xc00c004c78)
	github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/scaffold.go:33 +0x1e65
github.com/hashicorp/terraform-provider-kubernetes/manifest/provider.(*RawProviderServer).PlanResourceChange(0xc0004fad00, {0x988fce8, 0xc00ab4a2d0}, 0xc0014a9bc0)
	github.com/hashicorp/terraform-provider-kubernetes/manifest/provider/plan.go:395 +0x36c5
github.com/hashicorp/terraform-plugin-mux/tf5muxserver.(*muxServer).PlanResourceChange(0xc000306780, {0x988fce8?, 0xc00ab4a000?}, 0xc0014a9bc0)
	github.com/hashicorp/[email protected]/tf5muxserver/mux_server_PlanResourceChange.go:73 +0x2a2
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).PlanResourceChange(0xc00059e640, {0x988fce8?, 0xc00ab45740?}, 0xc0072baa80)
	github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:949 +0x3d9
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_PlanResourceChange_Handler({0x97f6560, 0xc00059e640}, {0x988fce8, 0xc00ab45740}, 0xc0072baa00, 0x0)
	github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:669 +0x1a6
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000d42000, {0x988fce8, 0xc00ab456b0}, 0xc0014a99e0, 0xc000b9fe30, 0xaa432b0, 0x0)
	google.golang.org/[email protected]/server.go:1405 +0x1036
google.golang.org/grpc.(*Server).handleStream(0xc000d42000, {0x9890330, 0xc0006129c0}, 0xc0014a99e0)
	google.golang.org/[email protected]/server.go:1815 +0xb88
google.golang.org/grpc.(*Server).serveStreams.func2.1()
	google.golang.org/[email protected]/server.go:1035 +0x7f
created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 47
	google.golang.org/[email protected]/server.go:1046 +0x11d

Error: The terraform-provider-kubernetes_v2.38.0_x5 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Steps to Reproduce

Run terraform plan on the configuration above.

Expected Behavior

The Kubernetes manifest configuration above should successfully apply to the namespace.

Actual Behavior

panic occurred. From the stack trace, it appears that the issue arises with the nested config object under the spec.http[0].plugins list. Terraform Kubernetes Provider expects a DynamicPseudoType for this object, which, from my understanding, is a representation of an untyped object that can be dynamically defined at runtime. In this case, we defined config with some plugin-specific configuration strings, which gets translated to tftypes.Object. Based on the stack trace, this does not appear to be compatible with DynamicPseudoType even though that type is supposed to be sort of a "catch-all" type.

Important Factoids

References

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions