DevPod uses 'machine' providers (such as AWS, GCP, and DigitalOcean) to provision virtual machines (VMs) that host devcontainers. When executing devpod up, DevPod uses local environment credentials and the provider's CLI tool (e.g., aws or az) to set up the VM.
Connectivity is established via secure tunnels to allow the DevPod CLI/UI to forward ports and connect a local IDE to the devcontainer via SSH. The DevPod agent starts an SSH server using the STDIO of the secure tunnel.
Supported secure tunnels by provider include:
- AWS: Instance Connect
- Google Cloud (GCP): Cloud IAP (Identity-Aware Proxy)
- Azure: Azure Bastion
- Generic: SSH tunneling (if supported by the setup)
# Example command to start a workspace and trigger machine deployment
devpod up