43 lines
1.3 KiB
Plaintext
43 lines
1.3 KiB
Plaintext
load("@this//:map.star", "map")
|
|
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)]
|
|
}
|
|
}
|