Compare commits
	
		
			15 Commits
		
	
	
		
			1.0.1
			...
			bc7d30ea59
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | bc7d30ea59 | ||
|  | e23001223c | ||
|  | 4a7a854f6f | ||
|  | 5804346e42 | ||
|  | 43fcc62014 | ||
|  | a9ba3698bd | ||
|  | 8e3a28334e | ||
| f808a394aa | |||
|  | 97398388d6 | ||
|  | 0839a78d41 | ||
| 43b529d2d0 | |||
| 81cc2b14ab | |||
|  | 42c3275e19 | ||
| 283b42bce1 | |||
|  | fe5ffd3add | 
| @@ -160,6 +160,63 @@ remove_additionals() { | ||||
|  | ||||
|     debug "UNINSTALL: $NAME" | ||||
|  | ||||
|     # delete firewall rules | ||||
|     FIREWALLS="" | ||||
|     FIREWALLS="$(ls $SERVICE_DIR/firewall-*.json | grep $NAME)" | ||||
|     for FIREWALL in $(echo $FIREWALLS); do | ||||
|         cat $FIREWALL | jq '.containers[] |= ( | ||||
|         if (.ENVS | map(has("OPERATION")) | any) then | ||||
|             # If any entry has OPERATION key, update it | ||||
|             .ENVS = [.ENVS[] | if has("OPERATION") then {"OPERATION": "DELETE"} else . end] | ||||
|         else | ||||
|             # If no entry has OPERATION key, add new entry | ||||
|             .ENVS += [{"OPERATION": "DELETE"}] | ||||
|         end | ||||
|         )' >$FIREWALL.tmp | ||||
|         debug "$service_exec $FIREWALL.tmp start info" | ||||
|         $service_exec $FIREWALL.tmp start info | ||||
|         rm $FIREWALL.tmp | ||||
|     done | ||||
|  | ||||
|     # delete domains | ||||
|     DOMMAINS="" | ||||
|     DOMAINS="$(ls $SERVICE_DIR/domain-*.json | grep $NAME)" | ||||
|     for DOMAIN in $(echo $DOMAINS); do | ||||
|         cat $DOMAIN | jq '.containers[] |= ( | ||||
|         if (.ENVS | map(has("OPERATION")) | any) then | ||||
|             # If any entry has OPERATION key, update it | ||||
|             .ENVS = [.ENVS[] | if has("OPERATION") then {"OPERATION": "DELETE"} else . end] | ||||
|         else | ||||
|             # If no entry has OPERATION key, add new entry | ||||
|             .ENVS += [{"OPERATION": "DELETE"}] | ||||
|         end | ||||
|         )' >$DOMAIN.tmp | ||||
|         debug "$service_exec $DOMAIN.tmp start info" | ||||
|         $service_exec $DOMAIN.tmp start info | ||||
|         rm $DOMAIN.tmp | ||||
|     done | ||||
|  | ||||
|     # remove related directories and files | ||||
|     # get volume destinations | ||||
|     DESTINATIONS="" | ||||
|     VOLUMES="" | ||||
|     DESTINATIONS=$(cat $SERVICE_DIR/service-$NAME.json | jq -r '[.containers[] | select(has("VOLUMES")) | .VOLUMES[] | select(.SHARED != "true") | .SOURCE] | unique[]' | grep $NAME) | ||||
|     for DESTINATION in $(echo $DESTINATIONS); do | ||||
|         if [ -d "$DESTINATION" ] || [ -f "$DESTINATION" ]; then | ||||
|             rm -rf $DESTINATION | ||||
|             debug "deleted directory or file: $DESTINATION" | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     VOLUMES=$(cat $SERVICE_DIR/service-$NAME.json | jq -r '[.containers[] | select(has("VOLUMES")) | .VOLUMES[] | select(.SHARED != "true") | .SOURCE] | unique[]' | grep -vE 'USER|SYSTEM') | ||||
|     for VOLUME in $(echo $VOLUMES); do | ||||
|         if [ "$(echo $VOLUME | cut -d '/' -f1)" ]; then | ||||
|             docker volume rm $VOLUME | ||||
|             debug "deleted volume: $VOLUME" | ||||
|  | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     # stop service | ||||
|     # force - remove stopped container, docker rm | ||||
|     debug "$service_exec service-$NAME.json stop force dns-remove" | ||||
| @@ -167,7 +224,7 @@ remove_additionals() { | ||||
|  | ||||
|     # remove service files | ||||
|     rm $SERVICE_DIR/*"-"$NAME.json # service, domain, etc. | ||||
|     rm $SECRET_DIR/$NAME/$NAME.json | ||||
|  | ||||
| } | ||||
|  | ||||
| get_repositories() { | ||||
| @@ -182,10 +239,10 @@ get_repositories() { | ||||
|  | ||||
|         BASE=$(basename $REPO | cut -d '.' -f1) | ||||
|         if [ ! -d "/tmp/$BASE" ]; then | ||||
|             git clone $REPO /tmp/$BASE >/dev/null | ||||
|             GIT_HTTP_CONNECT_TIMEOUT=10 GIT_HTTP_TIMEOUT=30 git clone $REPO /tmp/$BASE >/dev/null | ||||
|         else | ||||
|             cd /tmp/$BASE | ||||
|             git pull >/dev/null | ||||
|             GIT_HTTP_CONNECT_TIMEOUT=10 GIT_HTTP_TIMEOUT=30 git pull >/dev/null | ||||
|         fi | ||||
|         if [ -f "/tmp/$BASE/applications-tree.json" ]; then | ||||
|             TREES=$TREES" /tmp/$BASE/applications-tree.json" | ||||
| @@ -550,9 +607,9 @@ upgrade() { | ||||
|  | ||||
|     if [ "$NAME" == "web-installer" ]; then | ||||
|  | ||||
|         debug "$service_exec service-framework-scheduler.containers.webserver start info" | ||||
|         $service_exec service-framework-scheduler.containers.webserver stop force | ||||
|         $service_exec service-framework-scheduler.containers.webserver start info & | ||||
|         debug "$service_exec service-framework.containers.webserver start info" | ||||
|         $service_exec service-framework.containers.webserver stop force | ||||
|         $service_exec service-framework.containers.webserver start info & | ||||
|  | ||||
|     else | ||||
|  | ||||
| @@ -560,6 +617,7 @@ upgrade() { | ||||
|         $service_exec $NAME.json stop force | ||||
|         $service_exec $NAME.json start info & | ||||
|     fi | ||||
|     PID=$! | ||||
| } | ||||
|  | ||||
| execute_task() { | ||||
| @@ -594,7 +652,7 @@ execute_task() { | ||||
|         #fi; | ||||
|         JSON_TARGET=$(echo '{ "DATE": "'$DATE'", "INSTALL_STATUS": "'$INSTALL_STATUS'" }' | jq -r . | base64 -w0) | ||||
|  | ||||
|     elif [ "$TASK_NAME" == "letsencrypt" ]; then | ||||
|     elif [ "$TASK_NAME" == "request_letsencrypt" ]; then | ||||
|         DOMAINS=$(echo $B64_JSON | base64 -d | jq -r 'keys[]') | ||||
|         for DOMAIN in $(echo $DOMAINS); do | ||||
|             REQUEST=$(echo $B64_JSON | base64 -d | jq -r ".[\"$DOMAIN\"].status") | ||||
| @@ -604,6 +662,7 @@ execute_task() { | ||||
|                 touch /etc/system/data/ssl/keys/$DOMAIN/new_certificate | ||||
|             fi | ||||
|         done | ||||
|         JSON_TARGET=$B64_JSON | ||||
|  | ||||
|     elif [ "$TASK_NAME" == "system" ]; then | ||||
|         #SYSTEM_LIST="core-dns.json cron.json domain-local-backend.json firewall-letsencrypt.json firewall-local-backend.json firewall-localloadbalancer-dns.json firewall-localloadbalancer-to-smarthostbackend.json firewall-smarthost-backend-dns.json firewall-smarthost-loadbalancer-dns.json firewall-smarthost-to-backend.json firewall-smarthostloadbalancer-from-publicbackend.json letsencrypt.json local-backend.json local-proxy.json service-framework.json smarthost-proxy-scheduler.json smarthost-proxy.json" | ||||
| @@ -903,15 +962,20 @@ execute_task() { | ||||
|         CONTAINERS=$(docker ps -a --format '{{.Names}} {{.Status}}' | grep -v framework-scheduler) | ||||
|         RESULT=$(echo "$CONTAINERS" | base64 -w0) | ||||
|         JSON_TARGET=$(echo '{ "DATE": "'$DATE'", "RESULT": "'$RESULT'" }' | jq -r . | base64 -w0) | ||||
|  | ||||
|     elif [ "$TASK_NAME" == "upgrade" ]; then | ||||
|         JSON="$(echo $B64_JSON | base64 -d)" | ||||
|         NAME=$(echo "$JSON" | jq -r .NAME | awk '{print tolower($0)}') | ||||
|         if [ "$NAME" == "framework" ]; then | ||||
|             upgrade_scheduler | ||||
|             upgrade "web-installer" | ||||
|             #CONTAINERS=$(docker ps -a --format '{{.Names}} {{.Status}}' | grep -E 'framework-scheduler|webserver') | ||||
|         else | ||||
|             upgrade "$NAME" | ||||
|             #CONTAINERS=$(docker ps -a --format '{{.Names}} {{.Status}}' | grep -w "$NAME") | ||||
|         fi | ||||
|         #RESULT=$(echo "$CONTAINERS" | base64 -w0) | ||||
|         sh /scripts/check_pid.sh "$PID" "$SHARED" "$TASK_NAME-$NAME" "$DATE" "$DEBUG" & | ||||
|     fi | ||||
|  | ||||
|     if [ "$TASK_NAME" != "check_vpn" ]; then | ||||
|   | ||||
		Reference in New Issue
	
	Block a user