From 8e7e549162e745ecedcb0ccc086bd53eeb9886d0 Mon Sep 17 00:00:00 2001 From: Giles Bradshaw Date: Sun, 26 Apr 2020 13:21:26 +0100 Subject: [PATCH] . --- .drone.star | 50 ++++++++++++++++++++++--- drone-starlark/repos/print-secrets.star | 2 +- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/.drone.star b/.drone.star index 8196162..4bf2cf1 100644 --- a/.drone.star +++ b/.drone.star @@ -1,9 +1,49 @@ -load("@this//:from-secret.star", "fromSecret") -load("@this//:print-secrets.star", "printSecrets") -load("@this//:print-secrets.star", "environment") -load("@this//:print-secrets.star", "export") -load("@this//:map.star", "map") +load("@this//:fromsecret.star", "example_step") +def fromSecret(name): + return { + "from_secret": name + } +def environment(env): + return dict( + [(x.replace("-", "_").upper(), fromSecret(x)) for x in env] + ) +def map(fn, l): + return [fn(x) for x in l] +def secretToEnvironment(secret): + return secret.replace("-", "_").upper() +def echo(secret): + return 'echo "export {environment}=${environment}" >> ***filename*** # {secret}'.format( + secret = secret, + environment = secret.replace("-", "_").upper(), + ) +def echoSecret(secret): + return 'echo "export {environment}=???" >> ***filename*** # {secret}'.format( + secret = secret, + environment = secret.replace("-", "_").upper() + ) +def export(secret): + return "export {toCaps}=${toCaps}".format( + toCaps = secretToEnvironment(secret), + ) +def printSecrets(filename, env, secretEnv): + + return { + "name": "print secrets", + "image": "appleboy/drone-ssh", + "environment": environment(env), + "settings": { + "envs": [x.replace("-", "_") for x in env ], + "host": fromSecret("ssh-host"), + "port": fromSecret("ssh-port"), + "username": fromSecret("ssh-user"), + "password": fromSecret("ssh-password"), + "script": [x.replace("***filename***", filename) for x in [ + "rm -f env-stack", + ] + map(echo, env) + + map(echoSecret, secretEnv)] + } + } def wait(delay, name): return { "name": name, diff --git a/drone-starlark/repos/print-secrets.star b/drone-starlark/repos/print-secrets.star index 10426c5..38c6c88 100644 --- a/drone-starlark/repos/print-secrets.star +++ b/drone-starlark/repos/print-secrets.star @@ -21,7 +21,7 @@ def echoSecret(secret): def export(secret): return "export {toCaps}=${toCaps}".format( - toCaps = secretToEnvironment(secret), + toCaps = secret.replace("-", "_").upper(), ) def printSecrets(filename, env, secretEnv): return {