@p0security/cli 0.11.1 → 0.11.3

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.
Files changed (47) hide show
  1. package/dist/commands/__tests__/login.test.js +17 -0
  2. package/dist/commands/__tests__/login.test.js.map +1 -1
  3. package/dist/commands/__tests__/ls.test.js +4 -3
  4. package/dist/commands/__tests__/ls.test.js.map +1 -1
  5. package/dist/commands/__tests__/ssh.test.js +10 -5
  6. package/dist/commands/__tests__/ssh.test.js.map +1 -1
  7. package/dist/commands/kubeconfig.js +11 -15
  8. package/dist/commands/kubeconfig.js.map +1 -1
  9. package/dist/commands/login.js +11 -0
  10. package/dist/commands/login.js.map +1 -1
  11. package/dist/commands/ls.js +4 -6
  12. package/dist/commands/ls.js.map +1 -1
  13. package/dist/commands/shared/request.js +2 -2
  14. package/dist/commands/shared/request.js.map +1 -1
  15. package/dist/drivers/__mocks__/stdio.d.ts +14 -0
  16. package/dist/drivers/__mocks__/stdio.js +26 -0
  17. package/dist/drivers/__mocks__/stdio.js.map +1 -0
  18. package/dist/drivers/ansi.d.ts +8 -0
  19. package/dist/drivers/ansi.js +25 -0
  20. package/dist/drivers/ansi.js.map +1 -0
  21. package/dist/drivers/auth.d.ts +1 -0
  22. package/dist/drivers/auth.js +8 -4
  23. package/dist/drivers/auth.js.map +1 -1
  24. package/dist/drivers/stdio.d.ts +6 -5
  25. package/dist/drivers/stdio.js +50 -7
  26. package/dist/drivers/stdio.js.map +1 -1
  27. package/dist/plugins/aws/__tests__/utils.test.d.ts +1 -0
  28. package/dist/plugins/aws/__tests__/utils.test.js +82 -0
  29. package/dist/plugins/aws/__tests__/utils.test.js.map +1 -0
  30. package/dist/plugins/aws/ssh.js +45 -23
  31. package/dist/plugins/aws/ssh.js.map +1 -1
  32. package/dist/plugins/aws/types.d.ts +6 -4
  33. package/dist/plugins/aws/utils.d.ts +20 -0
  34. package/dist/plugins/aws/utils.js +54 -0
  35. package/dist/plugins/aws/utils.js.map +1 -0
  36. package/dist/plugins/google/ssh-key.js +9 -1
  37. package/dist/plugins/google/ssh-key.js.map +1 -1
  38. package/dist/plugins/google/ssh.js +61 -28
  39. package/dist/plugins/google/ssh.js.map +1 -1
  40. package/dist/plugins/kubeconfig/index.d.ts +2 -2
  41. package/dist/plugins/kubeconfig/index.js +17 -14
  42. package/dist/plugins/kubeconfig/index.js.map +1 -1
  43. package/dist/plugins/kubeconfig/types.d.ts +9 -8
  44. package/dist/plugins/ssh/index.js +55 -86
  45. package/dist/plugins/ssh/index.js.map +1 -1
  46. package/dist/types/ssh.d.ts +28 -13
  47. package/package.json +3 -3
@@ -29,6 +29,7 @@ jest.mock("fs/promises");
29
29
  jest.mock("../../drivers/auth", () => (Object.assign(Object.assign({}, jest.requireActual("../../drivers/auth")), { IDENTITY_FILE_PATH: "/path/to/home/.p0" })));
30
30
  jest.mock("../../drivers/stdio");
31
31
  jest.mock("../../plugins/login");
32
+ const mockSignInWithCredential = auth_1.signInWithCredential;
32
33
  const mockReadFile = promises_1.readFile;
33
34
  const mockWriteFile = promises_1.writeFile;
34
35
  describe("login", () => {
@@ -50,6 +51,13 @@ describe("login", () => {
50
51
  mockWriteFile.mockImplementation((_path, data) => __awaiter(void 0, void 0, void 0, function* () {
51
52
  credentialData = data;
52
53
  }));
54
+ mockSignInWithCredential.mockImplementation((_auth, _firebaseCredential) => __awaiter(void 0, void 0, void 0, function* () {
55
+ return Promise.resolve({
56
+ user: {
57
+ email: "user@p0.dev",
58
+ },
59
+ });
60
+ }));
53
61
  beforeEach(() => {
54
62
  credentialData = "";
55
63
  jest.clearAllMocks();
@@ -71,6 +79,15 @@ describe("login", () => {
71
79
  yield (0, login_2.login)({ org: "test-org" });
72
80
  expect(auth_1.signInWithCredential.mock.calls).toMatchSnapshot();
73
81
  }));
82
+ it("returns an error message if firebase cannot determine the user's email", () => __awaiter(void 0, void 0, void 0, function* () {
83
+ mockSignInWithCredential.mockResolvedValueOnce({
84
+ user: {},
85
+ });
86
+ yield expect((0, login_2.login)({ org: "test-org" })).rejects.toMatchInlineSnapshot(`
87
+ "Can not sign in: this user has previously signed in with a different identity provider.
88
+ Please contact support@p0.dev to enable this user."
89
+ `);
90
+ }));
74
91
  });
75
92
  });
76
93
  //# sourceMappingURL=login.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/login.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/login.test.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ const yargs_2 = __importDefault(require("yargs"));
30
30
  jest.mock("../../drivers/api");
31
31
  jest.mock("../../drivers/auth");
32
32
  jest.mock("../../drivers/stdio");
33
+ jest.spyOn(process, "exit");
33
34
  const mockFetchCommand = api_1.fetchCommand;
34
35
  const mockPrint1 = stdio_1.print1;
35
36
  const mockPrint2 = stdio_1.print2;
@@ -48,13 +49,13 @@ describe("ls", () => {
48
49
  { key: "instance-1", group: "Group", value: "Resource 1" },
49
50
  { key: "instance-2", value: "Resource 2" },
50
51
  ]);
51
- yield (0, ls_1.lsCommand)((0, yargs_2.default)()).parse(command);
52
+ yield (0, ls_1.lsCommand)((0, yargs_2.default)()).exitProcess(false).parse(command);
52
53
  expect(mockPrint1.mock.calls).toMatchSnapshot("stdout");
53
54
  expect(mockPrint2.mock.calls).toMatchSnapshot("stderr");
54
55
  }));
