【问题标题】:How to reference another stack for file:// backend如何为 file:// 后端引用另一个堆栈
【发布时间】:2022-11-11 17:21:22
【问题描述】:

我的目标是将我的 iac 资源组织在熟悉的层(pulumi 微堆栈)中,如网络、数据库、应用程序等。例如,我有两个使用 file:// 后端(pulumi login file://.)在兄弟文件夹中创建的 pulumi 项目

someroot/iac1
someroot/iac2

我希望 iac2 到 StackReference iac1 的导出值。

在 iac2 代码中,我尝试了不同的组合来引用 iac1。

let iac1 = new pulumi.StackReference("iac1");
let iac1 = new pulumi.StackReference("iac1/dev");
let iac1 = new pulumi.StackReference("../iac1/dev");
let iac1 = new pulumi.StackReference("iac1-dev");

错误:

  pulumi:pulumi:StackReference (../iac1/dev):
    error: unknown stack "../iac1/dev"

我想我错过了一些简单的东西。我也尝试过嵌套文件夹。

谢谢。

【问题讨论】:

    标签: typescript pulumi


    【解决方案1】:

    StackReference 需要指向堆栈而不是项目。 因此,如果您执行以下操作:

    pulumi stack init network-dev
    pulumi up
    
    pulumi stack init db-dev
    pulumi up
    

    然后在另一个项目中,您可以创建堆栈引用,例如:

    let networkStack = new pulumi.StackReference("network-dev")
    let dbStack = new pulumi.StackReference("db-dev")
    

    最佳实践实际上是以编程方式获取当前堆栈(请参阅https://www.pulumi.com/docs/intro/concepts/stack/#getting-the-current-stack-programmatically)并使用它来构造其他堆栈的名称。 这个想法是你可能有一个“network-dev”、“network-staging”、“db-dev”、“db-staging”等。

    【讨论】:

      猜你喜欢
      • 2019-08-08
      • 2013-12-26
      • 2022-10-17
      • 2016-06-24
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多