Browse Source

Merge pull request #2292 from cngarrison/master

change to routeros native script rather than bash multiline commands
neil 5 years ago
parent
commit
06f860c8ea
1 changed files with 20 additions and 23 deletions
  1. 20 23
      deploy/routeros.sh

+ 20 - 23
deploy/routeros.sh

@@ -85,30 +85,27 @@ routeros_deploy() {
   scp "$_ckey" "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST:$_cdomain.key"
   _info "Trying to push cert '$_cfullchain' to router"
   scp "$_cfullchain" "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST:$_cdomain.cer"
+  DEPLOY_SCRIPT_CMD="/system script add name=\"LE Cert Deploy - $_cdomain\" owner=admin policy=ftp,read,write,password,sensitive 
+source=\"## generated by routeros deploy script in acme.sh
+\n/certificate remove [ find name=$_cdomain.cer_0 ]
+\n/certificate remove [ find name=$_cdomain.cer_1 ]
+\ndelay 1
+\n/certificate import file-name=$_cdomain.cer passphrase=\\\"\\\"
+\n/certificate import file-name=$_cdomain.key passphrase=\\\"\\\"
+\ndelay 1
+\n/file remove $_cdomain.cer
+\n/file remove $_cdomain.key
+\ndelay 2
+\n/ip service set www-ssl certificate=$_cdomain.cer_0
+\n$ROUTER_OS_ADDITIONAL_SERVICES
+\n\"
+"
   # shellcheck disable=SC2029
-  ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" bash -c "'
-
-/certificate remove $_cdomain.cer_0
-
-/certificate remove $_cdomain.cer_1
-
-delay 1
-
-/certificate import file-name=$_cdomain.cer passphrase=\"\"
-
-/certificate import file-name=$_cdomain.key passphrase=\"\"
-
-delay 1
-
-/file remove $_cdomain.cer
-
-/file remove $_cdomain.key
-
-delay 2
-
-/ip service set www-ssl certificate=$_cdomain.cer_0
-$ROUTER_OS_ADDITIONAL_SERVICES
+  ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" "$DEPLOY_SCRIPT_CMD"
+  # shellcheck disable=SC2029
+  ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" "/system script run \"LE Cert Deploy - $_cdomain\""
+  # shellcheck disable=SC2029
+  ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" "/system script remove \"LE Cert Deploy - $_cdomain\""
 
-'"
   return 0
 }