tensor9 CLI commands. For installation instructions, see Install. For common workflows and examples, see Common Workflows.
Usage
Authentication
Most commands require authentication via API key. Set your API key using the environment variable:Command Groups
The tensor9 CLI organizes commands into logical groups:- vendor: Vendor setup and management
- app: Application management
- stack: Stack and release management
- test: Test appliance management
- appliance: Customer appliance management
- form-factor: Form factor management
- General commands: Help, update, install, report
General Commands
help
Display help information about available commands.-group(optional): Show help for a specific command group
update
Update the tensor9 CLI to the latest version.-customVersion(optional): A custom version to update to
install
Install the tensor9 CLI to make it accessible from anywhere on your system./usr/local/bin/ so you can run tensor9 from any directory.
env
Report on the current Tensor9 environment.report
Generate a comprehensive report about your vendor account.-vendorId(optional): The vendor ID to report on (auto-discovered if not specified)-detailed(optional): Produce a detailed report
- Vendor details
- All apps and their stacks
- Customer appliances
- Test appliances
- Active releases
console
Start a local web console for the vendor portal.-vendorId(optional): The vendor ID (auto-discovered from API key if not specified)-port(optional): Port to run the server on (default: 8080)-noBrowser(optional): Don’t automatically open browser
Vendor Commands
vendor setup
Set up Tensor9 in your AWS account. This creates your control plane for managing customer appliances.-cloud(optional): Cloud provider (aws, gcp, azure) - prompts if not provided-region(optional): Cloud region - prompts if not provided-awsProfile(optional): AWS profile for credentials - prompts if not provided-apiKey(optional): Your Tensor9 API key (uses T9_API_KEY env var if not specified)-force(optional): Force setup even if resources already exist
Your Tensor9 AWS account should be a dedicated AWS account used only for Tensor9. This reduces the risk of conflicts with other infrastructure.
App Commands
app create
Create a new app.-name: The app name (alphanumeric, underscores, hyphens; 3-64 characters)-displayName: A friendly name for the app (max 32 characters)
-stackType: Stack type to bind (CloudFormation, Terraform, TerraformWorkspace, DockerContainer, DockerCompose)-nativeStackId: Native ID of the stack to bind-vanityDomain: Custom vanity domain (e.g.,anyprem.vendor.co)
app signup-link
Generate a signup link for customers to sign up for your app.-appId: The app ID-appName: The app name
https://portal.tensor9.com/buyerSignup?appId=... that you can send to customers.
Stack Commands
stack publish
Publish an origin stack to your control plane.-stackType: Stack type (TerraformWorkspace, DockerCompose, etc.)-stackS3Key: Name for the stack archive-file: Path to stack file (for DockerCompose) or-dir(for Terraform)
-dir: Directory containing Terraform files (alternative to-file)
s3://t9-ctrl-000001/my-app-stack.tf.tgz.
stack bind
Bind an origin stack to your app.-appName: The app name-stackType: Stack type (TerraformWorkspace, DockerCompose, CloudFormation, DockerContainer)-nativeStackId: The native stack ID
-stackName: A friendly name for the stack-appVersion: App version to bind to (defaults to latest)
You only need to bind once per app. Future publishes of the same stack don’t require re-binding.
stack unbind
Unbind an origin stack from your app.-appName: The app name-appId: The app ID-stackId: The Tensor9 stack ID
stack release create
Create a release to deploy your stack to appliances.-appName: The app name-vendorVersion: Version string (e.g., “1.0.0”)-description: Short description of the release-notes: Detailed release notes
-testApplianceName: Release to a test appliance-customerName: Release to all of a customer’s appliances-projectionIds: JSON array of specific install IDs-all: Release to all appliances
-stackIdor-stackName: Required if app has multiple stacks-tuningDoc: Path to stack tuning document-tuningDocFmt: Tuning document format (Json or Yaml, default: Json)
stack release retire
Retire a release.-releaseId: The release ID to retire- OR both:
-vendorVersion: The vendor version-appName: The app name
-customerName: Filter to specific customer-reason: Reason for retiring the release
Form Factor Commands
form-factor create
Create a new form factor for your app.-appName: The app name-formFactorName: Form factor name (must match standard naming pattern)-description: Description of the form factor-env: Target environment (Aws, Gcp, Azure, DigitalOcean, Kube, Metal, BareMetal, Local)-connectivity: Connectivity mode (Connected, Disconnected)
Test Appliance Commands
test appliance create
Create a test appliance for testing releases.-appId: The app ID-appName: The app name
-name: Test appliance name (defaults to app name + form factor)-displayName: Friendly display name-formFactorName: Form factor to use (defaults to same cloud as control plane, connected)-cloudRegion: Cloud region (e.g.,aws:us-west-2)
tensor9 report to monitor creation progress. The test appliance will be ready when its status shows “Live”.
test appliance retire
Retire a test appliance, deleting all its infrastructure.-testApplianceName: The test appliance name
Appliance Commands
appliance list
List all appliances.-json: Output in JSON format
appliance setup create
Create a setup script for a customer to set up an appliance in their environment.-customerName: The customer name-appName: The app name-cloud: Target cloud (Aws, Gcp, Azure, Private, Local)-formFactorName: Form factor name
-privateCloudName: Private cloud name (for Private cloud type)-vendorMetadata: JSON-encoded metadata key/value pairs
Advanced Commands
appliance setup
Set up an appliance (run by customer in their environment).-setupKey: Single-use setup key from vendor-cloudRegion: Cloud region (e.g.,aws:us-west-2,gcp:us-central1)
-autoApprove: Automatically approve infrastructure changes (required for non-interactive)-domainSuffix: Domain suffix for the appliance (e.g.,app.company.com)-privateZone: Use private DNS zone instead of public-gcpProjectId: GCP project ID (GCP only)-resourceTags: JSON-encoded tags for cloud resources-credentialType: Credential type for setup-credential: Credential value
machine setup
Set up a machine in a private cloud.-apiKey: Tensor9 API key-type: Machine type (Ctrl or Iso)-ip: IP address exposed to other machines in the private cloud
-zone: Zone name (e.g.,datacenter-1)-gpu: GPU type (None, NvidiaT4, NvidiaA10, NvidiaA100, etc.)-force: Force setup even if already set up
Common Options
These options are available on most commands:-apiKey: Your Tensor9 API key (can also useT9_API_KEYenvironment variable)-vendorId: Your vendor ID (usually auto-discovered from API key)-awsProfile: AWS CLI profile for credentials-help: Show help for the command
Exit Codes
0: Success1: General error2: Command parsing error
Environment Variables
T9_API_KEY: Your Tensor9 API key
Getting Help
For command-specific help:Related Topics
- Install tensor9 CLI: Installation instructions
- Common Workflows: Step-by-step guides for common tasks
- Quick Start Guides: Get started with Tensor9