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:
parent
c2dbbf64ea
commit
5ab26dde94
4 changed files with 13 additions and 14 deletions
12
dist/index.js
vendored
12
dist/index.js
vendored
|
|
@ -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: "*"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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: "*"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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: '*'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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({
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue