Remote Workstation
A remote workstation runs in the cloud. werkr provisions a VM, configures it according to your specifications, and manages its lifecycle. AWS, Azure, and GCP are supported.
Prerequisites
- werkr installed (installation guide)
- Credentials configured for your cloud provider (see below)
Cloud Provider Authentication
werkr uses your local cloud credentials to provision VMs. As a starting point, log in to your provider:
# AWS
aws sso login
# or
aws configure
# Azure
az login
# GCP
gcloud auth login --update-adc For more advanced use cases, dedicated IAM roles and service accounts or federation-based authentication are recommended instead of interactive login.
Configuration Is Provider-Agnostic
Workstation Configurations are independent of the underlying provider.
The same configuration applies whether the workstation runs on AWS, Azure, or GCP -
you only change the provider and providerConfig on the
Workstation itself.
# config.yaml - this applies to any matching workstation, regardless of provider
apiVersion: werkr.dev/v1alpha1
kind: WorkstationConfig
metadata:
name: platform-tools
spec:
selector:
matchLabels:
team: platform
portForward:
autoForward: true
contents:
devtools:
- docker
- kubectl
- kind
packages:
- tmux AWS
# aws-workstation.yaml
# Supported OS: ubuntu-24.04, debian-13
apiVersion: werkr.dev/v1alpha1
kind: Workstation
metadata:
name: my-aws-dev
labels:
team: platform
spec:
os:
id: ubuntu-24.04
provider: aws
providerConfig:
region: us-east-1
machineType: t2.micro
resources:
diskSize: 20 Azure
# azure-workstation.yaml
apiVersion: werkr.dev/v1alpha1
kind: Workstation
metadata:
name: my-azure-dev
labels:
team: platform
spec:
os:
id: ubuntu-24.04
provider: azure
providerConfig:
subscriptionId: "your-subscription-id"
resourceGroup: "your-resource-group"
location: eastus
machineType: Standard_B2s
resources:
diskSize: 30 GCP
# gcp-workstation.yaml
apiVersion: werkr.dev/v1alpha1
kind: Workstation
metadata:
name: my-gcp-dev
labels:
team: platform
spec:
os:
id: ubuntu-24.04
provider: gcp
providerConfig:
projectId: "your-project-id"
machineType: n4-standard-4
region: us-central1
resources:
diskSize: 20 Apply and Connect
Apply the workstation and configuration manifests:
wer apply -f config.yaml
wer apply -f aws-workstation.yaml Connect to your workstation:
# SSH into the workstation
wer shell --name my-aws-dev
# Or use tmux for persistent sessions
wer tmux --name my-aws-dev Cost Management
Stop workstations when not in use to avoid charges. werkr preserves the disk so you can resume exactly where you left off:
wer stop workstation my-aws-dev # Stop (preserves disk)
wer start workstation my-aws-dev # Resume Next Steps
Learn more about Workstation Configurations to customize your environment with tools, packages, and port forwarding.