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.