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

  1. 1
    Open a Workspace in the Workspace Editor
  2. 2
    The container starts automatically when you open the workspace
  3. 3
    The Terminal panel connects to the running container
  4. 4
    You 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