]> gitweb.morketsmerke.org Git - immudex.git/commitdiff
Rozpoczęcie prac nad nowym narzędziem immudex-kvm
authorxf0r3m <jakubstasinski@protonmail.com>
Mon, 9 Sep 2024 09:51:09 +0000 (11:51 +0200)
committerxf0r3m <jakubstasinski@protonmail.com>
Mon, 9 Sep 2024 09:51:09 +0000 (11:51 +0200)
tools/bin/immudex-kvm [new file with mode: 0755]

diff --git a/tools/bin/immudex-kvm b/tools/bin/immudex-kvm
new file mode 100755 (executable)
index 0000000..d80df2b
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+#immudex-kvm -L|[-R URI] help|[command] [arg1]..[argX]
+
+if [ "$1" ] && [ "$1" = "-L" ] || [ "$1" = "-R" ]; then
+  if [ "$1" = "-R" ]; then 
+    export CONNECT="$2";
+    shift 2;
+  else
+    if $(sudo virsh net-list --all | grep '\ nieaktywne\ '); then
+      sudo virsh net-start default;
+    fi
+    export CONNECT="qemu:///system";
+    shift;
+  fi
+else
+  if $(sudo virsh net-list --all | grep '\ nieaktywne\ '); then
+      sudo virsh net-start default;
+  fi
+  export CONNECT="qemu:///system";
+fi
+
+function immudex-kvm-help() {
+  echo "immudex-kvm - script for KVM management.";
+  echo "morketsmerke.org @ 2024";
+  echo;
+  echo "SYNTAX:";
+  echo "$ immudex-kvm -L|[-R URI] help|[command] [arg1]..[argX]";
+  echo;
+  echo "CONNECT:";
+  echo "  -L - connect with local KVM instance (qemu:///system)";
+  echo "  -R <URI> - connect with remote KVM instance (requires URI)";
+  echo;
+  echo "COMMANDS:";
+  echo "  list - list of KVM virtual machines on this instance";
+  echo "    List args: <vms/os-types>";
+  echo "  create - create VM, with defaults settings.";
+  echo "    Create args: <name>, <vcpus>, <memory in MB>, <iso/installer path>, <disk path>, <disk size in GB>";
+  echo "  start - run VM.";
+  echo "    Start args: <name>";
+  echo "  connect - connect with VM console.";
+  echo "    Connect args: <name>";
+  echo "  restart - force reboot for VM.";
+  echo "    Restart args: <name>";
+  echo "  shutdown - shutting down the VM.";
+  echo "    Shutdown args: <name>";
+  echo "  poweroff - power off the VM.";
+  echo "    Power off args: <name>";
+  echo "  delete - deletes VM.";
+  echo "    Delete args: <name> [delete-disk]";
+  #Dodać polecenie sprawdzenia sieci wirtualny, oraz możliwość jej/ich włączenia.
+}
+
+function immudex-kvm-list() {
+  virsh -c $CONNECT list --all;
+  #Dodać wyświetlanie listy os-types
+}
+
+function immudex-kvm-create() {
+  virt-install --connect $CONNECT --name=$1 --vcpus=$3 --memory=$4 --cdrom=$5 --disk=${6},bus=sata,size=${7} --os-variant=$2
+}
+
+function immudex-kvm-connect() {
+  virt-viewer -c $CONNECT $1;
+} 
+
+echo "Connect: $CONNECT";
+#immudex-kvm-help;
+
+case "$1" in
+  'list') immudex-kvm-list;;
+  'create') shift;
+    immudex-kvm-create $@;;
+  'connect') shift;
+    immudex-kvm-connect $1;;
+  *) immudex-kvm-help;;
+esac