diff --git a/action.js b/action.js index a8c9a98..144a696 100644 --- a/action.js +++ b/action.js @@ -5,17 +5,22 @@ const got = require('got'); async function exportSecrets() { const vaultUrl = core.getInput('url', { required: true }); const vaultToken = core.getInput('token', { required: true }); + const vaultNamespace = core.getInput('namespace', { required: false }); const secretsInput = core.getInput('secrets', { required: true }); const secrets = parseSecretsInput(secretsInput); for (const secret of secrets) { const { secretPath, outputName, secretKey } = secret; - const result = await got(`${vaultUrl}/v1/secret/data/${secretPath}`, { + var headers = { headers: { 'X-Vault-Token': vaultToken - } - }); + }}; + if (vaultNamespace != null){ + headers.headers["X-Vault-Namespace"] = vaultNamespace + } + + const result = await got(`${vaultUrl}/v1/secret/data/${secretPath}`, headers); const parsedResponse = JSON.parse(result.body); const vaultKeyData = parsedResponse.data; diff --git a/action.yml b/action.yml index 1e5366d..61dbf3e 100644 --- a/action.yml +++ b/action.yml @@ -10,6 +10,9 @@ inputs: secrets: description: 'A semicolon-separated list of secrets to retrieve. These will automatically be converted to environmental variable keys. See README for more details' required: true + namespace: + description: 'The Vault namespace to request, by default it request root' + required: false runs: using: 'node12' main: 'dist/index.js'