azlin - Azure Ubuntu VM Provisioning CLI¶
One command to create a fully-equipped development VM on Azure
-
Quick Start
Get started in 5 minutes with a fully configured Ubuntu development VM
-
Command Reference
Complete reference for all 50+ azlin commands
-
Authentication
Configure Azure CLI or Service Principal authentication
-
Storage & NFS
Create and mount shared Azure Files NFS storage
What is azlin?¶
azlin automates the tedious process of setting up Azure Ubuntu VMs for development. Written in Rust for blazing-fast startup (75-85x faster than the original Python implementation), it provisions a fully configured VM in one command:
- Authenticates with Azure
- Provisions an Ubuntu 24.04 VM
- Installs 12 essential development tools
- Sets up SSH with key-based authentication
- Starts a persistent tmux session
- Optionally clones a GitHub repository
Total time: 4-7 minutes from command to working development environment.
Quick Example¶
# Download pre-built binary (recommended)
curl -sSL https://github.com/rysweet/azlin/releases/latest/download/azlin-linux-x86_64.tar.gz | tar xz -C ~/.local/bin
# Create a VM
azlin new --name myproject
# Fully automated provisioning (zero prompts)
azlin new --name myvm --yes
# Create VM and clone a GitHub repo
azlin new --repo https://github.com/owner/repo
# Keep azlin up to date
azlin self-update
Key Features¶
Fast VM Provisioning¶
Create fully configured development VMs in 4-7 minutes with a single command. Native Rust binary starts in milliseconds.
12 Pre-Installed Tools¶
Every VM includes Docker, Azure CLI, GitHub CLI, Node.js, Python, Rust, Go, .NET, and AI coding assistants (GitHub Copilot CLI, Claude Code, OpenAI Codex CLI).
GUI Forwarding¶
Run graphical applications on your VMs and display them locally. X11 forwarding for lightweight apps, VNC for full desktop sessions.
Shared NFS Storage¶
Create Azure Files NFS storage and mount across multiple VMs for shared data.
Azure Bastion Support¶
Secure, browser-based SSH access without public IP addresses.
Batch Operations¶
Run commands across entire VM fleets in parallel.
AI-Powered Features¶
Natural language VM management with azlin doit command and autonomous optimization with azlin autopilot.
Secure by Default¶
SSH key rotation, NFS RootSquash, Azure AD auth for storage, service principal support.
Cost Optimization¶
Auto-stop idle VMs, quota management, cost tracking and recommendations.
Snapshots & Backups¶
Create point-in-time snapshots and schedule automated backups with cross-region replication.
Compound VM:Session Naming¶
Address VMs with hostname:session_name syntax across all commands for multi-session workflows.
Health Dashboard¶
Real-time monitoring with the Four Golden Signals: latency, traffic, errors, and saturation.
Development Tools Installed¶
Every azlin VM comes pre-configured with:
- Docker - Container runtime
- Azure CLI (az) - Azure management
- GitHub CLI (gh) - GitHub integration
- Git - Version control
- Node.js - JavaScript runtime with user-local npm
- Python 3.13+ - Latest Python from deadsnakes PPA
- Rust - Systems programming language
- Golang - Go programming language
- .NET - .NET development framework
- GitHub Copilot CLI - AI pair programmer
- OpenAI Codex CLI - Advanced AI code generation
- Claude Code CLI - Anthropic's AI coding assistant
Use Cases¶
Development Teams¶
Share NFS storage and individual VMs for team collaboration.
CI/CD Runners¶
Provision ephemeral GitHub Actions runners on demand.
Machine Learning¶
Create GPU-enabled VMs for training workloads.
Cost Optimization¶
Auto-stop idle VMs and manage quotas.
Getting Help¶
- Documentation: You're here! Browse sections on the left
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Ask questions
- Command Help: Run
azlin --helporazlin <command> --help
Quick Links¶
Project Information¶
- License: MIT
- Written in: Rust (with Python bridge for backward compatibility)
- Repository: rysweet/azlin
- Releases: GitHub Releases
- Version: 2.6.17
Ready to get started? Head to the Quick Start Guide or dive into Installation.