55
56
  it("should print friendly message if no items", () => __awaiter(void 0, void 0, void 0, function* () {
56
57
  mockItems([]);
57
- yield (0, ls_1.lsCommand)((0, yargs_2.default)()).parse(command);
58
+ yield (0, ls_1.lsCommand)((0, yargs_2.default)()).exitProcess(false).parse(command);
58
59
  expect(mockPrint1.mock.calls).toMatchSnapshot("stdout");
59
60
  expect(mockPrint2.mock.calls).toMatchSnapshot("stderr");
60
61
  }));
@@ -77,7 +78,7 @@ Unknown argument: foo`,
77
78
  });
78
79
  });
79
80
  it("should print error message", () => __awaiter(void 0, void 0, void 0, function* () {
80
- const error = yield (0, yargs_1.failure)((0, ls_1.lsCommand)((0, yargs_2.default)()), command);
81
+ const error = yield (0, yargs_1.failure)((0, ls_1.lsCommand)((0, yargs_2.default)().exitProcess(false)), command);
81
82
  expect(error).toMatchSnapshot();
82
83
  }));
83
84
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ls.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/ls.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,2CAAiD;AACjD,+CAAqD;AACrD,+CAA8C;AAC9C,8BAAkC;AAClC,kDAA0B;AAE1B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAEjC,MAAM,gBAAgB,GAAG,kBAAyB,CAAC;AACnD,MAAM,UAAU,GAAG,cAAmB,CAAC;AACvC,MAAM,UAAU,GAAG,cAAmB,CAAC;AAEvC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,MAAM,OAAO,GAAG,oBAAoB,CAAC;QAErC,MAAM,SAAS,GAAG,CAAC,KAAe,EAAE,EAAE,CACpC,gBAAgB,CAAC,iBAAiB,CAAC;YACjC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,aAAa;YAClB,KAAK;SACN,CAAC,CAAC;QAEL,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;YAC1C,SAAS,CAAC;gBACR,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC1D,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC3C,CAAC,CAAC;YACH,MAAM,IAAA,cAAS,EAAC,IAAA,eAAK,GAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;YACzD,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,IAAA,cAAS,EAAC,IAAA,eAAK,GAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC;QAEzB,SAAS,CAAC,GAAG,EAAE;YACb,gBAAgB,CAAC,iBAAiB,CAAC;gBACjC,KAAK,EAAE;;;;;;;;;;sBAUO;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;YAC1C,MAAM,KAAK,GAAG,MAAM,IAAA,eAAO,EAAC,IAAA,cAAS,EAAC,IAAA,eAAK,GAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ls.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/ls.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,2CAAiD;AACjD,+CAAqD;AACrD,+CAA8C;AAC9C,8BAAkC;AAClC,kDAA0B;AAE1B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACjC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5B,MAAM,gBAAgB,GAAG,kBAAyB,CAAC;AACnD,MAAM,UAAU,GAAG,cAAmB,CAAC;AACvC,MAAM,UAAU,GAAG,cAAmB,CAAC;AAEvC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,MAAM,OAAO,GAAG,oBAAoB,CAAC;QAErC,MAAM,SAAS,GAAG,CAAC,KAAe,EAAE,EAAE,CACpC,gBAAgB,CAAC,iBAAiB,CAAC;YACjC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,aAAa;YAClB,KAAK;SACN,CAAC,CAAC;QAEL,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;YAC1C,SAAS,CAAC;gBACR,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC1D,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC3C,CAAC,CAAC;YACH,MAAM,IAAA,cAAS,EAAC,IAAA,eAAK,GAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;YACzD,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,IAAA,cAAS,EAAC,IAAA,eAAK,GAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC;QAEzB,SAAS,CAAC,GAAG,EAAE;YACb,gBAAgB,CAAC,iBAAiB,CAAC;gBACjC,KAAK,EAAE;;;;;;;;;;sBAUO;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;YAC1C,MAAM,KAAK,GAAG,MAAM,IAAA,eAAO,EACzB,IAAA,cAAS,EAAC,IAAA,eAAK,GAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EACrC,OAAO,CACR,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -51,6 +51,7 @@ const MOCK_REQUEST = {
51
51
  },
52
52
  permission: {
53
53
  spec: {
54
+ awsResourcePermission: { permission: {} },
54
55
  instanceId: "instanceId",
55
56
  accountId: "accountId",
56
57
  region: "region",
@@ -92,19 +93,21 @@ describe("ssh", () => {
92
93
  });
93
94
  });
94
95
  it("should call p0 request with reason arg", () => __awaiter(void 0, void 0, void 0, function* () {
95
- void (0, ssh_2.sshCommand)((0, yargs_1.default)()).parse(`ssh some-instance --reason reason --provider aws`);
96
+ void (0, ssh_2.sshCommand)((0, yargs_1.default)())
97
+ .fail(lodash_1.noop)
98
+ .parse(`ssh some-instance --reason reason --provider aws`);
96
99
  yield (0, util_1.sleep)(100);
97
100
  const hiddenFilenameRequestArgs = (0, lodash_1.omit)(mockFetchCommand.mock.calls[0][1], "$0");
98
101
  expect(hiddenFilenameRequestArgs).toMatchSnapshot("args");
99
102
  }));
100
103
  it("should wait for access grant", () => __awaiter(void 0, void 0, void 0, function* () {
101
- const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)()).parse(`ssh some-instance`);
104
+ const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)()).fail(lodash_1.noop).parse(`ssh some-instance`);
102
105
  const wait = (0, util_1.sleep)(100);
103
106
  yield Promise.race([wait, promise]);
104
107
  yield expect(wait).resolves.toBeUndefined();
105
108
  }));
106
109
  it("should wait for provisioning", () => __awaiter(void 0, void 0, void 0, function* () {
107
- const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)()).parse(`ssh some-instance`);
110
+ const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)()).fail(lodash_1.noop).parse(`ssh some-instance`);
108
111
  yield (0, util_1.sleep)(100); // Need to wait for listen before trigger in tests
109
112
  firestore_2.onSnapshot.trigger({
110
113
  status: "APPROVED",
@@ -114,7 +117,9 @@ describe("ssh", () => {
114
117
  yield expect(wait).resolves.toBeUndefined();
115
118
  }));
116
119
  it("should call sshOrScp with non-interactive command", () => __awaiter(void 0, void 0, void 0, function* () {
117
- const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)()).parse(`ssh some-instance do something`);
120
+ const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)())
121
+ .fail(lodash_1.noop)
122
+ .parse(`ssh some-instance do something`);
118
123
  yield (0, util_1.sleep)(100); // Need to wait for listen before trigger in tests
119
124
  firestore_2.onSnapshot.trigger({
120
125
  status: "APPROVED",
@@ -127,7 +132,7 @@ describe("ssh", () => {
127
132
  expect(mockSshOrScp).toHaveBeenCalled();
128
133
  }));
129
134
  it("should call sshOrScp with interactive session", () => __awaiter(void 0, void 0, void 0, function* () {
130
- const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)()).parse(`ssh some-instance`);
135
+ const promise = (0, ssh_2.sshCommand)((0, yargs_1.default)()).fail(lodash_1.noop).parse(`ssh some-instance`);
131
136
  yield (0, util_1.sleep)(100); // Need to wait for listen before trigger in tests
132
137
  firestore_2.onSnapshot.trigger({
133
138
  status: "APPROVED",
@@ -1 +1 @@
1
- {"version":3,"file":"ssh.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/ssh.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/ssh.test.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,11 @@ This file is part of @p0security/cli
21
21
  You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
22
22
  **/
23
23
  const retry_1 = require("../common/retry");
24
+ const ansi_1 = require("../drivers/ansi");
24
25
  const auth_1 = require("../drivers/auth");
25
26
  const firestore_1 = require("../drivers/firestore");
26
27
  const stdio_1 = require("../drivers/stdio");
28
+ const utils_1 = require("../plugins/aws/utils");
27
29
  const kubeconfig_1 = require("../plugins/kubeconfig");
28
30
  const install_1 = require("../plugins/kubeconfig/install");
29
31
  const util_1 = require("../util");
@@ -64,8 +66,9 @@ const kubeconfigAction = (args) => __awaiter(void 0, void 0, void 0, function* (
64
66
  if (!(yield (0, install_1.ensureEksInstall)())) {
65
67
  throw "Required dependencies are missing; please try again after installing them, or check that they are available on the PATH.";
66
68
  }
69
+ // No spinUntil(); there is one inside requestAccessToCluster() if needed
67
70
  const request = yield (0, kubeconfig_1.requestAccessToCluster)(authn, args, clusterId, role);
68
- const awsAuth = yield (0, kubeconfig_1.awsCloudAuth)(authn, awsAccountId, request.generated, awsLoginType);
71
+ const awsAuth = yield (0, kubeconfig_1.awsCloudAuth)(authn, awsAccountId, request, awsLoginType);
69
72
  const profile = (0, kubeconfig_1.profileName)(clusterId);
70
73
  // The `aws eks update-kubeconfig` command can't handle the ARN of the EKS cluster.
71
74
  // So we must, with great annoyance, parse it to extract the cluster name and region.
@@ -86,7 +89,7 @@ const kubeconfigAction = (args) => __awaiter(void 0, void 0, void 0, function* (
86
89
  try {
87
90
  // Federated access especially sometimes takes some time to propagate, so
88
91
  // retry for up to 20 seconds just in case it takes a while.
89
- const awsResult = yield (0, retry_1.retryWithSleep)(() => __awaiter(void 0, void 0, void 0, function* () { return yield (0, util_1.exec)("aws", updateKubeconfigArgs, { check: true }); }), () => true, 8, 2500);
92
+ const awsResult = yield (0, stdio_1.spinUntil)("Waiting for AWS resources to be provisioned and updating kubeconfig for EKS", (0, retry_1.retryWithSleep)(() => __awaiter(void 0, void 0, void 0, function* () { return yield (0, util_1.exec)("aws", updateKubeconfigArgs, { check: true }); }), () => true, 8, 2500));
90
93
  (0, stdio_1.print2)(awsResult.stdout);
91
94
  }
92
95
  catch (error) {
@@ -106,8 +109,8 @@ const kubeconfigAction = (args) => __awaiter(void 0, void 0, void 0, function* (
106
109
  }
107
110
  (0, stdio_1.print2)("Access granted and kubectl configured successfully. Re-run this command to refresh access if credentials expire.");
108
111
  if (process.env.AWS_ACCESS_KEY_ID) {
109
- (0, stdio_1.print2)(`${stdio_1.Ansi.Yellow}Warning: AWS credentials were detected in your environment, which may cause kubectl errors. ` +
110
- `To avoid issues, unset with \`unset AWS_ACCESS_KEY_ID\`.${stdio_1.Ansi.Reset}`);
112
+ (0, stdio_1.print2)(`${ansi_1.AnsiSgr.Yellow}Warning: AWS credentials were detected in your environment, which may cause kubectl errors. ` +
113
+ `To avoid issues, unset with \`unset AWS_ACCESS_KEY_ID\`.${ansi_1.AnsiSgr.Reset}`);
111
114
  }
