Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow static infrastructure and compute nodes to be in different Terraform workspaces #321

Open
cmd-ntrf opened this issue Aug 28, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@cmd-ntrf
Copy link
Member

Currently, all resources of a single cluster have to be declared in the same workspace with a single module.

This morning, we encounter an issue with a cluster where the auto-apply configuration in Terraform cloud almost replaced all the instances because of a change in Azure provider default value. The change was fortunately prevented by a dependency issue, but nevertheless we were lucky.

For long standing environment, putting the short-live compute instances in a separate workspace would prevent this issue. It would potentially also be more secured if we were to create a token for the compute instance workspace only.

To be able to do this, we need to need the Terraform main module to be able to output:

  • Puppet server ip address
  • password to join the Puppet server
  • bastions' ip address
  • tf user private ssh key
  • network related resource ids (security group, network, subnetwork, ...)

The output of the management infrastructure workspace could connected to the compute infrastructure workspace using terraform_remote_state, see https://developer.hashicorp.com/terraform/tutorials/cloud/cloud-run-triggers

@cmd-ntrf cmd-ntrf added the enhancement New feature or request label Aug 28, 2024
@cmd-ntrf cmd-ntrf self-assigned this Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant