Prerequisites
Before starting, ensure you have:- Installed the tensor9 CLI
- Set your API key:
export T9_API_KEY=<your-key> - Configured AWS credentials for your Tensor9 AWS account
Initial setup workflow
Set up Tensor9 in your AWS account for the first time.Set up your control plane
Run the interactive setup:Or provide all parameters:This creates your Tensor9 control plane in your AWS account. It takes several minutes to complete.
Verify setup
Check that your control plane is ready:You should see your vendor information displayed.
Publish and bind your origin stack
Publish an origin stack and bind it to your app.For Terraform stacks
Publish your Terraform stack
From your Terraform workspace directory:This uploads your Terraform files and returns a native stack ID like:
For Docker container stacks
Push your container image to ECR
First, authenticate to your Tensor9 AWS account’s ECR:Tag and push your image:The native stack ID is the image URI:
For Docker Compose stacks
Before publishing your Docker Compose file, ensure all container images referenced in your compose file are pushed to their registries (ECR, Docker Hub, etc.). These images must be available when you create a release.
For CloudFormation stacks
Create a test appliance
Create a test appliance for testing your releases before deploying to customers.Deploy to a test appliance
Deploy your stack to a test appliance to verify it works before releasing to customers.Create a release
Create a release for your test appliance:After a few minutes, the deployment stack downloads to a directory named
my-test-appliance.Create a customer appliance
Enable your customer to create an appliance for your app in their environment.Generate signup link
Generate a signup link for your customer:Send the generated URL to your customer. They’ll use it to create their appliance.
Customer creates appliance
The customer uses the signup link to:
- Sign up and create their organization (if they haven’t already)
- Select their cloud provider and region
- Complete the setup to create their appliance
Monitor appliance creation
Check when the customer’s appliance is ready:Wait until their appliance status shows “Live”.
Create a release for the customer
Once their appliance is ready:The deployment stack downloads to a directory named after their appliance.
Release to a customer appliance
Release infrastructure or code changes to your customer appliances.Update your origin stack
Make changes to your Terraform files, docker-compose.yml, or CloudFormation template.
Republish the stack
For Terraform:For Docker Compose:For CloudFormation:
You don’t need to re-bind the stack. Tensor9 will use the updated version for new releases.
Manage multiple form factors
Deploy your app to different cloud providers or connectivity modes.Use stack tuning documents
Customize resource allocations per customer or environment.Monitor appliances
Check the status of your apps, appliances, and releases.View comprehensive report
- All your apps and their stacks
- All test appliances and their status
- All customer appliances and their status
- Active releases
View detailed report
List all appliances
Use the web console
Start a local web interface:Retire a test appliance
Remove a test appliance when no longer needed.Troubleshoot common issues
Release deployment fails
Release deployment fails
Problem:
tofu apply fails when deploying a release.Solution:- Check the Terraform error messages
- Verify your origin stack is valid:
tofu validatein your workspace - Check appliance status:
tensor9 report - Review deployment stack variables and configuration
- Check AWS credentials and permissions
Test appliance stuck in Creating status
Test appliance stuck in Creating status
Problem: Test appliance remains in “Creating” status for a long time.Solution:
- Wait 15-20 minutes (appliance creation can take time)
- Check
tensor9 report -detailedfor error messages - Verify AWS quotas are sufficient for EKS, VPCs, etc.
- Check CloudFormation console in AWS for stack creation issues
- Contact support if stuck for more than 30 minutes
Stack publish fails
Stack publish fails
Problem:
tensor9 stack publish fails with upload errors.Solution:- Verify AWS credentials:
aws sts get-caller-identity --profile <profile> - Check that no .terraform directories are in your workspace
- Ensure you have write permissions to the control plane S3 bucket
- For large stacks, check your network connection
Customer can't access their appliance
Customer can't access their appliance
Problem: Customer reports they can’t reach their deployed application.Solution:
- Verify deployment completed: Check with customer that
tofu applysucceeded - Check load balancer:
kubectl get serviceshows external IP/hostname - Verify DNS configuration if using custom domains
- Check security groups/firewall rules in customer’s cloud
- Review application logs:
kubectl logs <pod-name>
Release not downloading
Release not downloading
Problem: After creating a release, the deployment stack doesn’t download.Solution:
- Wait a few minutes (compilation takes time)
- Check release status:
tensor9 report - Verify appliance is in “Live” status
- Check for stack validation errors in the report
- Review control plane CloudWatch logs for compilation errors
Best practices
Version your releases semantically
Version your releases semantically
Use semantic versioning for your releases:
1.0.0- Initial release1.0.1- Patch (bug fixes)1.1.0- Minor (new features, backward compatible)2.0.0- Major (breaking changes)
Test every release
Test every release
Always create a release to a test appliance before releasing to customers:
- Create release to test appliance
- Deploy and verify functionality
- Test upgrade path from previous version
- Only then release to customers
Use descriptive release notes
Use descriptive release notes
Write clear, customer-facing release notes:Your customers see these notes when deploying.
Organize your origin stacks
Organize your origin stacks
Keep your origin stacks in version control and use consistent naming:
- Use Git to track changes to origin stacks
- Tag releases in Git:
git tag v1.0.0 - Use the same version in Git and Tensor9 releases
- Document infrastructure changes in commit messages
Monitor appliance health
Monitor appliance health
Regularly check appliance status:Set up alerts for customer appliance issues.
Next steps
- CLI Reference: Complete command reference
- Quick Start Guides: Step-by-step tutorials
- Deployments: Learn more about the deployment process
- Testing: Best practices for testing releases