112
115
  });
113
116
  /**
@@ -173,17 +176,10 @@ const validateResourceArg = (resource) => {
173
176
  const extractClusterNameAndRegion = (clusterArn) => {
174
177
  const INVALID_ARN_MSG = `Invalid EKS cluster ARN: ${clusterArn}`;
175
178
  // Example EKS cluster ARN: arn:aws:eks:us-west-2:123456789012:cluster/my-testing-cluster
176
- const parts = clusterArn.split(":");
177
- if (parts.length < 6 || !parts[3] || !parts[5]) {
178
- throw INVALID_ARN_MSG;
179
- }
180
- const clusterRegion = parts[3];
181
- const resource = parts[5].split("/");
182
- if (resource[0] !== "cluster") {
183
- throw INVALID_ARN_MSG;
184
- }
185
- const clusterName = resource[1];
186
- if (!clusterName) {
179
+ const arn = (0, utils_1.parseArn)(clusterArn);
180
+ const { region: clusterRegion, resource: resourceStr } = arn;
181
+ const [resourceType, clusterName] = resourceStr.split("/");
182
+ if (resourceType !== "cluster" || !clusterName || !clusterRegion) {
187
183
  throw INVALID_ARN_MSG;
188
184
  }
189
185
  return { clusterRegion, clusterName };
@@ -1 +1 @@
1
- {"version":3,"file":"kubeconfig.js","sourceRoot":"","sources":["../../src/commands/kubeconfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kubeconfig.js","sourceRoot":"","sources":["../../src/commands/kubeconfig.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,2CAAiD;AACjD,0CAA0C;AAC1C,0CAA+C;AAC/C,oDAA6C;AAC7C,4CAAqD;AACrD,gDAAgD;AAChD,sDAK+B;AAC/B,2DAAiE;AACjE,kCAAyC;AACzC,uCAA6E;AAWtE,MAAM,iBAAiB,GAAG,CAAC,KAAiB,EAAE,EAAE,CACrD,KAAK,CAAC,OAAO,CACX,YAAY,EACZ,sIAAsI,EACtI,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;KACF,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,qDAAqD;CAChE,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EACN,kEAAkE;CACrE,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,QAAQ,EACN,8DAA8D;CACjE,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,yBAAyB;CACpC,CAAC;KACD,MAAM,CAAC,oBAAoB,EAAE;IAC5B,IAAI,EAAE,QAAQ;IACd,6BAA6B;IAC7B,QAAQ,EACN,4FAA4F;CAC/F,CAAC,EACN,IAAA,iBAAK,EAAC,gBAAgB,CAAC,CACxB,CAAC;AAjCS,QAAA,iBAAiB,qBAiC1B;AAEJ,MAAM,gBAAgB,GAAG,CACvB,IAAqD,EACrD,EAAE;IACF,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAY,GAAE,CAAC;IAEnC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,yCAA4B,EACxE,KAAK,EACL,IAAI,CAAC,OAAO,CACb,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;IAEjE,IAAI,CAAC,CAAC,MAAM,IAAA,0BAAgB,GAAE,CAAC,EAAE;QAC/B,MAAM,0HAA0H,CAAC;KAClI;IAED,yEAAyE;IACzE,MAAM,OAAO,GAAG,MAAM,IAAA,mCAAsB,EAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAY,EAChC,KAAK,EACL,YAAY,EACZ,OAAO,EACP,YAAY,CACb,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,wBAAW,EAAC,SAAS,CAAC,CAAC;IAEvC,mFAAmF;IACnF,qFAAqF;IACrF,MAAM,WAAW,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IAEnD,MAAM,IAAA,+BAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,IAAA,6BAAqB,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAEhE,MAAM,oBAAoB,GAAG;QAC3B,KAAK;QACL,mBAAmB;QACnB,QAAQ;QACR,WAAW;QACX,UAAU;QACV,aAAa;QACb,WAAW;QACX,OAAO;KACR,CAAC;IAEF,IAAI;QACF,yEAAyE;QACzE,4DAA4D;QAC5D,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAS,EAC/B,6EAA6E,EAC7E,IAAA,sBAAc,EACZ,GAAS,EAAE,kDAAC,OAAA,MAAM,IAAA,WAAI,EAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA,GAAA,EACpE,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,EACD,IAAI,CACL,CACF,CAAC;QACF,IAAA,cAAM,EAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC1B;IAAC,OAAO,KAAU,EAAE;QACnB,IAAA,cAAM,EAAC,8CAA8C,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC;KACb;IAED,mGAAmG;IACnG,iGAAiG;IACjG,8BAA8B;IAC9B,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,IAAA,WAAI,EAC9B,SAAS,EACT,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,EACxC,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAC;QACF,IAAA,cAAM,EAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC9B;IAAC,OAAO,KAAU,EAAE;QACnB,IAAA,cAAM,EAAC,+CAA+C,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;KACb;IAED,IAAA,cAAM,EACJ,kHAAkH,CACnH,CAAC;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACjC,IAAA,cAAM,EACJ,GAAG,cAAO,CAAC,MAAM,8FAA8F;YAC7G,2DAA2D,cAAO,CAAC,KAAK,EAAE,CAC7E,CAAC;KACH;AACH,CAAC,CAAA,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,MAAM,WAAW,GACf,8DAA8D;QAC9D,4BAA4B;QAC5B,4BAA4B;QAC5B,+BAA+B,CAAC;IAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAE/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACxC,MAAM,sCAAsC,WAAW,EAAE,CAAC;KAC3D;IAED,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACb,MAAM,iCAAiC,WAAW,EAAE,CAAC;KACtD;IAED,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE;QACrC,OAAO,eAAe,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C;SAAM,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE;QAC5C,OAAO,eAAe,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C;SAAM,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,sCAAsC,WAAW,EAAE,CAAC;SAC3D;QACD,OAAO,QAAQ,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE;IAED,MAAM,qBAAqB,KAAK,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;AACzD,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAQ,EAAE;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC;IAExB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAExC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACxC,MAAM,CACJ,yCAAyC;YACzC,oFAAoF;YACpF,mCAAmC;YACnC,mBAAmB,CACpB,CAAC;KACH;AACH,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,UAAkB,EAAE,EAAE;IACzD,MAAM,eAAe,GAAG,4BAA4B,UAAU,EAAE,CAAC;IACjE,yFAAyF;IACzF,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAC7D,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3D,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE;QAChE,MAAM,eAAe,CAAC;KACvB;IAED,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACxC,CAAC,CAAC"}
@@ -66,6 +66,7 @@ const login = (args, options) => __awaiter(void 0, void 0, void 0, function* ()
66
66
  if (!loginFn)
67
67
  throw "Unsupported login for your organization";
68
68
  const tokenResponse = yield loginFn(orgWithSlug);
69
+ yield clearIdentityCache();
69
70
  yield writeIdentity(orgWithSlug, tokenResponse);
70
71
  // validate auth
71
72
  if (!(options === null || options === void 0 ? void 0 : options.skipAuthenticate))
@@ -85,6 +86,16 @@ const writeIdentity = (org, credential) => __awaiter(void 0, void 0, void 0, fun
85
86
  mode: "600",
86
87
  });
87
88
  });
89
+ const clearIdentityCache = () => __awaiter(void 0, void 0, void 0, function* () {
90
+ try {
91
+ // check to see if the directory exists before trying to remove it
92
+ yield fs.access(auth_1.IDENTITY_CACHE_PATH);
93
+ yield fs.rm(auth_1.IDENTITY_CACHE_PATH, { recursive: true });
94
+ }
95
+ catch (_a) {
96
+ return;
97
+ }
98
+ });
88
99
  const loginCommand = (yargs) => yargs.command("login <org>", "Log in to p0 using a web browser", (yargs) => yargs.positional("org", {
89
100
  demandOption: true,
90
101
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAAmE;AACnE,oDAAkD;AAClD,4CAA0C;AAC1C,4CAAkD;AAGlD,kDAA4C;AAC5C,gDAAkC;AAClC,2CAA6B;AAG7B;;;;GAIG;AACI,MAAM,KAAK,GAAG,CACnB,IAAqB,EACrB,OAAwC,EACxC,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAM,EAAqB,IAAA,eAAG,EAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,MAAM,6BAA6B,CAAC;IAElD,MAAM,WAAW,mCAAiB,OAAO,KAAE,IAAI,EAAE,IAAI,CAAC,GAAG,GAAE,CAAC;IAE5D,MAAM,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC;IACxC,MAAM,OAAO,GAAG,sBAAc,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC,OAAO;QAAE,MAAM,yCAAyC,CAAC;IAE9D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhD,gBAAgB;IAChB,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAAA;QAAE,MAAM,IAAA,mBAAY,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExE,IAAA,cAAM,EAAC,gDAAgD,CAAC,CAAC;AAC3D,CAAC,CAAA,CAAC;AAtBW,QAAA,KAAK,SAsBhB;AAEF,MAAM,aAAa,GAAG,CAAO,GAAY,EAAE,UAAyB,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,6BAA6B;IAC/F,IAAA,cAAM,EAAC,2BAA2B,yBAAkB,GAAG,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAkB,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,SAAS,CAChB,yBAAkB,EAClB,IAAI,CAAC,SAAS,CACZ;QACE,UAAU,kCAAO,UAAU,KAAE,UAAU,GAAE;QACzC,GAAG;KACJ,EACD,IAAI,EACJ,CAAC,CACF,EACD;QACE,IAAI,EAAE,KAAK;KACZ,CACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,EAAE,CAChD,KAAK,CAAC,OAAO,CACX,aAAa,EACb,kCAAkC,EAClC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;IACtB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,yBAAyB;CACpC,CAAC,EACJ,IAAA,iBAAK,EAAC,aAAK,CAAC,CACb,CAAC;AAXS,QAAA,YAAY,gBAWrB"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ This file is part of @p0security/cli
23
23
 
24
24
  You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
25
25
  **/
