Updating Terraform Modules attached to an Environment

If you haven't yet attached a Terraform module to an environment, you can do this by following the steps in this article.

Bunnyshell manages Terraform modules and attachments in different ways. While Terraform Modules are automatically updated with every push command performed in your Git repository, attachments are synced in a different manner to protect your environments from changes that might damage them.

How to Auto-sync your Terraform Attachments

Terraform attachments are not automatically updated every time you perform a push command in your Git repository. This is because some of the changes brought may invalidate the module and may have unwanted effects on your environments.

It is recommended to sync your attached Terraform modules manually.

  • Select the environment where the module is attached.

  • Select Terraform modules.

  • Click the Options button corresponding to your module and select Sync.

Nevertheless, Bunnyshell implemented an Auto-sync feature that allows you to automatically implement only those updates that do not invalidate the Terraform module.

Updates that lead to the module being invalidated will not be performed on the attachment even if Auto-sync is ON.

You can activate the auto-sync feature when you attach the module to an environment. Simply set the Auto-sync switch to ON when selecting the module you want to attach.

Alternatively, you can activate the auto-sync feature by following these steps:

  • Select the environment where the module is attached.

  • On the left side of the main interface, select Terraform modules.

  • The modules attached to that particular environment are now displayed. Set the switch under Auto-sync to ON.

Sync Status

You can check if an attached Terraform module is synced by following these steps:

1. Select the environment where the module is attached.

2. On the left side of the main interface, select Terraform modules.

3. The modules attached to that particular environment are now displayed. Under Sync status you will see if the module is up-to-date or not.

Terraform attachments can be either Synced or Out of Sync.

Terraform Module Status

Depending on what action you performed, you can see one of the following values in the Status column of the Terraform module:

  • Ready: the module is attached and functional but the environment hasn't been deployed.

  • Applied: the module is attached and functional and the environment has been deployed at least once. An update to the module will change its status from Applied to Ready.

  • Syncing: this status indicates that a push command has been performed in your Git repository and Bunnyshell is currently updating your module.

  • Applying: this status indicates that the environment is currently being deployed and the Terraform module is applied.

  • Deleting: indicates that user chose to Detach the Terraform module from the environment. The user can choose to keep or delete the resources created by the Terraform.

  • Delete failed: indicated when the module could not be detached.

  • Git connection failed: indicated when the module's connection with the Git repo fails. Possible causes can be an expired token or the repo being unreachable because of various reasons.

Last updated

Was this helpful?