Documentation
VS Container (Docker)
VS Container — Docker Development Environment
Infra0 runs all Terraform operations inside a Docker container called the VS Container. This provides an isolated, consistent environment for executing infrastructure commands.
What is the VS Container? - A Docker container spun up per workspace session - Pre-configured with Terraform/OpenTofu, cloud provider CLIs (AWS CLI, Azure CLI, gcloud) - Runs on the same machine or server as the Infra0 application - Accessible from the Terminal panel in the Workspace Editor - All Dock operations (Init, Plan, Apply, etc.) execute commands inside this container
Starting the VS Container
- 1Open a Workspace in the Workspace Editor
- 2The container starts automatically when you open the workspace
- 3The Terminal panel connects to the running container
- 4You will see a connection status indicator
Container Lifecycle
- Starts: When you open a workspace
- Running: While you are actively in the workspace
- Stops: Automatically when you close the workspace or after inactivity
- Restart: If the container stops unexpectedly, refresh the terminal or reopen the workspace
Container Contents
- Terraform/OpenTofu binary (latest stable version)
- AWS CLI: For AWS operations
- Azure CLI: For Azure operations
- Google Cloud SDK (gcloud): For GCP operations
- Git: Version control
- Standard Linux utilities: curl, wget, jq, zip, etc.
File Persistence
- Files created in the container are accessible from the IDE panel
- Terraform state files created locally are stored in the container's workspace directory
- Remote state (if configured with a state bucket) persists beyond container lifecycle
Environment Variables
- Cloud provider credentials are injected into the container as environment variables
- The AI chat uses these credentials when executing Terraform via tool calls
- Credentials come from the Cloud Provider Credentials configuration
Troubleshooting VS Container
- Container not starting: Check that the Docker daemon is running on the server
- Terminal not connecting: Refresh the page and reopen the workspace
- Commands failing: Verify that cloud provider credentials are configured correctly
- Permissions errors: Ensure your cloud credentials have the required IAM permissions
Security Notes
- Each workspace gets its own isolated container
- Containers do not share resources or credentials between workspaces
- All container activity is logged in the Activity Stream
- Container networking is restricted by default