diff --git a/functions/cmd_to_container.sh b/functions/cmd_to_container.sh deleted file mode 100755 index a9a4132e..00000000 --- a/functions/cmd_to_container.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/bash - - -cmd_to_container(){ -app_name=$(k3s crictl pods -s ready --namespace ix | sed -E 's/[[:space:]]([0-9]*|About)[a-z0-9 ]{5,12}ago[[:space:]]//' | sed '1d' | awk '{print $4}' | cut -c4- | sort -u | nl -s ") " | column -t) -while true -do - clear -x - title - echo "Command to Container Menu" - echo "-------------------------" - echo "$app_name" - echo - echo "0) Exit" - read -rt 120 -p "Please type a number: " selection || { echo -e "\nFailed to make a selection in time" ; exit; } - if [[ $selection == 0 ]]; then - echo "Exiting.." - exit - elif ! echo -e "$app_name" | grep -qs ^"$selection)" ; then - echo "Error: \"$selection\" was not an option.. Try again" - sleep 3 - continue - else - break - fi -done -rm cont_file 2> /dev/null -app_name=$(echo -e "$app_name" | grep ^"$selection)" | awk '{print $2}') -mapfile -t pod_id < <(k3s crictl pods -s ready --namespace ix | grep -v "[[:space:]]svclb-" | grep -E "[[:space:]]ix-${app_name}[[:space:]]" | awk '{print $1}') -search=$(k3s crictl ps -a -s running | sed -E 's/[[:space:]]([0-9]*|About)[a-z0-9 ]{5,12}ago[[:space:]]//') -for pod in "${pod_id[@]}" -do - echo "$search" | grep "$pod" >> cont_file -done -mapfile -t containers < <(sort -u cont_file 2> /dev/null) -case "${#containers[@]}" in - 0) - echo -e "No containers available\nAre you sure the application in running?" - exit - ;; - 1) - container=$(grep "${pod_id[0]}" cont_file | awk '{print $4}') - container_id=$(grep -E "[[:space:]]${container}[[:space:]]" cont_file | awk '{print $1}') - ;; - *) - while true - do - clear -x - title - echo "Available Containers" - echo "--------------------" - cont_search=$( - for i in "${containers[@]}" - do - echo "$i" | awk '{print $4}' - done | nl -s ") " | column -t - ) - echo "$cont_search" - echo - echo "0) Exit" - read -rt 120 -p "Choose a container by number: " selection || { echo -e "\nFailed to make a selection in time" ; exit; } - if [[ $selection == 0 ]]; then - echo "Exiting.." - exit - elif ! echo -e "$cont_search" | grep -qs ^"$selection)" ; then - echo "Error: \"$selection\" was not an option.. Try again" - sleep 3 - continue - else - break - fi - done - container=$(echo "$cont_search" | grep ^"$selection)" | awk '{print $2}') - container_id=$(grep -E "[[:space:]]${container}[[:space:]]" cont_file | awk '{print $1}') - ;; -esac -while true -do - clear -x - title - echo "App Name: $app_name" - echo "Container: $container" - echo - echo "1) Run a single command" - echo "2) Open Shell" - echo - echo "0) Exit" - read -rt 120 -p "Please choose an option: " selection || { echo -e "\nFailed to make a selection in time" ; exit; } - case $selection in - 0) - echo "Exiting.." - exit - ;; - 1) - clear -x - title - read -rt 500 -p "What command do you want to run?: " command || { echo -e "\nFailed to make a selection in time" ; exit; } - # shellcheck disable=SC2086 - # Quoting $command as suggested, causes the k3s command to fail - k3s crictl exec -it "$container_id" $command - break - ;; - 2) - clear -x - title - if ! k3s crictl exec -it "$container_id" /bin/bash 2>/dev/null; then - k3s crictl exec -it "$container_id" /bin/sh 2>/dev/null || echo "This container does not accept shell access, try a different one." - fi - break - ;; - *) - echo "That was not an option.. Try again" - sleep 3 - ;; - esac -done -rm cont_file 2> /dev/null -} -export -f cmd_to_container diff --git a/functions/misc.sh b/functions/misc.sh deleted file mode 100755 index 4cd09905..00000000 --- a/functions/misc.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - - -sync(){ -echo_sync+=("🅂 🅈 🄽 🄲") -cli -c 'app catalog sync_all' &> /dev/null && echo_sync+=("Catalog sync complete") - -#Dump the echo_array, ensures all output is in a neat order. -for i in "${echo_sync[@]}" -do - echo -e "$i" -done -echo -echo -} -export -f sync diff --git a/functions/readme.md b/functions/readme.md new file mode 100644 index 00000000..360abd32 --- /dev/null +++ b/functions/readme.md @@ -0,0 +1,3 @@ +# HeavyScript Functions + +This folder contains modified variants of functions ported from HeavyScript. diff --git a/includes/chores.sh b/includes/chores.sh index 95de557d..c7b02f5a 100755 --- a/includes/chores.sh +++ b/includes/chores.sh @@ -43,3 +43,18 @@ middlewareRestart() { echo "Restarted middlewared" } export -f middlewareRestart + + +sync(){ +echo_sync+=("🅂 🅈 🄽 🄲") +cli -c 'app catalog sync_all' &> /dev/null && echo_sync+=("Catalog sync complete") + +#Dump the echo_array, ensures all output is in a neat order. +for i in "${echo_sync[@]}" +do + echo -e "$i" +done +echo +echo +} +export -f sync diff --git a/includes/patch.sh b/includes/patch.sh index e4639e59..600a2aa3 100755 --- a/includes/patch.sh +++ b/includes/patch.sh @@ -3,10 +3,10 @@ patchv22120(){ echo "Applying 22.12 HotPatch 1" -( wget -q -P /tmp https://github.com/truecharts/truetool/raw/main/hotpatch/2212/HP1.patch && echo "download completed" || echo "download failed" ) && ( patch -N -s -p0 -d /usr/lib/python3/dist-packages/middlewared/ &>/dev/null < /tmp/HP1.patch && echo "patch completed" || echo "Patch Already Applied" ) && rm -rf /tmp/HP1.patch +( wget -q -P /tmp https://github.com/truecharts/truetool/raw/main/patch/2212/HP1.patch && echo "download completed" || echo "download failed" ) && ( patch -N -s -p0 -d /usr/lib/python3/dist-packages/middlewared/ &>/dev/null < /tmp/HP1.patch && echo "patch completed" || echo "Patch Already Applied" ) && rm -rf /tmp/HP1.patch echo "Applying 22.12 HotPatch 2" -( wget -q -P /tmp https://github.com/truecharts/truetool/raw/main/hotpatch/2212/HP2.patch && echo "download completed" || echo "download failed" ) && ( patch -N -s -p0 -d /usr/lib/python3/dist-packages/middlewared/ &>/dev/null < /tmp/HP2.patch && echo "patch completed" && restartmiddleware=yes || echo "Patch Already Applied" ) && rm -rf /tmp/HP2.patch +( wget -q -P /tmp https://github.com/truecharts/truetool/raw/main/patch/2212/HP2.patch && echo "download completed" || echo "download failed" ) && ( patch -N -s -p0 -d /usr/lib/python3/dist-packages/middlewared/ &>/dev/null < /tmp/HP2.patch && echo "patch completed" && restartmiddleware=yes || echo "Patch Already Applied" ) && rm -rf /tmp/HP2.patch } export -f patchv22120 diff --git a/hotpatch/2212/HP1.patch b/patch/2212/HP1.patch similarity index 100% rename from hotpatch/2212/HP1.patch rename to patch/2212/HP1.patch diff --git a/hotpatch/2212/HP2.patch b/patch/2212/HP2.patch similarity index 100% rename from hotpatch/2212/HP2.patch rename to patch/2212/HP2.patch diff --git a/truetool.sh b/truetool.sh index ee61aa82..1c79416c 100755 --- a/truetool.sh +++ b/truetool.sh @@ -30,8 +30,6 @@ source includes/backup.sh # Libraries loaded from Heavyscript # shellcheck source=functions/dns.sh source functions/dns.sh -# shellcheck source=functions/misc.sh -source functions/misc.sh # shellcheck source=functions/mount.sh source functions/mount.sh # shellcheck source=functions/backup.sh