terraform 有没有办法依赖另一个 terraform git repo?

Is there a way with terraform to depend on another terraform git repo?

我有 2 个项目(git 回购)。他们每个人都有自己的地形文件和状态。

现在我希望这 2 个项目依赖于 1 个数据库。

我想用 terraform 文件创建一个公共存储库来创建该数据库并使我的 2 个初始项目依赖于它。

我知道使用 monorepo 和 terragrunt 我可以做类似的事情:

dependency "vpc" {
  config_path = "../vpc"
}

但是有没有办法用多个 git 回购(没有单回购)来做到这一点。

估计做不出来,估计是多状态有问题

是的,你可以做的是使用公共地形的状态。确保在公共地形上输出数据库 ID 或其他内容,以便您可以引用它。
然后在您的子存储库中使用 terraform_remote_state 数据源。

更多信息在这里:https://www.terraform.io/docs/language/state/remote-state-data.html