Using Remote State
Fogg manages remote state data sources for all workspaces in a repository.
Given the following fogg.yml snippet, the webserver workspace can refer to outputs of the database and main_accounts workspace (see the fogg docs homepage for more detail on these relationships)
…
accounts:
main_account: {}
envs:
development:
components:
webserver: {}
database: {}
…
Often enough, our web service is dependent on some values from our database service!
If the database workspace defines some useful outputs in outputs.tf:
output database_uri {
value = aws_rds_cluster.db.endpoint
}
Terraform code in the webserver workspace can refer to it and use it directly in resource definitions or module invocations:
module my_web_service {
source = "../../../modules/webserver"
database_uri = data.terraform_remote_state.database.outputs.database_uri
}