diff --git a/.drone.yml b/.drone.yml old mode 100644 new mode 100755 diff --git a/Dockerfile b/Dockerfile old mode 100644 new mode 100755 diff --git a/run b/run index d414eca..74abf45 100755 --- a/run +++ b/run @@ -1,9 +1,21 @@ -#!/bin/sh -SOURCE=${PLUGIN_SOURCE:-.} -TARGET=$PLUGIN_TARGET +#!/usr/bin/env python3 +import os +import tempfile +import shutil +import glob +from subprocess import run -mkdir /tmp/deploy -cp -Rv $SOURCE /tmp/deploy -echo "$PLUGIN_KEY" > /tmp/deploy.rsa -chmod 0600 /tmp/deploy.rsa -scp -i /tmp/deploy.rsa -o StrictHostKeyChecking=no -r /tmp/deploy/* $TARGET +SOURCE = os.environ.get("PLUGIN_SOURCE", ".") +TARGET = os.environ['PLUGIN_TARGET'] + +def deploy(source, target, keyfile): + for source_file in glob.glob(source): + run(["scp", "-i", keyfile, "-o", "StrictHostKeyChecking=no", "-r", source_file, target]) + +with tempfile.NamedTemporaryFile() as deploy_key: + deploy_key.write(os.environ['PLUGIN_KEY'].encode()) + deploy_key.write(b"\n") + deploy_key.flush() + + os.chmod(deploy_key.name, 0o600) + deploy(SOURCE, TARGET, deploy_key.name)