Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitoring, template management, and many more features.

Overview

ProVirted

About

Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitoring, template management, and many more features.

TODO

  • store vzid only in the vzid field not hostname for kvm
    • it looks like we can grab information about the vm by using virt-inspector --no-applications -d to get a xml formatted output of basic os info including hostnmae
  • Add template exists checks to the create code
  • Check your passwords beginning with hyphens interfere with the option parsing and that if a double dash will resolve the issue
  • fix reset-password command adding in detection of windows and skipping if not
  • possibly utilize virt-resize in update call instead of qemu-img resize
  • add bash/zsh completion suggestions for ip fields (except client ip) having it show the ips on the host server excluding ones in use
  • add escapeshellarg() calls around any vars being passed through a exec type call
  • fix the restore script to work with kvmv2 os.qcow2 files
  • create public website on github https://github.com/provirted/provirted.github.io
  • add wiki entries
  • add lxc support [https://linuxcontainers.org/lxd/docs/master/](LXD Docs)
  • add self-update command for downloading the latest phar and replacing it
  • add install command - Installs PreRequisites, Configures Software for our setup
  • add config command - Management of the various settings
  • work on test command to test a vPs or the host
    • add server option to test command to perform various self diagnostics to check on the health and prepairedness of the system
    • add option to tweak checks for template testing or client vps testing
    • add gpt 2tb+ test
    • add package update test
    • add code to try ssh even without a ping reply
    • add optional syslog/messages checking dhcp server for DHCPACK from vps
  • remove reliance on local scripts

buildebtablesrules run_buildebtables.sh tclimit

create_libvirt_storage_pools.sh vps_get_image.sh vps_kvm_lvmcreate.sh vps_kvm_lvmresize.sh vps_swift_restore.sh

vps_kvm_password_manual.php vps_kvm_setup_password_clear.sh

vps_kvm_screenshot.sh vps_kvm_screenshot_swift.sh vps_refresh_vnc.sh

Commands

  • create Creates a Virtual Machine.
  • destroy Destroys a Virtual Machine.
  • enable Enables a Virtual Machine.
  • delete Deletes a Virtual Machine.
  • backup Creates a Backup of a Virtual Machine.
  • restore Restores a Virtual Machine from Backup.
  • stop Stops a Virtual Machine.
  • start Starts a Virtual Machine.
  • restart Restarts a Virtual Machine.
  • block-smtp Blocks SMTP on a Virtual Machine.
  • update Change the hd, cpu, memory, password, etc of a Virtual Machine.
  • reset-password Resets/Clears a Password on a Virtual Machine.
  • add-ip Adds an IP Address to a Virtual Machine.
  • remove-ip Removes an IP Address from a Virtual Machine.
  • cd CD-ROM management functionality
  • test Perform various self diagnostics to check on the health and prepairedness of the system.

Debugging

you can add -v to increase verbosity by 1 and see all the commands being run, or a second time to also see the output and exit status of each command

Developer Links

Dev Notes/Code

Fixing CentOS 6/7 Hosts This fixs several issues with CentOS 6 and CentOS 7 servers

if [ -e /etc/redhat-release ]; then
  rhver="$(cat /etc/redhat-release |sed s#"^.*release \([0-9][^ ]*\).*$"#"\1"#g)"
  rhmajor="$(echo "${rhver}"|cut -c1)"
  if [ ${rhmajor} -lt 7 ]; then
    if [ "$rhver" = "6.108" ]; then
      rhver="6.10";
    fi;
    sed -i "/^mirrorlist/s/^/#/;/^#baseurl/{s/#//;s/mirror.centos.org\/centos\/$releasever/vault.centos.org\/${rhver}/}" /etc/yum.repos.d/*B*;
  fi;
  if [ ${rhmajor} -eq 6 ]; then
    yum install epel-release yum-utils -y;
    yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm -y;
    yum-config-manager --enable remi-php73;
    yum update -y;
  elif [ ${rhmajor} -eq 7 ]; then
    yum install epel-release yum-utils -y;
    yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y;
    yum-config-manager --enable remi-php74;
    yum update -y;
    yum install php74 php74-php-{bcmath,cli,pdo,devel,gd,intl,json,mbstring} \
      php74-php-{opcache,pear,pecl-ev,pecl-event,pecl-eio,pecl-inotify,xz,xml} \
      php74-php-{xmlrpc,sodium,soap,snmp,process,pecl-zip,pecl-xattr} \
      php74-php-{pecl-yaml,pecl-ssh2,mysqlnd,pecl-igbinary,pecl-imagick} -y;
    for i in /opt/remi/php74/root/usr/bin/*; do
      ln -s "$i" /usr/local/bin/;
    done;
  fi;
fi

Updating the host

ssh my@mynew php /home/my/scripts/vps/qs_list.php all|grep -v 'Now using' > servers.csv; ssh my@mynew php /home/my/scripts/vps/vps_list.php sshable|grep -v 'Now using' >> servers.csv; tvps;
tsessrun 'cd /root/cpaneldirect && git pull --all && ln -fs /root/cpaneldirect/provirted.phar /usr/local/bin/provirted && php provirted.phar bash --bind provirted.phar --program provirted.phar > /etc/bash_completion.d/provirted_completion && chmod +x /etc/bash_completion.d/provirted_completion && if [ -e /etc/apt ]; then apt-get update &&  apt-get autoremove -y --purge && apt-get dist-upgrade -y && apt-get autoremove -y --purge && apt-get clean; else yum update -y --skip-broken; fi'
tsessrun 'cd /root/cpaneldirect && git pull --all && ln -fs /root/cpaneldirect/provirted.phar /usr/local/bin/provirted && php provirted.phar bash --bind provirted.phar --program provirted.phar > /etc/bash_completion.d/provirted_completion && chmod +x /etc/bash_completion.d/provirted_completion && if [ -e /etc/apt ]; then apt-get update &&  apt-get autoremove -y --purge && apt-get dist-upgrade -y && apt-get autoremove -y --purge && apt-get clean; else yum update -y --skip-broken; fi && if [ "$(php -v|head -n 1|cut -c5)" = 7 ]; then exit; fi;'
You might also like...
Recoded, added features, removed useless stuff, more efficent code, PER PLAYER TEXT
Recoded, added features, removed useless stuff, more efficent code, PER PLAYER TEXT

WFT - 1.2.0 (BETA) Hello, and welcome to WFT. NOW IN API 4.0 This is the official recode of my old plugin WFT, witch had some issues. Overall I was no

Ekonomy - PocketMine economy plugin with unlimited currencies & more features

Ekonomy What does this plugin do? Similar to EconomyAPI, This economy plugin is optimized with asynchronous query libraries such as libasynql and awai

DiscordLookup | Get more out of Discord with Discord Lookup! Snowflake Decoder, Guild List with Stats, Invite Info and more...
DiscordLookup | Get more out of Discord with Discord Lookup! Snowflake Decoder, Guild List with Stats, Invite Info and more...

DiscordLookup Get more out of Discord with Discord Lookup! Snowflake Decoder, Guild List with Stats, Invite Info and more... Website Getting Help Tool

Ratio plugin is a luck plugin. The more lucky you are, the more you win!
Ratio plugin is a luck plugin. The more lucky you are, the more you win!

Ratio Ratio plugin is a luck plugin. The more lucky you are, the more you win Features When you break a block (Cobblestone), it gives/puts you somethi

Stackdriver Monitoring provides visibility into the performance, uptime, and overall health of cloud-powered applications.

Stackdriver Monitoring API documentation NOTE: This repository is part of Google Cloud PHP. Any support requests, bug reports, or development contribu

A Zabbix module to show groups/hosts as a tree under Monitoring -> Hosts Tree menu item
A Zabbix module to show groups/hosts as a tree under Monitoring - Hosts Tree menu item

zabbix-module-hosts-tree Written according to Zabbix official documentation https://www.zabbix.com/documentation/current/manual/modules A Zabbix modul

meterN is a lightweight set of PHP/JS files that make a " Home energy metering & monitoring " solution.

meterN - Home energy monitor - (PHP/JS Energy Metering & Monitoring) What can meterN do for you ? meterN is a lightweight set of PHP/JS files that mak

PaaS template based on production template using platform.sh

Shopware for Platform.sh This template builds Shopware on Platform.sh using Composer. To get started on Platform.sh, please visit https://docs.platfor

Nextcloud AIO stands for Nextcloud All In One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.

Nextcloud All In One Beta This is beta software and not production ready. But feel free to use it at your own risk! We expect there to be rough edges

Releases(v1.999.0)
Owner
null
This plugin allows you to create many-to-many relationships between pages in Kirby and synchronizes them on both sides.

Kirby 3 Many To Many Field This plugin allows you to create many-to-many relationships between pages in Kirby.

Jonas Holfeld 41 Nov 19, 2022
YesilCMS is based on BlizzCMS and specifically adapted for VMaNGOS Core and includes new features and many bug fixes.

YesilCMS · YesilCMS is based on BlizzCMS and specifically adapted for VMaNGOS Core and includes new features and many bug fixes. Features In addition

yesilmen 12 Jan 4, 2023
This tools helps you with Collectors in DependecyInjection, Console shortcuts, ParameterProvider as service and many more.

Package Builder This tools helps you with Collectors in DependecyInjection, Console shortcuts, ParameterProvider as service and many more. Install com

null 168 Dec 22, 2022
Laravel Plans is a package for SaaS apps that need management over plans, features, subscriptions, events for plans or limited, countable features.

Laravel Plans Laravel Plans is a package for SaaS apps that need management over plans, features, subscriptions, events for plans or limited, countabl

ángel 2 Oct 2, 2022
Rules to detect game engines and other technologies based on Steam depot file lists

SteamDB File Detection Rule Sets This is a set of scripts that are used by SteamDB to make educated guesses about the engine(s) & technology used to b

Steam Database 103 Dec 14, 2022
The swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. All commands are extendable by a module API.

netz98 magerun CLI tools for Magento 2 The n98 magerun cli tools provides some handy tools to work with Magento from command line. Build Status Latest

netz98 758 Dec 28, 2022
Source control integration plugin framework for MantisBT, including support for Github, Gitlab, Bitbucket, Gitweb, Cgit, Subversion, Mercurial and more

Source control integration plugin framework for MantisBT, including support for Github, Gitlab, Bitbucket, Gitweb, Cgit, Subversion, Mercurial and more

MantisBT Community Plugins 175 Sep 3, 2022
PDF API. JSON to PDF. PDF Template Management, Visual HTML Template Editor and API to render PDFS by json data

PDF Template Management, Visual HTML Template Editor and API to render PDFS by json data PDF ENGINE VERSION: development: This is a prerelease version

Ajous Solutions 2 Dec 30, 2022
A comprehensive library for generating differences between two strings in multiple formats (unified, side by side HTML etc). Based on the difflib implementation in Python

PHP Diff Class Introduction A comprehensive library for generating differences between two hashable objects (strings or arrays). Generated differences

Chris Boulton 708 Dec 25, 2022
Rafel is Remote Access Tool Used to Control Victims Using WebPanel With More Advance Features..

Rafel is Remote Access Tool Used to Control Victims Using WebPanel With More Advance Features..

swagkarna 690 Dec 28, 2022