60 lines
1.2 KiB
Plaintext
60 lines
1.2 KiB
Plaintext
local compose = import '../node_modules/@sigyl/jsonnet-compose/compose.libsonnet';
|
|
{
|
|
// the head of an array
|
|
head(array): array[0],
|
|
// the tail of an array
|
|
tail(array): std.makeArray(
|
|
std.length(array) -1,
|
|
function(x) array[x + 1],
|
|
),
|
|
fromSecret(secret): {
|
|
from_secret: secret,
|
|
},
|
|
secret(secret): std.asciiLower(
|
|
std.strReplace(
|
|
secret,
|
|
'_',
|
|
'-',
|
|
),
|
|
),
|
|
environment(secret): std.asciiUpper(
|
|
std.strReplace(
|
|
secret,
|
|
'-',
|
|
'_',
|
|
),
|
|
),
|
|
env(secret): std.asciiLower(
|
|
std.strReplace(
|
|
secret,
|
|
'-',
|
|
'_',
|
|
),
|
|
),
|
|
envSet(env): function(step) step {
|
|
environment +: {
|
|
[$.environment(env)]: $.fromSecret(
|
|
$.secret(env)
|
|
),
|
|
},
|
|
settings +: {
|
|
envs +: [
|
|
$.env(env),
|
|
],
|
|
},
|
|
},
|
|
printEnv(file, env): function(step) compose([
|
|
$.envSet(env),
|
|
function(step) step {
|
|
settings +: {
|
|
script +: [
|
|
'echo "export %(environment)s=\'$${%(environment)s}\'" >> %(file)s # "%(secret)s"' % {
|
|
environment: $.environment(env),
|
|
file: file,
|
|
secret: $.secret(env),
|
|
},
|
|
],
|
|
},
|
|
},
|
|
])(step),
|
|
} |