Error: an empty namespace may not be set during creation

442 views Asked by At

I have a namespace already available in a k8s cluster. However, it is empty. Next, I am trying to create k8s configmap, deployment, service, and secrets in it using k8s provider terraform.

However, it is giving error as below for every object.

stdout | 11/23/2022, 5:31:06 PM | Checking state lock stdout | 11/23/2022, 5:31:06 PM | $ terraform apply -input=false -no-color tfplan stdout | 11/23/2022, 5:31:06 PM | [OUTPUT] stdout | 11/23/2022, 5:31:07 PM | Acquiring state lock. This may take a few moments... stdout | 11/23/2022, 5:31:09 PM | module.service.kubernetes_service.test_nginx: Creating... stdout | 11/23/2022, 5:31:09 PM | module.configmap.kubernetes_config_map.nginx_translations_resourcebundle: Creating... stdout | 11/23/2022, 5:31:09 PM | module.configmap.kubernetes_config_map.nginx_config: Creating... stdout | 11/23/2022, 5:31:10 PM | module.deployment.kubernetes_deployment.test_nginx: Creating... stderr | 11/23/2022, 5:31:10 PM |
stderr | 11/23/2022, 5:31:10 PM | Error: an empty namespace may not be set during creation on configmap/configmap.tf line 7, in resource "kubernetes_config_map" "config": 7: resource "kubernetes_config_map" "nginx_ext_config" {

This is the tf file for configmap.

locals {
  directory_external_config = "./configmap/config"
}

resource "kubernetes_config_map" "config" {
  metadata {
    name      = "test-nginx"
    namespace = var.TEST_NAMESPACE
  }

  data = {
    for f in fileset(local.directory_external_config, "*") :
    f => file(join("/", [local.directory_external_config, f]))
  }
}

Here, I am passing the namespace from a terraform variable (namespace = var.TEST_NAMESPACE).

Please guide me on what I am missing.

0

There are 0 answers