5
0
Fork 0
mirror of https://github.com/hashicorp/vault-action.git synced 2025-11-09 08:06:55 +00:00

add * wildcard for fetch all secrets

This commit is contained in:
matryxxx02 2021-08-26 17:40:23 +02:00
parent c2dbbf64ea
commit 5ab26dde94
4 changed files with 13 additions and 14 deletions

12
dist/index.js vendored
View file

@ -10895,7 +10895,9 @@ async function getSecrets(secretRequests, client) {
} }
let value; let value;
if(selector !== "*"){ if(selector === "*"){
value = body.data["data"];
} else {
if (!selector.match(/.*[\.].*/)) { if (!selector.match(/.*[\.].*/)) {
selector = '"' + selector + '"' selector = '"' + selector + '"'
} }
@ -10905,8 +10907,6 @@ async function getSecrets(secretRequests, client) {
selector = "data." + selector selector = "data." + selector
} }
value = selectData(body, selector); value = selectData(body, selector);
} else {
value = body.data["data"];
} }
results.push({ results.push({
@ -14690,8 +14690,8 @@ async function exportSecrets() {
addMask(value) addMask(value)
core.exportVariable(request.envVarName, value); core.exportVariable(request.envVarName, value);
} }
//core.setOutput(request.outputVarName, `${value}`); core.setOutput(request.outputVarName, typeof value === "object" ? value : `${value}`);
//core.debug(`✔ ${request.path} => outputs.${request.outputVarName}${exportEnv ? ` | env.${request.envVarName}` : ''}`); core.debug(`${request.path} => outputs.${request.outputVarName}${exportEnv ? ` | env.${request.envVarName}` : ''}`);
} }
}; };
@ -14743,7 +14743,7 @@ function parseSecretsInput(secretsInput) {
if (selectorQuoted === "*") { if (selectorQuoted === "*") {
output.push({ output.push({
path, path,
envVarName: "", envVarName: "*",
outputVarName: "", outputVarName: "",
selector: "*" selector: "*"
}); });

View file

@ -97,8 +97,8 @@ async function exportSecrets() {
addMask(value) addMask(value)
core.exportVariable(request.envVarName, value); core.exportVariable(request.envVarName, value);
} }
//core.setOutput(request.outputVarName, `${value}`); core.setOutput(request.outputVarName, typeof value === "object" ? value : `${value}`);
//core.debug(`✔ ${request.path} => outputs.${request.outputVarName}${exportEnv ? ` | env.${request.envVarName}` : ''}`); core.debug(`${request.path} => outputs.${request.outputVarName}${exportEnv ? ` | env.${request.envVarName}` : ''}`);
} }
}; };
@ -150,7 +150,7 @@ function parseSecretsInput(secretsInput) {
if (selectorQuoted === "*") { if (selectorQuoted === "*") {
output.push({ output.push({
path, path,
envVarName: "", envVarName: "*",
outputVarName: "", outputVarName: "",
selector: "*" selector: "*"
}); });

View file

@ -27,12 +27,11 @@ describe('parseSecretsInput', () => {
it('parses all secrets', () => { it('parses all secrets', () => {
const output = parseSecretsInput('test *'); const output = parseSecretsInput('test *');
console.log(output);
expect(output).toContainEqual({ expect(output).toContainEqual({
path: 'test', path: 'test',
selector: '*', selector: '*',
outputVarName: '', outputVarName: '',
envVarName: '' envVarName: '*'
}); });
}); });

View file

@ -40,7 +40,9 @@ async function getSecrets(secretRequests, client) {
} }
let value; let value;
if(selector !== "*"){ if(selector === "*"){
value = body.data["data"];
} else {
if (!selector.match(/.*[\.].*/)) { if (!selector.match(/.*[\.].*/)) {
selector = '"' + selector + '"' selector = '"' + selector + '"'
} }
@ -50,8 +52,6 @@ async function getSecrets(secretRequests, client) {
selector = "data." + selector selector = "data." + selector
} }
value = selectData(body, selector); value = selectData(body, selector);
} else {
value = body.data["data"];
} }
results.push({ results.push({