hashicorp / terraform-provider-kubernetes

Terraform Kubernetes provider

Home Page:https://www.terraform.io/docs/providers/kubernetes/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crash when set multi env config in manifest

nnsay opened this issue · comments

Terraform Version, Provider Version and Kubernetes Version

Terraform version: v1.5.7
Kubernetes provider version: v2.30.0
Kubernetes version: v1.29.2

Affected Resource(s)

  • kubernetes_manifest
  • knative serving

Terraform Configuration Files

terraform {
  backend "local" {}
  required_providers {
    kubernetes = {
      source  = "hashicorp/kubernetes"
      version = "2.30.0"
    }
  }
}

provider "kubernetes" {
  config_path = "~/.kube/config"
}


resource "kubernetes_manifest" "demo_service" {
  manifest = {
    "apiVersion" = "serving.knative.dev/v1"
    "kind"       = "Service"
    "metadata" = {
      "labels" = {
        "networking.knative.dev/visibility" = "cluster-local"
      }
      "name"      = "busybox-service"
      "namespace" = "default"
    }
    "spec" = {
      "template" = {
        "metadata" = {
          "annotations" = {
            "autoscaling.knative.dev/target" = "10"
          }
          "labels" = {
            "app" = "busybox-service"
          }
        }
        "spec" = {
          "containerConcurrency" = 10
          "containers" = [
            {
              "env" = [
                {
                  "name" = "WEATHERFILE_S3"
                  "valueFrom" = {
                    "secretKeyRef" = {
                      "key"  = "WEATHER_FILES_S3"
                      "name" = "bucket-name"
                    }
                  }
                },
                {
                  "name" = "PROJECT_REPORT_S3"
                  "valueFrom" = {
                    "secretKeyRef" = {
                      "key"  = "PROJECT_REPORT_DATA_S3"
                      "name" = "bucket-name"
                    }
                  }
                }
              ]
              "image" = "busybox:latest"
              "name"  = "busybox"
              "ports" = [
                {
                  "containerPort" = 3000
                }
              ]
              "readinessProbe" = {
                "httpGet" = {
                  "path" = "/health"
                  "port" = 3000
                }
                "initialDelaySeconds" = 3
              }
            }
          ]
        }
      }
    }
  }
}

Debug Output

https://gist.github.com/nnsay/56673a736926f51960e0d0f537798a34

Panic Output

https://gist.github.com/nnsay/6cb8f990444703b1709547be0fea9d6f

Steps to Reproduce

terraform plan

Expected Behavior

output the new resource should be created

Actual Behavior

error and crash

Important Factoids

if only set the one env item, the plan command is ok.

References

no

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

I got the same crash and error, when also using kubernetes_manifest resource.
The crash is also happening on version 2.31.0

The temporary solution that worked for me, it was downgrading to 2.29.