@p0security/cli 0.11.0 → 0.11.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.
- package/dist/commands/__tests__/login.test.js +17 -0
- package/dist/commands/__tests__/login.test.js.map +1 -1
- package/dist/commands/__tests__/ls.test.js +4 -3
- package/dist/commands/__tests__/ls.test.js.map +1 -1
- package/dist/commands/__tests__/ssh.test.js +10 -5
- package/dist/commands/__tests__/ssh.test.js.map +1 -1
- package/dist/commands/kubeconfig.js +3 -2
- package/dist/commands/kubeconfig.js.map +1 -1
- package/dist/commands/login.js +11 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/ls.js +4 -6
- package/dist/commands/ls.js.map +1 -1
- package/dist/commands/scp.js +3 -2
- package/dist/commands/scp.js.map +1 -1
- package/dist/commands/shared/request.js +2 -2
- package/dist/commands/shared/request.js.map +1 -1
- package/dist/commands/ssh.js +3 -2
- package/dist/commands/ssh.js.map +1 -1
- package/dist/drivers/__mocks__/stdio.d.ts +14 -0
- package/dist/drivers/__mocks__/stdio.js +26 -0
- package/dist/drivers/__mocks__/stdio.js.map +1 -0
- package/dist/drivers/ansi.d.ts +8 -0
- package/dist/drivers/ansi.js +25 -0
- package/dist/drivers/ansi.js.map +1 -0
- package/dist/drivers/auth.d.ts +1 -0
- package/dist/drivers/auth.js +8 -4
- package/dist/drivers/auth.js.map +1 -1
- package/dist/drivers/stdio.d.ts +6 -5
- package/dist/drivers/stdio.js +50 -7
- package/dist/drivers/stdio.js.map +1 -1
- package/dist/plugins/aws/ssh.js +45 -23
- package/dist/plugins/aws/ssh.js.map +1 -1
- package/dist/plugins/aws/types.d.ts +6 -4
- package/dist/plugins/google/ssh-key.js +9 -1
- package/dist/plugins/google/ssh-key.js.map +1 -1
- package/dist/plugins/google/ssh.js +61 -28
- package/dist/plugins/google/ssh.js.map +1 -1
- package/dist/plugins/ssh/index.js +62 -88
- package/dist/plugins/ssh/index.js.map +1 -1
- package/dist/types/ssh.d.ts +28 -13
- 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":";;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,+CAAqD;AACrD,uDAAqD;AACrD,oCAAiC;AACjC,wCAAqD;AACrD,0CAAkD;AAElD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAChD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,iCACjC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAC3C,kBAAkB,EAAE,mBAAmB,IACvC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACjC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAEjC,MAAM,wBAAwB,GAAG,2BAAiC,CAAC;AACnE,MAAM,YAAY,GAAG,mBAAqB,CAAC;AAC3C,MAAM,aAAa,GAAG,oBAAsB,CAAC;AAE7C,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;QAC/D,IAAA,sBAAU,EAAC,SAAS,CAAC,CAAC;QACtB,MAAM,MAAM,CAAC,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CACpE,+BAA+B,CAChC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IACH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;QAClE,IAAA,sBAAU,EAAC;YACT,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,aAAa;YACvB,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CACpE,2CAA2C,CAC5C,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IACH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,cAAc,GAAW,EAAE,CAAC;QAChC,YAAY,CAAC,kBAAkB,CAAC,GAAS,EAAE,kDACzC,OAAA,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA,GAAA,CACrC,CAAC;QACF,aAAa,CAAC,kBAAkB,CAAC,CAAO,KAAK,EAAE,IAAI,EAAE,EAAE;YACrD,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC,CAAA,CAAC,CAAC;QACH,wBAAwB,CAAC,kBAAkB,CACzC,CAAO,KAAK,EAAE,mBAAmB,EAAE,EAAE;YACnC,OAAA,OAAO,CAAC,OAAO,CAAC;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,aAAa;iBACrB;aACF,CAAC,CAAA;UAAA,CACL,CAAC;QACF,UAAU,CAAC,GAAG,EAAE;YACd,cAAc,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAA,sBAAU,EAAC;gBACT,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;YACzD,MAAM,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YACjC,MAAM,CAAC,sBAAc,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnD,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,qDAAqD,EAAE,GAAS,EAAE;YACnE,MAAM,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YACjC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;QACrD,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,0BAA0B,EAAE,GAAS,EAAE;YACxC,MAAM,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YACjC,MAAM,CAAE,2BAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;QAC3E,CAAC,CAAA,CAAC,CAAC;QACH,EAAE,CAAC,wEAAwE,EAAE,GAAS,EAAE;YACtF,wBAAwB,CAAC,qBAAqB,CAAC;gBAC7C,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;;;CAG5E,CAAC,CAAC;QACC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -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;
|
|
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)())
|
|
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)())
|
|
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":";;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,sDAA8D;AAC9D,2CAAiD;AACjD,+CAAqD;AACrD,2CAA6C;AAC7C,uDAAqD;AACrD,qCAAmC;AACnC,gCAAoC;AACpC,kDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"ssh.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/ssh.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ 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");
|
|
@@ -106,8 +107,8 @@ const kubeconfigAction = (args) => __awaiter(void 0, void 0, void 0, function* (
|
|
|
106
107
|
}
|
|
107
108
|
(0, stdio_1.print2)("Access granted and kubectl configured successfully. Re-run this command to refresh access if credentials expire.");
|
|
108
109
|
if (process.env.AWS_ACCESS_KEY_ID) {
|
|
109
|
-
(0, stdio_1.print2)(`${
|
|
110
|
-
`To avoid issues, unset with \`unset AWS_ACCESS_KEY_ID\`.${
|
|
110
|
+
(0, stdio_1.print2)(`${ansi_1.AnsiSgr.Yellow}Warning: AWS credentials were detected in your environment, which may cause kubectl errors. ` +
|
|
111
|
+
`To avoid issues, unset with \`unset AWS_ACCESS_KEY_ID\`.${ansi_1.AnsiSgr.Reset}`);
|
|
111
112
|
}
|
|
112
113
|
});
|
|
113
114
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kubeconfig.js","sourceRoot":"","sources":["../../src/commands/kubeconfig.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,2CAAiD;AACjD,0CAA+C;AAC/C,oDAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"kubeconfig.js","sourceRoot":"","sources":["../../src/commands/kubeconfig.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/login.js
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/ls.js
CHANGED
|
@@ -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 ${
|
|
75
|
-
: `${item.key.padEnd(maxLength)}${
|
|
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 {
|
package/dist/commands/ls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../src/commands/ls.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,wCAA8C;AAC9C,0CAA+C;AAC/C,oDAA6C;AAC7C,
|
|
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"}
|
package/dist/commands/scp.js
CHANGED
|
@@ -78,9 +78,10 @@ exports.scpCommand = scpCommand;
|
|
|
78
78
|
* Implicitly gains access to the SSH resource if required.
|
|
79
79
|
*/
|
|
80
80
|
const scpAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
|
-
var _a;
|
|
82
81
|
const authn = yield (0, auth_1.authenticate)();
|
|
83
|
-
const sshOptions = (
|
|
82
|
+
const sshOptions = Array.isArray(args["--"])
|
|
83
|
+
? args["--"].map(String)
|
|
84
|
+
: [];
|
|
84
85
|
args.sshOptions = sshOptions;
|
|
85
86
|
const host = getHostIdentifier(args.source, args.destination);
|
|
86
87
|
if (!host) {
|
package/dist/commands/scp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scp.js","sourceRoot":"","sources":["../../src/commands/scp.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAA+C;AAC/C,oDAA6C;AAC7C,wCAA0C;AAC1C,sCAAiE;AACjE,sCAA8D;AAGvD,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,EAAE,CAC9C,KAAK,CAAC,OAAO,CACX,4BAA4B;AAC5B,6DAA6D;AAC7D,mDAAmD,EACnD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;KACF,UAAU,CAAC,QAAQ,EAAE;IACpB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,wBAAwB;CACtC,CAAC;KACD,UAAU,CAAC,aAAa,EAAE;IACzB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,wBAAwB;CACtC,CAAC;KACD,MAAM,CAAC,GAAG,EAAE;IACX,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,qCAAqC;CAChD,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,QAAQ,EAAE,yBAAyB;IACnC,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,8CAA8C;CACzD,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,EAAE,2BAAqB;CAC/B,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;KACD,KAAK,CAAC,8CAA8C,CAAC;IACtD,+DAA+D;KAC9D,mBAAmB,CAAC;IACnB,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,QAAQ,CACP;;sGAE4F,CAC7F,EAEL,IAAA,iBAAK,EAAC,SAAS,CAAC,CACjB,CAAC;AAvDS,QAAA,UAAU,cAuDnB;AAEJ;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAO,IAA8C,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"scp.js","sourceRoot":"","sources":["../../src/commands/scp.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,2CAAiD;AACjD,6CAAkD;AAClD,uDAA8C;AAC9C,+
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/shared/request.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/ssh.js
CHANGED
|
@@ -80,10 +80,11 @@ exports.sshCommand = sshCommand;
|
|
|
80
80
|
* - AWS EC2 via SSM with Okta SAML
|
|
81
81
|
*/
|
|
82
82
|
const sshAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
-
var _a;
|
|
84
83
|
// Prefix is required because the backend uses it to determine that this is an AWS request
|
|
85
84
|
const authn = yield (0, auth_1.authenticate)();
|
|
86
|
-
const sshOptions = (
|
|
85
|
+
const sshOptions = Array.isArray(args["--"])
|
|
86
|
+
? args["--"].map(String)
|
|
87
|
+
: [];
|
|
87
88
|
args.sshOptions = sshOptions;
|
|
88
89
|
const { request, privateKey, sshProvider } = yield (0, ssh_2.prepareRequest)(authn, args, args.destination);
|
|
89
90
|
yield (0, ssh_1.sshOrScp)({
|
package/dist/commands/ssh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/commands/ssh.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAA+C;AAC/C,oDAA6C;AAC7C,wCAA0C;AAC1C,sCAA8D;AAGvD,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,EAAE,CAC9C,KAAK,CAAC,OAAO,CACX,2CAA2C,EAC3C,4BAA4B,EAC5B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;KACF,UAAU,CAAC,aAAa,EAAE;IACzB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,UAAU,CAAC,SAAS,EAAE;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,2BAA2B;CACtC,CAAC;KACD,UAAU,CAAC,WAAW,EAAE;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,EAAc;CACxB,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;IACF,8BAA8B;KAC7B,MAAM,CAAC,QAAQ,EAAE;IAChB,QAAQ,EAAE,yBAAyB;IACnC,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,8CAA8C;CACzD,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC3B,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;KACD,KAAK,CAAC,gEAAgE,CAAC;IACxE,+DAA+D;KAC9D,mBAAmB,CAAC;IACnB,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,QAAQ,CACP;;;;mGAIyF,CAC1F,EAEL,IAAA,iBAAK,EAAC,SAAS,CAAC,CACjB,CAAC;AAxDS,QAAA,UAAU,cAwDnB;AAEJ;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,CAAO,IAA8C,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/commands/ssh.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAA+C;AAC/C,oDAA6C;AAC7C,wCAA0C;AAC1C,sCAA8D;AAGvD,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,EAAE,CAC9C,KAAK,CAAC,OAAO,CACX,2CAA2C,EAC3C,4BAA4B,EAC5B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK;KACF,UAAU,CAAC,aAAa,EAAE;IACzB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,UAAU,CAAC,SAAS,EAAE;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,2BAA2B;CACtC,CAAC;KACD,UAAU,CAAC,WAAW,EAAE;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,EAAc;CACxB,CAAC;KACD,MAAM,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;IACF,8BAA8B;KAC7B,MAAM,CAAC,QAAQ,EAAE;IAChB,QAAQ,EAAE,yBAAyB;IACnC,IAAI,EAAE,QAAQ;CACf,CAAC;KACD,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,8CAA8C;CACzD,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC3B,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,0BAA0B;CACrC,CAAC;KACD,KAAK,CAAC,gEAAgE,CAAC;IACxE,+DAA+D;KAC9D,mBAAmB,CAAC;IACnB,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,QAAQ,CACP;;;;mGAIyF,CAC1F,EAEL,IAAA,iBAAK,EAAC,SAAS,CAAC,CACjB,CAAC;AAxDS,QAAA,UAAU,cAwDnB;AAEJ;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,CAAO,IAA8C,EAAE,EAAE;IACzE,0FAA0F;IAC1F,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAY,GAAE,CAAC;IAEnC,MAAM,UAAU,GAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAE7B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,oBAAc,EAC/D,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,WAAW,CACjB,CAAC;IAEF,MAAM,IAAA,cAAQ,EAAC;QACb,KAAK;QACL,OAAO;QACP,OAAO,EAAE,IAAI;QACb,UAAU;QACV,WAAW;KACZ,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
|
|
@@ -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,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"}
|
package/dist/drivers/auth.d.ts
CHANGED
|
@@ -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>;
|
package/dist/drivers/auth.js
CHANGED
|
@@ -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(
|
|
60
|
-
if (!loc.startsWith(
|
|
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;
|
package/dist/drivers/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/drivers/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/drivers/stdio.d.ts
CHANGED
|
@@ -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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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>;
|