26
+ const ansi_1 = require("../drivers/ansi");
26
27
  const api_1 = require("../drivers/api");
27
28
  const auth_1 = require("../drivers/auth");
28
29
  const firestore_1 = require("../drivers/firestore");
@@ -41,10 +42,7 @@ const lsCommand = (yargs) => yargs.command("ls [arguments..]", "List request-com
41
42
  exports.lsCommand = lsCommand;
42
43
  const ls = (args) => __awaiter(void 0, void 0, void 0, function* () {
43
44
  const authn = yield (0, auth_1.authenticate)();
44
- const data = yield (0, api_1.fetchCommand)(authn, args, [
45
- "ls",
46
- ...args.arguments,
47
- ]);
45
+ const data = yield (0, stdio_1.spinUntil)("Listing accessible resources", (0, api_1.fetchCommand)(authn, args, ["ls", ...args.arguments]));
48
46
  const allArguments = [...args._, ...args.arguments];
49
47
  if (data && "ok" in data && data.ok) {
50
48
  const label = (0, pluralize_1.default)(data.arg);
@@ -71,8 +69,8 @@ const ls = (args) => __awaiter(void 0, void 0, void 0, function* () {
71
69
  (0, stdio_1.print1)(`${prefix}${isSameValue
72
70
  ? item.key
73
71
  : maxLength > 30
74
- ? `${item.key}\n ${stdio_1.Ansi.Dim}${tagPart}${stdio_1.Ansi.Reset}`
75
- : `${item.key.padEnd(maxLength)}${stdio_1.Ansi.Dim} - ${tagPart}${stdio_1.Ansi.Reset}`}`);
72
+ ? `${item.key}\n ${ansi_1.AnsiSgr.Dim}${tagPart}${ansi_1.AnsiSgr.Reset}`
73
+ : `${item.key.padEnd(maxLength)}${ansi_1.AnsiSgr.Dim} - ${tagPart}${ansi_1.AnsiSgr.Reset}`}`);
76
74
  }
77
75
  }
78
76
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../src/commands/ls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../src/commands/ls.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAA0C;AAC1C,wCAA8C;AAC9C,0CAA+C;AAC/C,oDAA6C;AAC7C,4CAA6D;AAC7D,mCAAsC;AACtC,0DAAkC;AAgBlC,MAAM,MAAM,GAAG,CAAI,KAAoB,EAAE,EAAE,CACzC,KAAK;KACF,mBAAmB,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC;KACxD,IAAI,CAAC,KAAK,CAAC;KACX,MAAM,CAAC,WAAW,EAAE;IACnB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,EAAc;CACxB,CAAC,CAAC;AAEA,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAE,EAAE,CAC7C,KAAK,CAAC,OAAO,CACX,kBAAkB,EAClB,gCAAgC,EAChC,MAAM,EACN,IAAA,iBAAK,EAAC,EAAE,CAAC,CACV,CAAC;AANS,QAAA,SAAS,aAMlB;AAEJ,MAAM,EAAE,GAAG,CACT,IAEE,EACF,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAY,GAAE,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAS,EAC1B,8BAA8B,EAC9B,IAAA,kBAAY,EAAa,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CACjE,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,IAAA,cAAM,EAAC,MAAM,KAAK,EAAE,CAAC,CAAC;YACtB,OAAO;SACR;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW;YACrC,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI;YAC3B,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,GAAG;YAC5B,CAAC,CAAC,IAAI,CAAC,WAAW;gBAChB,CAAC,CAAC;WACC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B;gBACvD,CAAC,CAAC,EAAE,CAAC;QAET,IAAA,cAAM,EACJ,UAAU,cAAc,IAAI,KAAK,GAAG,WAAW,2DAA2D,CAC3G,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAA,YAAG,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;YAC9B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,IAAA,cAAM,EACJ,GAAG,MAAM,GACP,WAAW;gBACT,CAAC,CAAC,IAAI,CAAC,GAAG;gBACV,CAAC,CAAC,SAAS,GAAG,EAAE;oBACd,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,cAAO,CAAC,GAAG,GAAG,OAAO,GAAG,cAAO,CAAC,KAAK,EAAE;oBAC3D,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,cAAO,CAAC,GAAG,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,EAChF,EAAE,CACH,CAAC;SACH;KACF;SAAM;QACL,MAAM,IAAI,CAAC;KACZ;AACH,CAAC,CAAA,CAAC"}
@@ -84,10 +84,10 @@ const waitForRequest = (tenantId, requestId, logMessage) => __awaiter(void 0, vo
84
84
  const request = (command) => (args, authn, options) => __awaiter(void 0, void 0, void 0, function* () {
85
85
  const resolvedAuthn = authn !== null && authn !== void 0 ? authn : (yield (0, auth_1.authenticate)());
86
86
  const { userCredential } = resolvedAuthn;
87
- const data = yield (0, api_1.fetchCommand)(resolvedAuthn, args, [
87
+ const data = yield (0, stdio_1.spinUntil)("Requesting access", (0, api_1.fetchCommand)(resolvedAuthn, args, [
88
88
  command,
89
89
  ...args.arguments,
90
- ]);
90
+ ]));
91
91
  if (data && "ok" in data && "message" in data && data.ok) {
92
92
  const logMessage = !(options === null || options === void 0 ? void 0 : options.message) ||
93
93
  (options === null || options === void 0 ? void 0 : options.message) === "all" ||
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/shared/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/shared/request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /** Copyright © 2024-present P0 Security
2
+
3
+ This file is part of @p0security/cli
4
+
5
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
6
+
7
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
+
9
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
10
+ **/
11
+ /// <reference types="jest" />
12
+ export declare const print1: jest.Mock<any, any, any>;
13
+ export declare const print2: jest.Mock<any, any, any>;
14
+ export declare const spinUntil: jest.Mock<Promise<unknown>, [_message: string, promise: Promise<unknown>], any>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /** Copyright © 2024-present P0 Security
3
+
4
+ This file is part of @p0security/cli
5
+
6
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
7
+
8
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+
10
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
11
+ **/
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.spinUntil = exports.print2 = exports.print1 = void 0;
23
+ exports.print1 = jest.fn();
24
+ exports.print2 = jest.fn();
25
+ exports.spinUntil = jest.fn((_message, promise) => __awaiter(void 0, void 0, void 0, function* () { return yield promise; }));
26
+ //# sourceMappingURL=stdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/drivers/__mocks__/stdio.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;AAEU,QAAA,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACnB,QAAA,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEnB,QAAA,SAAS,GAAG,IAAI,CAAC,EAAE,CAC9B,CAAU,QAAgB,EAAE,OAAmB,EAAE,EAAE,kDAAC,OAAA,MAAM,OAAO,CAAA,GAAA,CAClE,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const Ansi: (value: string) => string;
2
+ /** Creates an ANSI Select Graphic Rendition code */
3
+ export declare const AnsiSgr: {
4
+ readonly Reset: string;
5
+ readonly Dim: string;
6
+ readonly Green: string;
7
+ readonly Yellow: string;
8
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnsiSgr = exports.Ansi = void 0;
4
+ /** Copyright © 2024-present P0 Security
5
+
6
+ This file is part of @p0security/cli
7
+
8
+ @p0security/cli is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
9
+
10
+ @p0security/cli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
+
12
+ You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
13
+ **/
14
+ const lodash_1 = require("lodash");
15
+ const AnsiCodes = {
16
+ Reset: "00",
17
+ Dim: "02",
18
+ Green: "32",
19
+ Yellow: "33",
20
+ };
21
+ const Ansi = (value) => `\u001b[${value}`;
22
+ exports.Ansi = Ansi;
23
+ /** Creates an ANSI Select Graphic Rendition code */
24
+ exports.AnsiSgr = (0, lodash_1.mapValues)(AnsiCodes, (v) => (0, exports.Ansi)(v + "m"));
25
+ //# sourceMappingURL=ansi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/drivers/ansi.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,mCAAmC;AAEnC,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACJ,CAAC;AAEJ,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;AAA5C,QAAA,IAAI,QAAwC;AAEzD,oDAAoD;AACvC,QAAA,OAAO,GAAG,IAAA,kBAAS,EAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAI,EAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Authn, Identity } from "../types/identity";
2
2
  export declare const IDENTITY_FILE_PATH: string;
3
+ export declare const IDENTITY_CACHE_PATH: string;
3
4
  export declare const cached: <T>(name: string, loader: () => Promise<T>, options: {
4
5
  duration: number;
5
6
  }, hasExpired?: ((data: T) => boolean) | undefined) => Promise<T>;
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.authenticate = exports.loadCredentials = exports.cached = exports.IDENTITY_FILE_PATH = void 0;
35
+ exports.authenticate = exports.loadCredentials = exports.cached = exports.IDENTITY_CACHE_PATH = exports.IDENTITY_FILE_PATH = void 0;
36
36
  /** Copyright © 2024-present P0 Security
37
37
 
38
38
  This file is part of @p0security/cli
@@ -51,13 +51,13 @@ const auth_1 = require("firebase/auth");
51
51
  const fs = __importStar(require("fs/promises"));
52
52
  const path = __importStar(require("path"));
53
53
  exports.IDENTITY_FILE_PATH = path.join(util_1.P0_PATH, "identity.json");
54
+ exports.IDENTITY_CACHE_PATH = path.join(path.dirname(exports.IDENTITY_FILE_PATH), "cache");
54
55
  const cached = (name, loader, options, hasExpired) => __awaiter(void 0, void 0, void 0, function* () {
55
56
  var _a;
56
- const cachePath = path.join(path.dirname(exports.IDENTITY_FILE_PATH), "cache");
57
57
  // Following lines sanitize input
58
58
  // nosemgrep: javascript.lang.security.audit.path-traversal.path-join-resolve-traversal.path-join-resolve-traversal
59
- const loc = path.resolve(path.join(cachePath, `${name}.json`));
60
- if (!loc.startsWith(cachePath)) {
59
+ const loc = path.resolve(path.join(exports.IDENTITY_CACHE_PATH, `${name}.json`));
60
+ if (!loc.startsWith(exports.IDENTITY_CACHE_PATH)) {
61
61
  throw new Error("Illegal path traversal");
62
62
  }
63
63
  const loadCache = () => __awaiter(void 0, void 0, void 0, function* () {
@@ -109,6 +109,7 @@ const loadCredentials = (options) => __awaiter(void 0, void 0, void 0, function*
109
109
  });
110
110
  exports.loadCredentials = loadCredentials;
111
111
  const authenticate = (options) => __awaiter(void 0, void 0, void 0, function* () {
112
+ var _b;
112
113
  const identity = yield (0, exports.loadCredentials)(options);
113
114
  const { credential } = identity;
114
115
  // TODO: Move to map lookup
@@ -121,6 +122,9 @@ const authenticate = (options) => __awaiter(void 0, void 0, void 0, function* ()
121
122
  });
122
123
  firestore_1.auth.tenantId = identity.org.tenantId;
123
124
  const userCredential = yield (0, auth_1.signInWithCredential)(firestore_1.auth, firebaseCredential);
125
+ if (!((_b = userCredential === null || userCredential === void 0 ? void 0 : userCredential.user) === null || _b === void 0 ? void 0 : _b.email)) {
126
+ throw "Can not sign in: this user has previously signed in with a different identity provider.\nPlease contact support@p0.dev to enable this user.";
127
+ }
124
128
  return { userCredential, identity };
125
129
  });
126
130
  exports.authenticate = authenticate;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/drivers/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/drivers/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,6CAA0C;AAE1C,kCAAkC;AAClC,2CAAmC;AACnC,mCAAiC;AACjC,wCAIuB;AACvB,gDAAkC;AAClC,2CAA6B;AAEhB,QAAA,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,eAAe,CAAC,CAAC;AACzD,QAAA,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAC1C,IAAI,CAAC,OAAO,CAAC,0BAAkB,CAAC,EAChC,OAAO,CACR,CAAC;AAEK,MAAM,MAAM,GAAG,CACpB,IAAY,EACZ,MAAwB,EACxB,OAA6B,EAC7B,UAAiC,EACrB,EAAE;;IACd,iCAAiC;IACjC,mHAAmH;IACnH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAAmB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,2BAAmB,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,MAAM,mCAAmC,IAAI,GAAG,CAAC;QAC5D,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC;IAEF,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;YACxD,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,MAAM,SAAS,EAAE,CAAC;SAC1B;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAM,CAAC;QACzE,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,IAAI,CAAC,EAAE;YACtB,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,MAAM,SAAS,EAAE,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,QAAQ;YAC1B,IAAA,cAAM,EACJ,+BAA+B,IAAI,iBAAiB,MAAA,KAAK,CAAC,OAAO,mCAAI,KAAK,EAAE,CAC7E,CAAC;QACJ,OAAO,MAAM,SAAS,EAAE,CAAC;KAC1B;AACH,CAAC,CAAA,CAAC;AAzCW,QAAA,MAAM,UAyCjB;AAEK,MAAM,eAAe,GAAG,CAAO,OAErC,EAAqB,EAAE;IACtB,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAAkB,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,IACE,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA;YACnB,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAClD;YACA,MAAM,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,IAAA,cAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB;YACrC,OAAO,IAAA,uBAAe,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7C;QACD,OAAO,QAAQ,CAAC;KACjB;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,QAAQ,EAAE;YAC5B,MAAM,yDAAyD,CAAC;SACjE;QACD,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAA,CAAC;AArBW,QAAA,eAAe,mBAqB1B;AAEK,MAAM,YAAY,GAAG,CAAO,OAElC,EAAkB,EAAE;;IACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAEhC,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAI,oBAAa,CAChC,QAAQ,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ;QACnC,CAAC,CAAC,mBAAY,CAAC,MAAM;QACrB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAC5B,CAAC;IACF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC7C,WAAW,EAAE,UAAU,CAAC,YAAY;QACpC,OAAO,EAAE,UAAU,CAAC,QAAQ;KAC7B,CAAC,CAAC;IACH,gBAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtC,MAAM,cAAc,GAAG,MAAM,IAAA,2BAAoB,EAAC,gBAAI,EAAE,kBAAkB,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,KAAK,CAAA,EAAE;QAChC,MAAM,6IAA6I,CAAC;KACrJ;IAED,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC,CAAA,CAAC;AAvBW,QAAA,YAAY,gBAuBvB"}
@@ -19,8 +19,9 @@ export declare function print1(message: any): void;
19
19
  * In general this should not be used for machine-consumed text.
20
20
  */
21
21
  export declare function print2(message: any): void;
22
- export declare const Ansi: {
23
- readonly Reset: string;
24
- readonly Dim: string;
25
- readonly Yellow: string;
26
- };
22
+ /** Resets the terminal cursor to the beginning of the line */
23
+ export declare function reset2(): void;
24
+ /** Clears the current terminal line */
25
+ export declare function clear2(): void;
26
+ /** Prints a Unicode spinner until a promise resolves */
27
+ export declare const spinUntil: <T>(message: string, promise: Promise<T>) => Promise<T>;