Welcome to VM Tool
A production-grade deployment platform with enterprise features for Docker-based applications.
🚀 Features
Phase 1: Foundation
- ✅ Configuration Management - Profiles and defaults
- ✅ Idempotent Deployments - Safe to run multiple times
- ✅ Health Checks - Port, HTTP, and custom checks
- ✅ Multi-Environment - Dev/staging/prod with safety
- ✅ Verbose Logging - Debug and verbose modes
Phase 2: Safety & Reliability
- ✅ Deployment History & Rollback - One-command rollback
- ✅ Dry-Run - Preview before deploy
- ✅ Drift Detection - Catch manual changes
- ✅ Backup & Restore - Disaster recovery
Core Technology
- 🔧 Ansible-Based - Production-grade automation
- 🔧 Idempotent - Safe to run multiple times
- 🔧 Scalable - Multi-host support
⚡ Quick Start
# Install
pip install vm-tool
# Create profile
vm_tool config create-profile production \
--environment production \
--host 10.0.2.10 \
--user ubuntu
# Deploy with health checks
vm_tool deploy-docker \
--profile production \
--health-port 8000
# View history
vm_tool history --host 10.0.2.10
# Rollback if needed
vm_tool rollback --host 10.0.2.10
📚 Documentation
- Usage Guide - Complete usage documentation
- Features - Detailed feature documentation
- Pipeline Generator - Generate GitHub Actions workflows
- EC2 Deployment - Deploy to EC2 with GitHub Actions
- SSH Setup - SSH key configuration
🎯 Use Cases
Automated Deployments
vm_tool deploy-docker --profile production --health-port 8000
CI/CD Integration
vm_tool generate-pipeline # Creates GitHub Actions workflow
Disaster Recovery
vm_tool backup create --host IP --paths /app
vm_tool rollback --host IP
🏗️ Architecture
vm_tool = User-Friendly CLI + Production-Grade Ansible
- Simple commands for users
- Ansible power under the hood
- Production-ready reliability
- Scalable architecture
📊 Status
- Features: 9/50 implemented (18%)
- Tests: 56/56 passing ✅
- Production Ready: Yes ✅