Skip to main content
Tensor9 BYOC is designed to integrate with your preferred automation tools (Atlantis, Spacelift, etc.) for deployment.

1. Deployment configuration:

  • Tensor9 BYOC preserves any backend configuration you include in your origin stack. You are responsible for managing Terraform state according to your deployment requirements.
  • You should give each appliance its own backend state file location. Terraform backend blocks cannot interpolate variables, so pass the state path through your deployment tool’s configuration and keep it stable across deployment runs for a given appliance.

2. Execution (example: Atlantis):

  • Your CI/CD tool (e.g., Atlantis) fetches the Compiled Stack from Tensor9 BYOC.
  • It executes the standard Terraform commands:
    • tofu init
    • tofu plan (for review)
    • tofu apply (upon approval)
  • Best Practice: Maintain a separate Git repository for the compiled stacks to keep your source code history clean.

Integration with Atlantis

Atlantis is an open-source tool that automates Terraform via pull requests (PRs).

Integration with Spacelift

Spacelift is a complete CI/CD platform for Infrastructure as Code, using Stacks for deployment. Note: Regardless of the tool, you are responsible for managing backend configuration. You can include backend configuration in your origin stack (which Tensor9 BYOC preserves), or provide it through your automation tool’s configuration. Ensure your backend configuration gives each appliance its own state file. See Backend Configuration for details.

Updating applications

To update an appliance, create a new build (compile) using the latest source code and then trigger a new deployment run via your CI/CD tool. Here is an example update scenario: A vendor is using Tensor to deploy a VM into customer environment. They realize the instance type is too small; they need more memory and CPU. Using Tensor9 BYOC, they can change to an instance type with more memory and CPU. They simplify run tofu apply with the new instance type, resulting in an update wherein the instance type changes, e.g., from t2.micro to t5g.large. Rollback: To roll back, you must check out the desired previous version of your Origin Stack code, create a new compiled stack from that old code, and then deploy the resulting compiled stack.