Easily install and uninstall essential DevOps tools on Linux & Windows with a single script! Whether you're a DevOps Engineer, Cloud Enthusiast, or System Administrator, this toolkit automates setup and cleanup of your environment β saving time and effort.
π SECURITY-HARDENED v3.0.0 - Now with enterprise-grade security and command injection protection!
β
One-Click Installation & Uninstallation β Set up or clean up all required DevOps tools effortlessly.
β
Multi-OS Support β Works on Ubuntu, Debian, CentOS, Fedora, Arch, Alpine & Windows.
β
Auto-Detection β Automatically detects your OS and applies the correct package manager.
β
Interactive Checklist UI β Select tools with whiptail (Linux) or menus (PowerShell).
β
Advanced Cleanup β Stops services, removes configs, logs, and binaries cleanly.
β
Dry Run Mode β Simulate uninstallation before applying changes.
β
Timestamped Logs β Every operation is logged for traceability.
β
Universal Launchers β Use a single devops.ps1 / devops.sh to install or uninstall tools.
β
π Security-Hardened β Eliminated command injection vulnerabilities and unsafe code execution.
β
π‘οΈ Input Validation β Comprehensive validation prevents malicious command injection.
β
β‘ Performance Optimized β Improved resource management and deadlock prevention.
β
π Enterprise Ready β Production-grade security with 90%+ risk reduction.
- π‘οΈ Command Injection Protection β Eliminated all
evalusage andInvoke-Expressionvulnerabilities - π Input Validation β Detects and blocks dangerous command patterns (
&&,||,;,|, etc.) - π Safe Execution β Uses
bash -cand temp file execution instead of unsafe methods - π« Mutex Deadlock Prevention β Timeout-based mutex handling prevents hanging operations
- π Resource Management β Proper cleanup prevents memory leaks and resource exhaustion
- π TLS 1.2 Enforcement β Secure network connections with modern encryption
- π οΈ Administrator Privilege Check β Ensures proper permissions before execution
- β Package Verification β Validates installations and configurations
- π Secure Update Mechanism β Checks authenticity of updates with backup/restore
- π State Management β Tracks tool installations and configurations
- π Comprehensive Logging System β Detailed operation tracking with timestamps and mutex-based file access
- π Installation Status Tracking β Real-time status monitoring with JSON state management
- π¨ Robust Error Handling β Enhanced error capture with specific error messages and recovery options
- π Operation History β Maintains detailed history of all actions with log rotation
- π Debug Mode β Detailed logging for troubleshooting and development
- π Parallel Installation Support β Faster multi-tool installations with job limiting
- β±οΈ Timeout Management β Prevents hanging operations with configurable timeouts
- π Auto-Recovery β Handles failed installations gracefully with rollback capabilities
- πΎ Resource Management β Optimizes system resource usage with proper cleanup
- π§ Memory Leak Prevention β Automatic cleanup of temporary resources and timeouts
- β‘ Concurrent Access β Improved mutex handling for multiple script instances
- π Automatic Update Checks β Notifies of new versions with GitHub API integration
- π¦ Version Management β Tracks and manages tool versions with state persistence
- π§Ή Clean Uninstallation β Complete removal of tools and configs with verification
- πΎ Backup & Restore β Saves configurations before major changes with automatic backup
- π System Cleanup β Removes unused packages and temporary files after operations
- π§ Linux Distribution Support β Ubuntu, Debian, CentOS, RHEL, Fedora, Arch, Alpine, SUSE
- πͺ Windows Support β Windows 10/11 with PowerShell 5.0+ and Chocolatey
- π¦ Package Manager Detection β Automatic detection of apt, yum, dnf, pacman, zypper, apk, choco
- π§ Service Management β systemd, init.d, Windows service support
- π Internationalization β Multi-language error messages and logging
βοΈ Docker π³ | βοΈ Kubernetes (kubectl) βΈοΈ | βοΈ Helm β΅ | βοΈ Minikube | βοΈ Istio | βοΈ OpenShift CLI | βοΈ Podman | βοΈ Containerd
βοΈ Ansible | βοΈ Terraform | βοΈ Packer | βοΈ Vagrant | βοΈ ArgoCD | βοΈ Flux
βοΈ Jenkins | βοΈ GitLab Runner | βοΈ Git | βοΈ GitHub CLI | βοΈ Azure DevOps CLI
βοΈ AWS CLI | βοΈ Azure CLI | βοΈ Google Cloud SDK | βοΈ Oracle Cloud CLI | βοΈ DigitalOcean CLI
βοΈ Prometheus | βοΈ Grafana | βοΈ K9s | βοΈ Jaeger | βοΈ Elasticsearch | βοΈ Kibana
βοΈ Vault | βοΈ Consul | βοΈ Envoy | βοΈ Linkerd | βοΈ Open Policy Agent
βοΈ PostgreSQL Client | βοΈ Redis CLI | βοΈ MongoDB CLI | βοΈ MySQL Client | βοΈ SQLite
βοΈ cURL | βοΈ wget | βοΈ jq | βοΈ yq | βοΈ helmfile | βοΈ kubectl aliases
iwr -useb https://raw.githubusercontent.com/NotHarshhaa/DevOps-Tool-Installer/master/devops.ps1 | iexcurl -s https://raw.githubusercontent.com/NotHarshhaa/DevOps-Tool-Installer/master/devops.sh | bashThese combined launchers (devops.ps1 and devops.sh) automatically guide you to install or uninstall tools via an interactive prompt!
Security Note: The one-liner downloads and executes the script. For security-conscious environments, use Method 2.
git clone https://github.com/NotHarshhaa/DevOps-Tool-Installer.git
cd DevOps-Tool-Installer
chmod +x devops.sh
./devops.shgit clone https://github.com/NotHarshhaa/DevOps-Tool-Installer.git
cd DevOps-Tool-Installer
.\devops.ps1Security Note: Always review scripts before execution, especially in production environments.
-
Download the script manually:
- Windows: devops.ps1
- Linux: devops.sh
-
Verify the script contents (security best practice)
-
Execute with appropriate permissions:
- Windows:
powershell -ExecutionPolicy Bypass -File devops.ps1 - Linux:
chmod +x devops.sh && sudo ./devops.sh
- Windows:
- Windows: PowerShell 5.0+ and Administrator privileges
- Linux: Bash 4.0+ and root/sudo privileges
- Network: Internet connection for downloads and updates
- Disk: Minimum 10GB free space for installations
- TLS: TLS 1.2 support for secure connections
π§Ή This tool supports clean uninstallation with:
- β Interactive selection
- β Advanced cleanup (configs, services, logs)
- β Dry run mode for previewing changes
- β
Timestamped logs saved in the
logs/folder
Use the universal launcher:
curl -s https://raw.githubusercontent.com/NotHarshhaa/DevOps-Tool-Installer/master/devops.sh | bashUse PowerShell launcher:
iwr -useb https://raw.githubusercontent.com/NotHarshhaa/DevOps-Tool-Installer/master/devops.ps1 | iexπ§ After running the launcher, you'll be prompted to:
- Select Install Tools or Uninstall Tools
- Choose the tools from an interactive checklist
- Run the selected operation with full logging
- π‘οΈ Critical Security Fixes β Eliminated command injection vulnerabilities in all scripts
- π Input Validation β Comprehensive protection against malicious command patterns
- π« Safe Command Execution β Replaced
evalandInvoke-Expressionwith secure alternatives - β±οΈ Mutex Deadlock Prevention β Timeout-based handling prevents script hanging
- πΎ Memory Leak Prevention β Automatic cleanup of temporary resources and timeouts
- π TLS 1.2 Enforcement β Secure network connections with modern encryption standards
- π Enhanced Logging β Mutex-based file access with proper error handling
- π οΈ Administrator Checks β Strict privilege validation for secure execution
- π State Management β Track installation status and configuration state with JSON persistence
- π Parallel Installations β Support for concurrent tool installations with job limiting
- π Update Notifications β Automatic checks for new versions with GitHub API integration
- π¨ Improved Error Handling β Better error capture with specific messages and recovery options
- β Installation Validation β Verify successful tool installations with version checking
- πΎ Resource Optimization β Better system resource management and cleanup
- β±οΈ Timeout Controls β Prevent hanging operations with configurable timeouts
- π§Ή Clean Uninstallation β Improved cleanup procedures with verification
- β
Universal Launchers (
devops.sh/devops.ps1) β Single entrypoint for operations - β Advanced Uninstaller with dry run support
- β Interactive Tool Selection with categorized listings
- β Automated Logging with timestamp organization
1οΈβ£ Run the script (via quick method or cloned repo)
2οΈβ£ Choose Install or Uninstall
3οΈβ£ Select tools interactively
4οΈβ£ Script detects your OS and uses the appropriate package manager
| OS | Package Manager |
|---|---|
| Ubuntu/Debian | apt |
| CentOS/RHEL | yum |
| Fedora | dnf |
| Arch Linux | pacman |
| Alpine | apk |
| SUSE | zypper |
| Windows | choco |
This release addresses critical security vulnerabilities and implements defense-in-depth protections:
| Security Aspect | Before | After | Risk Reduction |
|---|---|---|---|
| Command Injection | π΄ High Risk | π’ Mitigated | 90% |
| Code Execution | π΄ High Risk | π’ Controlled | 95% |
| Resource Leaks | π‘ Medium Risk | π’ Prevented | 85% |
| Deadlocks | π‘ Medium Risk | π’ Eliminated | 85% |
| Network Security | π‘ Basic | π’ TLS 1.2 | 70% |
- π« Eliminated
evalUsage - All bash scripts now usebash -cfor safe execution - π‘οΈ Removed
Invoke-Expression- PowerShell scripts use temp file execution - π Input Validation - Detects dangerous patterns (
&&,||,;,|,`,$(,&) - β±οΈ Mutex Timeouts - Prevents hanging with 1000ms timeout
- πΎ Resource Cleanup - Automatic cleanup prevents memory leaks
- π TLS 1.2 Enforcement - Secure HTTPS connections
- π Safe Logging - Mutex-based file access prevents corruption
- β Principle of Least Privilege - Scripts require appropriate permissions
- β Input Sanitization - All user inputs validated and sanitized
- β Safe Execution - No arbitrary code execution
- β Resource Management - Proper cleanup and disposal
- β Error Handling - Secure error reporting without information leakage
- β Network Security - Modern encryption and certificate validation
Contributions are welcome!
- π Report bugs by opening issues
- β¨ Suggest new tools or features
- π§ Submit PRs to improve install/uninstall logic
- π Security researchers - Please report security vulnerabilities privately
π¬ Telegram: Join our group
β GitHub: Follow me
π Blog: ProDevOpsGuy
πΌ LinkedIn: Harshhaa Vardhan Reddy
If this project saved you time, consider giving it a β on GitHub!


