简体   繁体   English

terraform CDK中如何添加helm chart与kube.netes资源的依赖

[英]How to add dependency between helm chart and kubernetes resource in terraform CDK

I'm installing a helm chart which creates a CRD and then I want to instantiate the CRD defined in the helm chart.我正在安装一个创建 CRD 的 helm chart,然后我想实例化 helm chart 中定义的 CRD。 What's the correct way to declare a dependency between them so that terraform doesn't try to create the CRD until after the helm chart has finished installing?声明它们之间的依赖关系的正确方法是什么,以便 terraform 在 helm 图表完成安装之前不会尝试创建 CRD?

    new helm.Release(this, "doppler-kubernetes-operator-helm-chart", {
      chart: "doppler-kubernetes-operator",
      name: "doppler",
      repository: "https://helm.doppler.com",
      version: "1.2.0"
    })

    const dopplerOperatingSystemNamespace = "doppler-operator-system";

    // create a secret referenced by the CRD
    const dopplerApiServerProjectServiceTokenSecret = new kubernetes.Secret(this, "doppler-api-server-project-service-token", {
      metadata: {
        name: "doppler-api-server-project-service-token",
        namespace: dopplerOperatingSystemNamespace
      },
      data: {
        "serviceToken": "<some secret>"
      }
    })

    // Create the CRD <------------- how do I get this to depend on the helm chart?
    new kubernetes.Manifest(this, "doppler-kubernetes-operator", {
      manifest: {
        apiVersion: "secrets.doppler.com/v1alpha1",
        kind: "DopplerSecret",
        metadata: {
          name: "doppler-secret-default",
          namespace: dopplerOperatingSystemNamespace,
        },
        spec: {
          tokenSecret: {
            name: dopplerApiServerProjectServiceTokenSecret.metadata.name
          },
          managedSecret: {
            name: "doppler-api-server-managed-secret",
            namespace: "default"
          }
        }
      }
    })

In this case I would like to only attempt creating doppler-kube.netes-operator after the helm chart has finished installing.在这种情况下,我只想在 helm chart 安装完成后尝试创建doppler-kube.netes-operator

Turns out I'm an idiot.原来我是个白痴。 I was looking for dependsOn (which I use with AWS classes) and Intellij wasn't autocompleting it for the kube.netes Manifest but I guess my cursor was in the wrong position...我一直在寻找dependsOn (我在 AWS 类中使用它)并且 Intellij 没有为 kube.netes Manifest 自动完成它,但我猜我的 cursor 是错误的 position ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM