Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Zero-touch Debian 13 VM deployment on VMware ESXi 8. Builds custom preseed ISO, creates NVMe+vmxnet3 VM with serial console, and runs unattended installation...
Zero-touch Debian 13 VM deployment on VMware ESXi 8. Builds custom preseed ISO, creates NVMe+vmxnet3 VM with serial console, and runs unattended installation...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Deploy fully configured Debian 13 VMs on ESXi 8 in ~8 minutes with zero manual interaction.
VariableRequiredDescriptionESXI_HOSTYesESXi host IP addressESXI_PASSYesESXi root passwordESXI_USERNoESXi user (default: root)ESXI_DATASTORENoTarget datastore (default: datastore1)NETWORKNoPort group name (default: VM Network)DOMAINNoDomain for VMs (default: local)VM_PASSYes (resize only)VM root password for disk resize script โ ๏ธ Note: The deploy script generates a random VM password and prints it to stdout. The password is also embedded in the preseed ISO uploaded to the ESXi datastore. Remove the ISO after deployment and treat stdout output as sensitive.
ESXi 8.x host with SSH and datastore access govc CLI (github.com/vmware/govmomi) xorriso, isolinux โ for custom ISO build sshpass โ for automated SSH/SCP Tools on agent host: bash, python3, wget Install on Debian/Ubuntu: apt install xorriso isolinux sshpass # govc: https://github.com/vmware/govmomi/releases
All credentials are passed via environment variables โ nothing is hardcoded or embedded in process arguments. export ESXI_HOST="192.168.1.100" export ESXI_PASS="your-esxi-root-password" bash scripts/esxi-deploy.sh [hostname] [cpu] [ram_mb] [disk_gb] [serial_port] ParameterDefaultDescriptionhostnamerandom animal nameVM namecpu2vCPU countram_mb2048Memory in MBdisk_gb20Disk size in GBserial_portrandom 8600-8699Telnet port for serial console Example: bash scripts/esxi-deploy.sh webserver 4 4096 50 8610
Generate preseed.cfg โ German locale, DHCP, configurable user + root, random password Build custom ISO โ Debian netinst + preseed, patched isolinux for auto-boot Upload ISO to ESXi datastore Create VM โ NVMe disk (thin provisioned), dual NIC (E1000 for installer + vmxnet3 for production), serial port via telnet Boot + unattended install โ preseed handles everything Post-install โ Remove E1000, eject ISO, set boot to HDD Output credentials โ SSH + serial console access details
Every VM gets a serial port accessible via telnet to the ESXi host: telnet <ESXI_IP> <serial_port> Works even when the VM has no network. Configured: GRUB: GRUB_TERMINAL="console serial", serial 115200 8N1 Kernel: console=tty0 console=ttyS0,115200n8 Getty: serial-getty@ttyS0.service enabled ESXi firewall requirement (activated automatically by the script): esxcli network firewall ruleset set -e true -r remoteSerialPort Important: Set serial port IP to the ESXi host IP, not 0.0.0.0: serial0.fileName = "telnet://<ESXI_IP>:<port>"
Grow a VM's disk without shutdown: export ESXI_HOST="192.168.1.100" export ESXI_PASS="your-esxi-password" export VM_PASS="vm-root-password" bash scripts/esxi-vm-resize-disk.sh <vm-name> <new-size-gb> Requires cloud-guest-utils on the VM (pre-installed by the deploy script).
All settings are configurable via environment variables: export ESXI_HOST="192.168.1.100" # ESXi host IP (required) export ESXI_PASS="secret" # ESXi root password (required) export ESXI_USER="root" # ESXi user (default: root) export ESXI_DATASTORE="datastore1" # Target datastore (default: datastore1) export NETWORK="VM Network" # Port group name (default: VM Network) export DOMAIN="example.local" # Domain for VMs (default: local) No credential store or external resolver is required. Pass secrets via environment variables only โ they are never embedded in process arguments or URLs.
ComponentChoiceReasonDisk controllerNVMeFaster than SCSI/SATA for modern guestsProduction NICvmxnet3Paravirtualized, best performanceInstaller NICE1000Kernel driver built-in, no firmware neededBoot modeBIOSSimpler for automated installsProvisioningThinSaves datastore space
Locale: de_DE.UTF-8, keyboard de, timezone Europe/Berlin Partitioning: automatic, single root + swap Packages: open-vm-tools, curl, sudo, qemu-guest-agent, cloud-guest-utils SSH: PermitRootLogin yes, PasswordAuthentication yes Blacklisted modules: floppy, pcspkr (prevent I/O error loops in VMs) Customize the preseed section in esxi-deploy.sh for different locales or packages.
Credentials: All secrets are passed via environment variables, never embedded in URLs or process arguments. govc uses GOVC_USERNAME/GOVC_PASSWORD env vars. SSH access: The script uses sshpass for automated SSH. For production, consider SSH key-based auth instead. Serial console: Telnet is unencrypted. The serial port is bound to the ESXi host IP (not 0.0.0.0), but anyone with network access to the ESXi host can connect. Restrict access via: ESXi firewall rules (limit remoteSerialPort to trusted IPs) Network segmentation / VPN Disable serial port after debugging Generated passwords: VM passwords are output to stdout. Redirect output or use a credential store in production. Lab use recommended: Test on a lab ESXi host before using in production. Review all scripts before running.
No heredoc in preseed late_command โ Shell expansion in the deploy script's heredoc destroys nested heredocs. Use echo -e or single-line commands instead. Serial console only works after install โ The Debian installer uses VGA; serial output starts at first boot (GRUB + kernel). ESXi firewall blocks serial by default โ The remoteSerialPort ruleset must be enabled. Don't resize MBR partitions live with extended/swap layout โ Use growpart on the root partition or redeploy with larger disk. E1000 removal requires shutdown โ The script handles this automatically post-install.
references/preseed-template.cfg โ Full preseed config template references/vmx-template.md โ VMX configuration reference
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.