我目前正在建立一个项目,我的Terraform状态被分成多个远程状态(核心,数据库,vpc等),所有这些都被环境分割。我将这些全部存储在infrastructure
git仓库中,我的所有服务和基础架构的所有terraform状态都被管理。这包括核心构建块,以及特定服务所需的单独状态。
我的问题是:我可以从那些远程状态(核心,数据库等)访问变量而无需git-check出创建这些状态的项目吗?即。从命令行?
这是一个示例结构。
git repos:
因此,如果我在我的service_1
项目中编写胶水脚本,并且需要访问database
远程状态(由infrastructure
项目中的terraform创建的东西,我可以访问吗?那些数据没有git-check-out infrastructure
项目,运行terraform init
等?
编辑:根据评论更新更具体的用例
目前,我使用Terraform在core
模块中设置一些基本的基础设施,该模块具有自己的远程状态。这将设置Internet网关,VPC,NAT网关,子网等。然后我将这些存储为状态中的输出。
核心启动后,我使用kops
来设置Kubernetes集群。要设置群集,我需要VPC ID,Internet网关,可用区等,这就是我想在Terraform输出中访问它们的原因