Anis 82a76de3fc
add vmware-linux template (#527)
## Description

Add Vmware template to coder

## Type of Change

- [ ] New module
- [x] New template
- [ ] Bug fix
- [ ] Feature/enhancement
- [ ] Documentation
- [ ] Other


## Template Information

<!-- Delete this section if not applicable -->

**Path:** `registry/anis/templates/vmware-linux`

## Testing & Validation

- [x] Tests pass (`bun test`)
- [x] Code formatted (`bun fmt`)
- [x] Changes tested locally


https://github.com/user-attachments/assets/ffc787a8-4335-4602-a405-c475f0cad62b


## Related Issues
Closes #211 
/claim #211 
<!-- Link related issues or write "None" if not applicable -->

---------

Signed-off-by: Anis KHALFALLAH <khalfallah.anis@hotmail.com>
Co-authored-by: DevCats <christofer@coder.com>
2026-01-08 09:04:42 -06:00
..
2026-01-08 09:04:42 -06:00
2026-01-08 09:04:42 -06:00

display_name description icon verified tags
VMware vSphere VM (Linux) Provision VMware vSphere virtual machines as Coder workspaces ../../../../.icons/vsphere.svg false
vm
linux
vmware
vsphere

Summary

Provision VMware vSphere virtual machines as Coder workspaces using this Terraform template.

Prerequisites

To deploy Coder workspaces on VMware vSphere, you'll need the following:

vSphere Resources

Before deploying, ensure your vSphere environment has:

  • A vSphere Datacenter already created
  • A Compute Cluster within that datacenter
  • A Datastore with sufficient storage capacity
  • A Network (port group) accessible by VMs
  • A VM Template with Ubuntu and cloud-init configured

VM Template Requirements

Your VM template must have

  • cloud-init installed and configured for VMware datasource

vSphere Authentication

You'll need the following credentials:

  • vSphere Server (hostname or IP)
  • Username
  • Password
  • Datacenter Name
  • Cluster Name
  • Datastore Name
  • Network Name
  • VM Template Name

VMware Provider Documentation


Example .tfvars File

vsphere_server     = "vcenter.example.com"
vsphere_username   = "administrator@vsphere.local"
vsphere_password   = "YourSecurePassword123!"
vsphere_datacenter = "DC01"
cluster_name       = "Cluster01"
vsphere_datastore  = "datastore1"
vsphere_network    = "VM Network"
vm_template        = "ubuntu-22.04-cloud-init-template"

Architecture

This template creates:

  • A vSphere Virtual Machine per workspace
  • Dynamic resource allocation (CPU, memory configurable by users)
  • Two disks: root disk (from template) and separate home volume
  • Coder agent installed via cloud-init
  • code-server for browser-based VS Code access

Workspace Parameters

Users can customize their workspace with:

  • VCPUs: 1, 2, 4, or 8 virtual CPUs
  • Memory: 1, 2, 4, 8, 16, or 32 GB RAM
  • Home Volume Size: 10-1024 GB (default: 20 GB)