@incanta/config 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,13 @@
1
+ {
2
+ "type": "service_account",
3
+ "project_id": "redwood-464500",
4
+ "private_key_id": "3d34cead35b3b82492718e077cc60f0e791c923e",
5
+ "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDCF2CLygVv5LMK\n51Yz9/NJMcvQUVFUHQWfIeSkn+q21zlODU/EtECQprhDdNAg05bb1jy/Qa7QQeUl\nrn8uJAqVJkFJxJGJraOcmnE0XRcNVEX/Yud8Ftj1ilN59suZFu5cJ1pk9jaHEane\nTuhyg83CI10m1DXkpiPQTVdXWyae6arIGnzUlC6W/a2rtxou0f+E6p+3Q4lhKo/o\n0qo71VS5u9eiyU+Avw371X9eOnf91LviRq/t8AXNoNiSBAoN3Z9wj9VoZLe+Clv0\nd4DXWURE+A5V8JY4l471bTrCwK4C5MGBeNUhCw8aFreMstw1Foexh83Nowtysara\nLttag013AgMBAAECggEACaNsjXSSUYyrYXq8eqcxAy0AYI9xOPqZ+V2PA6fXWY4V\nj+00TWHgJO7KjrsBzOeFAdTBPoQuALSNAxKHyUxL5D06l8W1rn8bdV7sCTwoNWa+\ndSC9uxlNW+ArJg7d7HPJkXT41bOuYIW9iEcl3u3xrVbhPNjj9j9T3vfAQxvJLrH4\nt7HXiRaYlTwhr7/8XUp+yWX+DeI+yf2eU9b0uT6xaY1+RFqLJXykis9Wlfn2IILn\n776fQ2I5rHUPmUm1iLYhvhyn24bwHP0ikcPF0X11oy6+S0mZlKjunbbIV7+Teh8k\n4EH5ioO2XYD2yKH7+89HQHnbEom+aZwQM6PD5UPByQKBgQDrXgK0uqSCobLRpdA+\n1pVYt0xat8pTBduJTCHztW2GDvyKAIHgRpFXRdPlZHOwJ47/riEBR+aBiWh2wZVt\nNHOriycpTFp1LTLbfJx3fWnyM8Tc8cdcLZZLQU9q49iXikXJ4yPJSLtQ0p4CR9Nh\n601ru7FwUfQzerjZ0myguLj32QKBgQDTGxLtCa65YhARKtvLyZj0DlVvDTcp1MR6\n4BRzBMekfFhZ4KvsS3YKIkqlUT432feC92q0vopvuMbAutDLdjXN9nJjpiT0Q+R5\n6G5SSb+QUM5kPiMaAf9Qyf3zOeI1uRznEXacWEWbBbmUiepm/kpX4SQoCrOvZDXf\nLFaecxftzwKBgQCE93dP4qFNq0v6ZFJhLZjxpZvdJDeI76Y2ymvj4nsdYRoKXH8C\n1NsHEsvCrB0vRyniB91de+EdDSOW84YXS6qNHu/gxOHVkNNKa/t5BcD0s4pjx7N4\nv8hIe30CRfX2pocGputwq0YnQtVBNJKWnvf+BOsZKTNsYchMRjRYGANnAQKBgEYx\nR163jHgpigwbQxAEjS4BIhkVvNTU4Su2HDaOTU985Oelk6SzBqGh+03ysIxjli/e\n0oUcoe059CQbOdedC5DbM/e8Q6dQd8StKxmDWgXDSIz+OC+qoFkdgKoCAhw428pc\n/SJJG4PLKISiQuVSAigsPRhvToWv/VWiaX6v6DHzAoGAPNoOSzZ6pNHZWNeNxXFc\nwRM1c/yetodtXw5ZESZf78cvJRGIKoVcqeZd3uhE37c0Bay+2ZUAHZH/Kp2B1BNc\nZv/f2MYzkwzpnQ1/H0RLlwKdKGncqZAm1ci8WNAVtb1berzpEwGGvs5sKWYuVyry\nm9TUUgEW6jDK95J8xdXr89E=\n-----END PRIVATE KEY-----\n",
6
+ "client_email": "redwoodapi@redwood-464500.iam.gserviceaccount.com",
7
+ "client_id": "110108961992725902735",
8
+ "auth_uri": "https://accounts.google.com/o/oauth2/auth",
9
+ "token_uri": "https://oauth2.googleapis.com/token",
10
+ "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
11
+ "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/redwoodapi%40redwood-464500.iam.gserviceaccount.com",
12
+ "universe_domain": "googleapis.com"
13
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"gcp-secret-manager.d.ts","sourceRoot":"","sources":["../../src/secrets/gcp-secret-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,qBAAa,+BAAgC,YAAW,gBAAgB;IACzD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOpD,SAAS,CACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;CAiBnB"}
1
+ {"version":3,"file":"gcp-secret-manager.d.ts","sourceRoot":"","sources":["../../src/secrets/gcp-secret-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,MAAM,MAAM,WAAW,CAAC;AAG/B,qBAAa,+BAAgC,YAAW,gBAAgB;IACzD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOpD,SAAS,CACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;CA0BnB"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.GcpSecretManagerSecretsProvider = void 0;
4
7
  const secret_manager_1 = require("@google-cloud/secret-manager");
5
8
  const { SecretManagerServiceClient } = secret_manager_1.v1;
9
+ const path_1 = __importDefault(require("path"));
6
10
  class GcpSecretManagerSecretsProvider {
7
11
  async getAuthToken(config) {
8
12
  return {
@@ -11,6 +15,10 @@ class GcpSecretManagerSecretsProvider {
11
15
  };
12
16
  }
13
17
  async getSecret(config, token, name) {
18
+ if (!process.env.GOOGLE_APPLICATION_CREDENTIALS) {
19
+ const credentialsPath = path_1.default.resolve(process.cwd(), config.get("secrets.gcp-secret-manager.credentials-file"));
20
+ process.env.GOOGLE_APPLICATION_CREDENTIALS = credentialsPath;
21
+ }
14
22
  const client = new SecretManagerServiceClient();
15
23
  const projectId = config.get("secrets.gcp-secret-manager.project-id");
16
24
  const [secret] = await client.accessSecretVersion({
@@ -1 +1 @@
1
- {"version":3,"file":"gcp-secret-manager.js","sourceRoot":"","sources":["../../src/secrets/gcp-secret-manager.ts"],"names":[],"mappings":";;;AAAA,iEAAkD;AAClD,MAAM,EAAE,0BAA0B,EAAE,GAAG,mBAAE,CAAC;AAI1C,MAAa,+BAA+B;IACnC,KAAK,CAAC,YAAY,CAAC,MAAc;QACtC,OAAO;YACL,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;SAC5C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,MAAc,EACd,KAAa,EACb,IAAY;QAEZ,MAAM,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAEhD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAC1B,uCAAuC,CACxC,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;YAChD,IAAI,EAAE,YAAY,SAAS,YAAY,IAAI,kBAAkB;SAC9D,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;SACvD;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;CACF;AA7BD,0EA6BC"}
1
+ {"version":3,"file":"gcp-secret-manager.js","sourceRoot":"","sources":["../../src/secrets/gcp-secret-manager.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAkD;AAClD,MAAM,EAAE,0BAA0B,EAAE,GAAG,mBAAE,CAAC;AAG1C,gDAAwB;AAExB,MAAa,+BAA+B;IACnC,KAAK,CAAC,YAAY,CAAC,MAAc;QACtC,OAAO;YACL,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;SAC5C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,MAAc,EACd,KAAa,EACb,IAAY;QAEZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE;YAC/C,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAClC,OAAO,CAAC,GAAG,EAAE,EACb,MAAM,CAAC,GAAG,CAAS,6CAA6C,CAAC,CAClE,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,eAAe,CAAC;SAC9D;QAED,MAAM,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAEhD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAC1B,uCAAuC,CACxC,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;YAChD,IAAI,EAAE,YAAY,SAAS,YAAY,IAAI,kBAAkB;SAC9D,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;SACvD;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;CACF;AAtCD,0EAsCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/secrets/vault.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO7D,qBAAa,oBAAqB,YAAW,gBAAgB;IAC9C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBpD,SAAS,CACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;CAwDnB"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/secrets/vault.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO7D,qBAAa,oBAAqB,YAAW,gBAAgB;IAC9C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBpD,SAAS,CACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;CAyDnB"}
@@ -31,8 +31,9 @@ class VaultSecretsProvider {
31
31
  async getSecret(config, token, name) {
32
32
  const kvEngine = config.get("secrets.vault.kv-engine");
33
33
  const engineName = config.get("secrets.vault.engine-name");
34
+ const pathPrefix = config.get("secrets.vault.path-prefix");
34
35
  if (kvEngine === VaultKvEngine.V1) {
35
- const response = await axios_1.default.get(`${config.get("secrets.vault.endpoint")}/v1/${engineName}/${name}`, {
36
+ const response = await axios_1.default.get(`${config.get("secrets.vault.endpoint")}/v1/${engineName}/${pathPrefix}${name}`, {
36
37
  headers: {
37
38
  "X-Vault-Token": token,
38
39
  "X-Vault-Namespace": config.get("secrets.vault.namespace"),
@@ -47,7 +48,7 @@ class VaultSecretsProvider {
47
48
  return response.data.data.value;
48
49
  }
49
50
  else if (kvEngine === VaultKvEngine.V2) {
50
- const response = await axios_1.default.get(`${config.get("secrets.vault.endpoint")}/v1/${engineName}/data/${name}`, {
51
+ const response = await axios_1.default.get(`${config.get("secrets.vault.endpoint")}/v1/${engineName}/data/${pathPrefix}${name}`, {
51
52
  headers: {
52
53
  "X-Vault-Token": token,
53
54
  "X-Vault-Namespace": config.get("secrets.vault.namespace"),
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/secrets/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/secrets/vault.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incanta/config",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "main": "lib/index.js",
5
5
  "exports": {
6
6
  ".": "./lib/index.js",
@@ -2,6 +2,7 @@ import { v1 } from "@google-cloud/secret-manager";
2
2
  const { SecretManagerServiceClient } = v1;
3
3
  import { ISecretsProvider, ISecretsToken } from "./provider";
4
4
  import Config from "../config";
5
+ import path from "path";
5
6
 
6
7
  export class GcpSecretManagerSecretsProvider implements ISecretsProvider {
7
8
  public async getAuthToken(config: Config): Promise<ISecretsToken> {
@@ -16,6 +17,15 @@ export class GcpSecretManagerSecretsProvider implements ISecretsProvider {
16
17
  token: string,
17
18
  name: string
18
19
  ): Promise<string> {
20
+ if (!process.env.GOOGLE_APPLICATION_CREDENTIALS) {
21
+ const credentialsPath = path.resolve(
22
+ process.cwd(),
23
+ config.get<string>("secrets.gcp-secret-manager.credentials-file")
24
+ );
25
+
26
+ process.env.GOOGLE_APPLICATION_CREDENTIALS = credentialsPath;
27
+ }
28
+
19
29
  const client = new SecretManagerServiceClient();
20
30
 
21
31
  const projectId = config.get<string>(
@@ -39,12 +39,13 @@ export class VaultSecretsProvider implements ISecretsProvider {
39
39
  ): Promise<string> {
40
40
  const kvEngine = config.get<VaultKvEngine>("secrets.vault.kv-engine");
41
41
  const engineName = config.get<string>("secrets.vault.engine-name");
42
+ const pathPrefix = config.get<string>("secrets.vault.path-prefix");
42
43
 
43
44
  if (kvEngine === VaultKvEngine.V1) {
44
45
  const response = await axios.get(
45
46
  `${config.get<string>(
46
47
  "secrets.vault.endpoint"
47
- )}/v1/${engineName}/${name}`,
48
+ )}/v1/${engineName}/${pathPrefix}${name}`,
48
49
  {
49
50
  headers: {
50
51
  "X-Vault-Token": token,
@@ -68,7 +69,7 @@ export class VaultSecretsProvider implements ISecretsProvider {
68
69
  const response = await axios.get(
69
70
  `${config.get<string>(
70
71
  "secrets.vault.endpoint"
71
- )}/v1/${engineName}/data/${name}`,
72
+ )}/v1/${engineName}/data/${pathPrefix}${name}`,
72
73
  {
73
74
  headers: {
74
75
  "X-Vault-Token": token,