gogoogle-cloud-platformterraformgoogle-kubernetes-engineterraform-cdk

How to create CDKTF script in golang for creating Kubernetes Namespaces


I have Terraform script for creating Kubernetes namespaces, but can not find the import statement for package in golang which would do the same job in CKDTF for go lang.

resource "kubernetes_namespace" "stage-namespace-1" {
  depends_on = [google_container_cluster.primary]
  metadata {
    annotations = {
      name = "example-annotation"
    }

    labels = {
      mylabel = "label-value"
    }

    name = "stage-namespace-1"
  }
}

I am using this package for creating other resources

// main.go
package main

import (
    ...
    "github.com/cdktf/cdktf-provider-google-go/google/v5/computeinstance"
    "github.com/cdktf/cdktf-provider-google-go/google/v5/computenetwork"
    "github.com/cdktf/cdktf-provider-google-go/google/v5/computesubnetwork"
    "github.com/cdktf/cdktf-provider-google-go/google/v5/containercluster"
    "github.com/cdktf/cdktf-provider-google-go/google/v5/provider"
    ...
)

Solution

  • You need to install the pre-built kubernetes provider: https://github.com/cdktf/cdktf-provider-kubernetes-go. You can do this by running cdktf provider add kubernetes.

    In import statement it can be used on this way

    import (
    ...
    kubernetesprovider "github.com/cdktf/cdktf-provider-kubernetes-go/kubernetes/v5/provider"
    ....
    )
    

    kubernetesprovider is used as alias to avoid conflicts with google or aws provider