mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-08-26 06:11:15 +00:00
test scripts
This commit is contained in:
114
scripts/test/vm/create_vm.sh
Normal file
114
scripts/test/vm/create_vm.sh
Normal file
@@ -0,0 +1,114 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# ================================================
|
||||
# ProxMenux - Create VM Entry Point
|
||||
# ================================================
|
||||
# Author : MacRimi
|
||||
# ================================================
|
||||
|
||||
BASE_DIR="/usr/local/share/proxmenux"
|
||||
UTILS_FILE="$BASE_DIR/utils.sh"
|
||||
VENV_PATH="/opt/googletrans-env"
|
||||
VM_CONFIG="./vm_configurator.sh"
|
||||
DISK_SELECTOR="./disk_selector.sh"
|
||||
VM_CREATOR="./vm_creator.sh"
|
||||
#LINUX_ISO="./select_linux_iso.sh"
|
||||
GUEST_AGENT="./guest_agent_config.sh"
|
||||
|
||||
|
||||
if [[ -f "$UTILS_FILE" ]]; then
|
||||
source "$UTILS_FILE"
|
||||
fi
|
||||
|
||||
load_language
|
||||
initialize_cache
|
||||
|
||||
# Load modules
|
||||
[[ -f "$UTILS_FILE" ]] && source "$UTILS_FILE"
|
||||
[[ -f "$VM_CONFIG" ]] && source "$VM_CONFIG"
|
||||
[[ -f "$DISK_SELECTOR" ]] && source "$DISK_SELECTOR"
|
||||
[[ -f "$VM_CREATOR" ]] && source "$VM_CREATOR"
|
||||
[[ -f "$LINUX_ISO" ]] && source "$LINUX_ISO"
|
||||
[[ -f "$GUEST_AGENT" ]] && source "$GUEST_AGENT"
|
||||
|
||||
|
||||
|
||||
|
||||
function header_info() {
|
||||
clear
|
||||
show_proxmenux_logo
|
||||
echo -e "${BL}╔═══════════════════════════════════════════════╗${CL}"
|
||||
echo -e "${BL}║ ║${CL}"
|
||||
echo -e "${BL}║${YWB} ProxMenux VM Creator ${BL}║${CL}"
|
||||
echo -e "${BL}║ ║${CL}"
|
||||
echo -e "${BL}╚═══════════════════════════════════════════════╝${CL}"
|
||||
echo -e
|
||||
}
|
||||
|
||||
# ==========================================================
|
||||
# MAIN EXECUTION
|
||||
# ==========================================================
|
||||
|
||||
header_info
|
||||
echo -e "\n Loading..."
|
||||
sleep 1
|
||||
|
||||
# Step 1 - Select OS Type
|
||||
OS_TYPE=$(whiptail --title "ProxMenux" --menu "$(translate "Select the type of system to install")" 15 60 4 \
|
||||
"nas" "$(translate "Create VM System NAS")" \
|
||||
"windows" "$(translate "Create VM System Windows")" \
|
||||
"linux" "$(translate "Create VM System Linux")" \
|
||||
"lite" "$(translate "Create VM System Others (based Linux)")" 3>&1 1>&2 2>&3)
|
||||
|
||||
[[ -z "$OS_TYPE" ]] && clear && exit
|
||||
|
||||
|
||||
if [[ "$OS_TYPE" == "nas" ]]; then
|
||||
header_info
|
||||
source ./select_nas_iso.sh
|
||||
select_nas_iso || exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Si es Windows, invocar selección de ISO
|
||||
if [[ "$OS_TYPE" == "windows" ]]; then
|
||||
header_info
|
||||
source ./select_windows_iso.sh
|
||||
select_windows_iso || exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Si es Linux, invocar selección de ISO
|
||||
if [[ "$OS_TYPE" == "linux" ]]; then
|
||||
header_info
|
||||
source ./select_linux_iso.sh
|
||||
select_linux_iso || exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Step 2 - Default or Advanced config
|
||||
if (whiptail --title "ProxMenux" --yesno "$(translate "Use Default Settings?")" --no-button "$(translate "Advanced")" 10 60); then
|
||||
header_info
|
||||
load_default_vm_config "$OS_TYPE"
|
||||
apply_default_vm_config
|
||||
else
|
||||
header_info
|
||||
echo -e "${CUS}$(translate "Using advanced configuration")${CL}"
|
||||
configure_vm_advanced "$OS_TYPE"
|
||||
fi
|
||||
|
||||
# Step 3 - Disk selection
|
||||
select_disk_type
|
||||
if [[ -z "$DISK_TYPE" ]]; then
|
||||
msg_error "$(translate "Disk type selection failed or cancelled")"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Step 4 - Create VM
|
||||
create_vm
|
||||
|
||||
# Step 5 - Guest Agent integration
|
||||
configure_guest_agent
|
Reference in New Issue
Block a user