@p0security/cli 0.11.2 → 0.11.4
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 +4 -2
- package/dist/commands/__tests__/login.test.js.map +1 -1
- package/dist/commands/allow.js +1 -1
- package/dist/commands/allow.js.map +1 -1
- package/dist/commands/aws/role.js +2 -2
- package/dist/commands/aws/role.js.map +1 -1
- package/dist/commands/grant.js +1 -1
- package/dist/commands/grant.js.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/kubeconfig.js +9 -14
- package/dist/commands/kubeconfig.js.map +1 -1
- package/dist/commands/login.js +10 -5
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/ls.js +1 -1
- package/dist/commands/ls.js.map +1 -1
- package/dist/commands/request.js +1 -1
- package/dist/commands/request.js.map +1 -1
- package/dist/commands/scp.js +1 -1
- package/dist/commands/scp.js.map +1 -1
- package/dist/commands/ssh-keygen.d.ts +2 -0
- package/dist/commands/ssh-keygen.js +28 -0
- package/dist/commands/ssh-keygen.js.map +1 -0
- package/dist/commands/ssh.js +1 -1
- package/dist/commands/ssh.js.map +1 -1
- package/dist/common/keys.d.ts +1 -0
- package/dist/common/keys.js +4 -3
- package/dist/common/keys.js.map +1 -1
- package/dist/drivers/api.d.ts +10 -0
- package/dist/drivers/api.js +2 -12
- package/dist/drivers/api.js.map +1 -1
- package/dist/drivers/auth.js +4 -16
- package/dist/drivers/auth.js.map +1 -1
- package/dist/drivers/config.d.ts +15 -0
- package/dist/drivers/config.js +43 -0
- package/dist/drivers/config.js.map +1 -0
- package/dist/drivers/env.d.ts +1 -1
- package/dist/drivers/env.js +2 -2
- package/dist/drivers/env.js.map +1 -1
- package/dist/drivers/firestore.d.ts +15 -3
- package/dist/drivers/firestore.js +47 -22
- package/dist/drivers/firestore.js.map +1 -1
- package/dist/plugins/aws/__tests__/utils.test.d.ts +1 -0
- package/dist/plugins/aws/__tests__/utils.test.js +82 -0
- package/dist/plugins/aws/__tests__/utils.test.js.map +1 -0
- package/dist/plugins/aws/utils.d.ts +20 -0
- package/dist/plugins/aws/utils.js +54 -0
- package/dist/plugins/aws/utils.js.map +1 -0
- package/dist/plugins/google/login.js +6 -4
- package/dist/plugins/google/login.js.map +1 -1
- package/dist/plugins/kubeconfig/index.d.ts +2 -2
- package/dist/plugins/kubeconfig/index.js +17 -14
- package/dist/plugins/kubeconfig/index.js.map +1 -1
- package/dist/plugins/kubeconfig/types.d.ts +9 -8
- package/dist/plugins/ssh/index.js +2 -7
- package/dist/plugins/ssh/index.js.map +1 -1
- package/dist/public/favicon.ico +0 -0
- package/dist/types/org.d.ts +3 -0
- package/dist/types/org.js +0 -10
- package/dist/types/org.js.map +1 -1
- package/dist/util.js +3 -1
- package/dist/util.js.map +1 -1
- package/package.json +2 -1
|
@@ -19,6 +19,7 @@ This file is part of @p0security/cli
|
|
|
19
19
|
|
|
20
20
|
You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
|
|
21
21
|
**/
|
|
22
|
+
const env_1 = require("../../drivers/env");
|
|
22
23
|
const login_1 = require("../../plugins/login");
|
|
23
24
|
const firestore_1 = require("../../testing/firestore");
|
|
24
25
|
const login_2 = require("../login");
|
|
@@ -26,7 +27,8 @@ const auth_1 = require("firebase/auth");
|
|
|
26
27
|
const promises_1 = require("fs/promises");
|
|
27
28
|
jest.spyOn(Date, "now").mockReturnValue(1.6e12);
|
|
28
29
|
jest.mock("fs/promises");
|
|
29
|
-
jest.mock("../../drivers/auth", () => (Object.assign(Object.assign({}, jest.requireActual("../../drivers/auth")), { IDENTITY_FILE_PATH: "/
|
|
30
|
+
jest.mock("../../drivers/auth", () => (Object.assign(Object.assign({}, jest.requireActual("../../drivers/auth")), { IDENTITY_FILE_PATH: "/dummy/identity/file/path" })));
|
|
31
|
+
jest.mock("../../drivers/config", () => (Object.assign(Object.assign({}, jest.requireActual("../../drivers/config")), { saveConfig: jest.fn(), getTenantConfig: jest.fn(() => env_1.bootstrapConfig) })));
|
|
30
32
|
jest.mock("../../drivers/stdio");
|
|
31
33
|
jest.mock("../../plugins/login");
|
|
32
34
|
const mockSignInWithCredential = auth_1.signInWithCredential;
|
|
@@ -71,7 +73,7 @@ describe("login", () => {
|
|
|
71
73
|
yield (0, login_2.login)({ org: "test-org" });
|
|
72
74
|
expect(login_1.pluginLoginMap.google).toHaveBeenCalled();
|
|
73
75
|
}));
|
|
74
|
-
it("should write the user's identity to the file system", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
76
|
+
it("should write the user's identity & config to the file system", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
77
|
yield (0, login_2.login)({ org: "test-org" });
|
|
76
78
|
expect(mockWriteFile.mock.calls).toMatchSnapshot();
|
|
77
79
|
}));
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"login.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/login.test.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/allow.js
CHANGED
|
@@ -38,7 +38,7 @@ const allowArgs = (yargs) => yargs
|
|
|
38
38
|
string: true,
|
|
39
39
|
default: [],
|
|
40
40
|
});
|
|
41
|
-
const allowCommand = (yargs) => yargs.command("allow [arguments..]", "Create standing access for a resource", allowArgs, (0, firestore_1.
|
|
41
|
+
const allowCommand = (yargs) => yargs.command("allow [arguments..]", "Create standing access for a resource", allowArgs, (0, firestore_1.fsShutdownGuard)(exports.allow));
|
|
42
42
|
exports.allowCommand = allowCommand;
|
|
43
43
|
const allow = (args, authn) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
44
|
const resolvedAuthn = authn !== null && authn !== void 0 ? authn : (yield (0, auth_1.authenticate)());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allow.js","sourceRoot":"","sources":["../../src/commands/allow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,wCAA8C;AAC9C,0CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"allow.js","sourceRoot":"","sources":["../../src/commands/allow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,wCAA8C;AAC9C,0CAA+C;AAC/C,oDAAuD;AACvD,4CAA0C;AAK1C,MAAM,SAAS,GAAG,CAAI,KAAoB,EAAE,EAAE,CAC5C,KAAK;KACF,mBAAmB,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC;KACxD,IAAI,CAAC,KAAK,CAAC,CAAC,4HAA4H;KACxI,MAAM,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,sCAAsC;CACjD,CAAC;KACD,MAAM,CAAC,WAAW,EAAE;IACnB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,EAAc;CACxB,CAAC,CAAC;AAEA,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,EAAE,CAChD,KAAK,CAAC,OAAO,CACX,qBAAqB,EACrB,uCAAuC,EACvC,SAAS,EACT,IAAA,2BAAe,EAAC,aAAK,CAAC,CACvB,CAAC;AANS,QAAA,YAAY,gBAMrB;AAEG,MAAM,KAAK,GAAG,CACnB,IAGE,EACF,KAAa,EACuB,EAAE;IACtC,MAAM,aAAa,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,MAAM,IAAA,mBAAY,GAAE,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAY,EAAgB,aAAa,EAAE,IAAI,EAAE;QAClE,OAAO;QACP,GAAG,IAAI,CAAC,SAAS;KAClB,CAAC,CAAC;IAEH,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;QACxD,IAAA,cAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,MAAM,IAAI,CAAC;KACZ;AACH,CAAC,CAAA,CAAC;AAnBW,QAAA,KAAK,SAmBhB"}
|
|
@@ -32,14 +32,14 @@ const typescript_1 = require("typescript");
|
|
|
32
32
|
const role = (yargs) => yargs.command("role", "Interact with AWS roles", (yargs) => yargs
|
|
33
33
|
.command("ls", "List available AWS roles", lodash_1.identity,
|
|
34
34
|
// TODO: select based on uidLocation
|
|
35
|
-
(0, firestore_1.
|
|
35
|
+
(0, firestore_1.fsShutdownGuard)(oktaAwsListRoles))
|
|
36
36
|
.command("assume <role>", "Assume an AWS role", (y) => y.positional("role", {
|
|
37
37
|
type: "string",
|
|
38
38
|
demandOption: true,
|
|
39
39
|
describe: "An AWS role name",
|
|
40
40
|
}),
|
|
41
41
|
// TODO: select based on uidLocation
|
|
42
|
-
(0, firestore_1.
|
|
42
|
+
(0, firestore_1.fsShutdownGuard)(oktaAwsAssumeRole))
|
|
43
43
|
.demandCommand(1));
|
|
44
44
|
exports.role = role;
|
|
45
45
|
const isFederatedLogin = (config) => { var _a; return ((_a = config.login) === null || _a === void 0 ? void 0 : _a.type) === "federated"; };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../src/commands/aws/role.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAA4C;AAC5C,6CAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../src/commands/aws/role.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/grant.js
CHANGED
|
@@ -13,6 +13,6 @@ You should have received a copy of the GNU General Public License along with @p0
|
|
|
13
13
|
**/
|
|
14
14
|
const firestore_1 = require("../drivers/firestore");
|
|
15
15
|
const request_1 = require("./shared/request");
|
|
16
|
-
const grantCommand = (yargs) => yargs.command("grant [arguments..]", "Grant access to another identity", request_1.requestArgs, (0, firestore_1.
|
|
16
|
+
const grantCommand = (yargs) => yargs.command("grant [arguments..]", "Grant access to another identity", request_1.requestArgs, (0, firestore_1.fsShutdownGuard)((0, request_1.request)("grant")));
|
|
17
17
|
exports.grantCommand = grantCommand;
|
|
18
18
|
//# sourceMappingURL=grant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../src/commands/grant.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,
|
|
1
|
+
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../src/commands/grant.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,oDAAuD;AACvD,8CAAwD;AAGjD,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,EAAE,CAChD,KAAK,CAAC,OAAO,CACX,qBAAqB,EACrB,kCAAkC,EAClC,qBAAW,EACX,IAAA,2BAAe,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC,CAClC,CAAC;AANS,QAAA,YAAY,gBAMrB"}
|
package/dist/commands/index.js
CHANGED
|
@@ -25,6 +25,7 @@ const ls_1 = require("./ls");
|
|
|
25
25
|
const request_1 = require("./request");
|
|
26
26
|
const scp_1 = require("./scp");
|
|
27
27
|
const ssh_1 = require("./ssh");
|
|
28
|
+
const ssh_keygen_1 = require("./ssh-keygen");
|
|
28
29
|
const typescript_1 = require("typescript");
|
|
29
30
|
const yargs_1 = __importDefault(require("yargs"));
|
|
30
31
|
const helpers_1 = require("yargs/helpers");
|
|
@@ -37,6 +38,7 @@ const commands = [
|
|
|
37
38
|
allow_1.allowCommand,
|
|
38
39
|
ssh_1.sshCommand,
|
|
39
40
|
scp_1.scpCommand,
|
|
41
|
+
ssh_keygen_1.sshKeyGenCommand,
|
|
40
42
|
kubeconfig_1.kubeconfigCommand,
|
|
41
43
|
];
|
|
42
44
|
exports.cli = commands
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;GASG;AACH,4CAA0C;AAC1C,oDAAsD;AACtD,mCAAuC;AACvC,+BAAmC;AACnC,mCAAuC;AACvC,6CAAiD;AACjD,mCAAuC;AACvC,6BAAiC;AACjC,uCAA2C;AAC3C,+BAAmC;AACnC,+BAAmC;AACnC,2CAAiC;AACjC,kDAA0B;AAC1B,2CAAwC;AAExC,MAAM,QAAQ,GAAG;IACf,gBAAU;IACV,oBAAY;IACZ,oBAAY;IACZ,cAAS;IACT,wBAAc;IACd,oBAAY;IACZ,gBAAU;IACV,gBAAU;IACV,8BAAiB;CAClB,CAAC;AAEW,QAAA,GAAG,GAAG,QAAQ;KACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACpD,UAAU,CAAC,sBAAY,CAAC;KACxB,MAAM,EAAE;KACR,aAAa,CAAC,CAAC,CAAC;KAChB,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC9B,IAAI,KAAK,EAAE;QACT,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;KACf;SAAM;QACL,IAAA,cAAM,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACrB,IAAA,cAAM,EAAC,KAAK,OAAO,EAAE,CAAC,CAAC;KACxB;IACD,gBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;GASG;AACH,4CAA0C;AAC1C,oDAAsD;AACtD,mCAAuC;AACvC,+BAAmC;AACnC,mCAAuC;AACvC,6CAAiD;AACjD,mCAAuC;AACvC,6BAAiC;AACjC,uCAA2C;AAC3C,+BAAmC;AACnC,+BAAmC;AACnC,6CAAgD;AAChD,2CAAiC;AACjC,kDAA0B;AAC1B,2CAAwC;AAExC,MAAM,QAAQ,GAAG;IACf,gBAAU;IACV,oBAAY;IACZ,oBAAY;IACZ,cAAS;IACT,wBAAc;IACd,oBAAY;IACZ,gBAAU;IACV,gBAAU;IACV,6BAAgB;IAChB,8BAAiB;CAClB,CAAC;AAEW,QAAA,GAAG,GAAG,QAAQ;KACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACpD,UAAU,CAAC,sBAAY,CAAC;KACxB,MAAM,EAAE;KACR,aAAa,CAAC,CAAC,CAAC;KAChB,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC9B,IAAI,KAAK,EAAE;QACT,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;KACf;SAAM;QACL,IAAA,cAAM,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACrB,IAAA,cAAM,EAAC,KAAK,OAAO,EAAE,CAAC,CAAC;KACxB;IACD,gBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC"}
|
|
@@ -25,6 +25,7 @@ const ansi_1 = require("../drivers/ansi");
|
|
|
25
25
|
const auth_1 = require("../drivers/auth");
|
|
26
26
|
const firestore_1 = require("../drivers/firestore");
|
|
27
27
|
const stdio_1 = require("../drivers/stdio");
|
|
28
|
+
const utils_1 = require("../plugins/aws/utils");
|
|
28
29
|
const kubeconfig_1 = require("../plugins/kubeconfig");
|
|
29
30
|
const install_1 = require("../plugins/kubeconfig/install");
|
|
30
31
|
const util_1 = require("../util");
|
|
@@ -52,7 +53,7 @@ const kubeconfigCommand = (yargs) => yargs.command("kubeconfig", "Request access
|
|
|
52
53
|
type: "string",
|
|
53
54
|
// Copied from the P0 backend
|
|
54
55
|
describe: "Requested duration for access (format like '10 minutes', '2 hours', '5 days', or '1 week')",
|
|
55
|
-
}), (0, firestore_1.
|
|
56
|
+
}), (0, firestore_1.fsShutdownGuard)(kubeconfigAction));
|
|
56
57
|
exports.kubeconfigCommand = kubeconfigCommand;
|
|
57
58
|
const kubeconfigAction = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
59
|
const role = normalizeRoleArg(args.role);
|
|
@@ -65,8 +66,9 @@ const kubeconfigAction = (args) => __awaiter(void 0, void 0, void 0, function* (
|
|
|
65
66
|
if (!(yield (0, install_1.ensureEksInstall)())) {
|
|
66
67
|
throw "Required dependencies are missing; please try again after installing them, or check that they are available on the PATH.";
|
|
67
68
|
}
|
|
69
|
+
// No spinUntil(); there is one inside requestAccessToCluster() if needed
|
|
68
70
|
const request = yield (0, kubeconfig_1.requestAccessToCluster)(authn, args, clusterId, role);
|
|
69
|
-
const awsAuth = yield (0, kubeconfig_1.awsCloudAuth)(authn, awsAccountId, request
|
|
71
|
+
const awsAuth = yield (0, kubeconfig_1.awsCloudAuth)(authn, awsAccountId, request, awsLoginType);
|
|
70
72
|
const profile = (0, kubeconfig_1.profileName)(clusterId);
|
|
71
73
|
// The `aws eks update-kubeconfig` command can't handle the ARN of the EKS cluster.
|
|
72
74
|
// So we must, with great annoyance, parse it to extract the cluster name and region.
|
|
@@ -87,7 +89,7 @@ const kubeconfigAction = (args) => __awaiter(void 0, void 0, void 0, function* (
|
|
|
87
89
|
try {
|
|
88
90
|
// Federated access especially sometimes takes some time to propagate, so
|
|
89
91
|
// retry for up to 20 seconds just in case it takes a while.
|
|
90
|
-
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));
|
|
91
93
|
(0, stdio_1.print2)(awsResult.stdout);
|
|
92
94
|
}
|
|
93
95
|
catch (error) {
|
|
@@ -174,17 +176,10 @@ const validateResourceArg = (resource) => {
|
|
|
174
176
|
const extractClusterNameAndRegion = (clusterArn) => {
|
|
175
177
|
const INVALID_ARN_MSG = `Invalid EKS cluster ARN: ${clusterArn}`;
|
|
176
178
|
// Example EKS cluster ARN: arn:aws:eks:us-west-2:123456789012:cluster/my-testing-cluster
|
|
177
|
-
const
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
const clusterRegion = parts[3];
|
|
182
|
-
const resource = parts[5].split("/");
|
|
183
|
-
if (resource[0] !== "cluster") {
|
|
184
|
-
throw INVALID_ARN_MSG;
|
|
185
|
-
}
|
|
186
|
-
const clusterName = resource[1];
|
|
187
|
-
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) {
|
|
188
183
|
throw INVALID_ARN_MSG;
|
|
189
184
|
}
|
|
190
185
|
return { clusterRegion, clusterName };
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"kubeconfig.js","sourceRoot":"","sources":["../../src/commands/kubeconfig.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/login.js
CHANGED
|
@@ -44,6 +44,8 @@ This file is part of @p0security/cli
|
|
|
44
44
|
You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
|
|
45
45
|
**/
|
|
46
46
|
const auth_1 = require("../drivers/auth");
|
|
47
|
+
const config_1 = require("../drivers/config");
|
|
48
|
+
const env_1 = require("../drivers/env");
|
|
47
49
|
const firestore_1 = require("../drivers/firestore");
|
|
48
50
|
const stdio_1 = require("../drivers/stdio");
|
|
49
51
|
const login_1 = require("../plugins/login");
|
|
@@ -56,10 +58,12 @@ const path = __importStar(require("path"));
|
|
|
56
58
|
* with organization details, are saved to {@link IDENTITY_FILE_PATH}.
|
|
57
59
|
*/
|
|
58
60
|
const login = (args, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
-
|
|
61
|
+
var _a;
|
|
62
|
+
const orgDoc = yield (0, firestore_2.getDoc)((0, firestore_1.publicDoc)(`orgs/${args.org}`));
|
|
60
63
|
const orgData = orgDoc.data();
|
|
61
64
|
if (!orgData)
|
|
62
65
|
throw "Could not find organization";
|
|
66
|
+
yield (0, config_1.saveConfig)((_a = orgData.config) !== null && _a !== void 0 ? _a : env_1.bootstrapConfig);
|
|
63
67
|
const orgWithSlug = Object.assign(Object.assign({}, orgData), { slug: args.org });
|
|
64
68
|
const plugin = orgWithSlug === null || orgWithSlug === void 0 ? void 0 : orgWithSlug.ssoProvider;
|
|
65
69
|
const loginFn = login_1.pluginLoginMap[plugin];
|
|
@@ -69,8 +73,9 @@ const login = (args, options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
69
73
|
yield clearIdentityCache();
|
|
70
74
|
yield writeIdentity(orgWithSlug, tokenResponse);
|
|
71
75
|
// validate auth
|
|
72
|
-
if (!(options === null || options === void 0 ? void 0 : options.skipAuthenticate))
|
|
73
|
-
yield (0, auth_1.authenticate)(
|
|
76
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipAuthenticate)) {
|
|
77
|
+
yield (0, auth_1.authenticate)();
|
|
78
|
+
}
|
|
74
79
|
(0, stdio_1.print2)(`You are now logged in, and can use the p0 CLI.`);
|
|
75
80
|
});
|
|
76
81
|
exports.login = login;
|
|
@@ -92,7 +97,7 @@ const clearIdentityCache = () => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
92
97
|
yield fs.access(auth_1.IDENTITY_CACHE_PATH);
|
|
93
98
|
yield fs.rm(auth_1.IDENTITY_CACHE_PATH, { recursive: true });
|
|
94
99
|
}
|
|
95
|
-
catch (
|
|
100
|
+
catch (_b) {
|
|
96
101
|
return;
|
|
97
102
|
}
|
|
98
103
|
});
|
|
@@ -100,6 +105,6 @@ const loginCommand = (yargs) => yargs.command("login <org>", "Log in to p0 using
|
|
|
100
105
|
demandOption: true,
|
|
101
106
|
type: "string",
|
|
102
107
|
describe: "Your P0 organization ID",
|
|
103
|
-
}), (0, firestore_1.
|
|
108
|
+
}), (0, firestore_1.fsShutdownGuard)(exports.login));
|
|
104
109
|
exports.loginCommand = loginCommand;
|
|
105
110
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAIyB;AACzB,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/ls.js
CHANGED
|
@@ -38,7 +38,7 @@ const lsArgs = (yargs) => yargs
|
|
|
38
38
|
string: true,
|
|
39
39
|
default: [],
|
|
40
40
|
});
|
|
41
|
-
const lsCommand = (yargs) => yargs.command("ls [arguments..]", "List request-command arguments", lsArgs, (0, firestore_1.
|
|
41
|
+
const lsCommand = (yargs) => yargs.command("ls [arguments..]", "List request-command arguments", lsArgs, (0, firestore_1.fsShutdownGuard)(ls));
|
|
42
42
|
exports.lsCommand = lsCommand;
|
|
43
43
|
const ls = (args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
44
|
const authn = yield (0, auth_1.authenticate)();
|
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,0CAA0C;AAC1C,wCAA8C;AAC9C,0CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../src/commands/ls.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/request.js
CHANGED
|
@@ -13,6 +13,6 @@ You should have received a copy of the GNU General Public License along with @p0
|
|
|
13
13
|
**/
|
|
14
14
|
const firestore_1 = require("../drivers/firestore");
|
|
15
15
|
const request_1 = require("./shared/request");
|
|
16
|
-
const requestCommand = (yargs) => yargs.command("request [arguments..]", "Manually request permissions on a resource", request_1.requestArgs, (0, firestore_1.
|
|
16
|
+
const requestCommand = (yargs) => yargs.command("request [arguments..]", "Manually request permissions on a resource", request_1.requestArgs, (0, firestore_1.fsShutdownGuard)((0, request_1.request)("request")));
|
|
17
17
|
exports.requestCommand = requestCommand;
|
|
18
18
|
//# sourceMappingURL=request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/commands/request.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/commands/request.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,oDAAuD;AACvD,8CAAwD;AAGjD,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,CACX,uBAAuB,EACvB,4CAA4C,EAC5C,qBAAW,EACX,IAAA,2BAAe,EAAC,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC,CACpC,CAAC;AANS,QAAA,cAAc,kBAMvB"}
|
package/dist/commands/scp.js
CHANGED
|
@@ -71,7 +71,7 @@ const scpCommand = (yargs) => yargs.command("scp <source> <destination>",
|
|
|
71
71
|
})
|
|
72
72
|
.epilogue(`[-- SCP_ARGS ...]
|
|
73
73
|
Flags and positionals passed to the underlying scp implementation.
|
|
74
|
-
The '--' argument must be specified between P0-specific args on the left and SCP_ARGS on the right.`), (0, firestore_1.
|
|
74
|
+
The '--' argument must be specified between P0-specific args on the left and SCP_ARGS on the right.`), (0, firestore_1.fsShutdownGuard)(scpAction));
|
|
75
75
|
exports.scpCommand = scpCommand;
|
|
76
76
|
/** Transfers files between a local and remote hosts using SSH.
|
|
77
77
|
*
|
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,
|
|
1
|
+
{"version":3,"file":"scp.js","sourceRoot":"","sources":["../../src/commands/scp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.sshKeyGenCommand = void 0;
|
|
13
|
+
/** Copyright © 2024-present P0 Security
|
|
14
|
+
|
|
15
|
+
This file is part of @p0security/cli
|
|
16
|
+
|
|
17
|
+
@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.
|
|
18
|
+
|
|
19
|
+
@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.
|
|
20
|
+
|
|
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
|
+
**/
|
|
23
|
+
const keys_1 = require("../common/keys");
|
|
24
|
+
const sshKeyGenCommand = (yargs) => yargs.command("ssh-keygen", `Generate an SSH key pair for use with P0 and store it in your ${keys_1.P0_KEY_FOLDER} folder, if one does not exist already. This key pair is also automatically generated by using any "p0 ssh/scp ..." command.`, (yargs) => yargs, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
yield (0, keys_1.createKeyPair)();
|
|
26
|
+
}));
|
|
27
|
+
exports.sshKeyGenCommand = sshKeyGenCommand;
|
|
28
|
+
//# sourceMappingURL=ssh-keygen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssh-keygen.js","sourceRoot":"","sources":["../../src/commands/ssh-keygen.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,yCAA8D;AAGvD,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE,CACpD,KAAK,CAAC,OAAO,CACX,YAAY,EACZ,iEAAiE,oBAAa,8HAA8H,EAC5M,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAChB,GAAS,EAAE;IACT,MAAM,IAAA,oBAAa,GAAE,CAAC;AACxB,CAAC,CAAA,CACF,CAAC;AARS,QAAA,gBAAgB,oBAQzB"}
|
package/dist/commands/ssh.js
CHANGED
|
@@ -70,7 +70,7 @@ const sshCommand = (yargs) => yargs.command("ssh <destination> [command [argumen
|
|
|
70
70
|
Flags and positionals passed to the underlying ssh implementation.
|
|
71
71
|
The '--' argument must be specified between P0-specific args on the left and SSH_ARGS on the right. Example;
|
|
72
72
|
|
|
73
|
-
$ p0 ssh example-instance --provider gcloud -- -NR '*:8080:localhost:8088' -o 'GatewayPorts yes'`), (0, firestore_1.
|
|
73
|
+
$ p0 ssh example-instance --provider gcloud -- -NR '*:8080:localhost:8088' -o 'GatewayPorts yes'`), (0, firestore_1.fsShutdownGuard)(sshAction));
|
|
74
74
|
exports.sshCommand = sshCommand;
|
|
75
75
|
/** Connect to an SSH backend
|
|
76
76
|
*
|
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,
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/commands/ssh.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAA+C;AAC/C,oDAAuD;AACvD,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,2BAAe,EAAC,SAAS,CAAC,CAC3B,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"}
|
package/dist/common/keys.d.ts
CHANGED
package/dist/common/keys.js
CHANGED
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.createKeyPair = exports.PRIVATE_KEY_PATH = exports.PUBLIC_KEY_PATH = void 0;
|
|
38
|
+
exports.createKeyPair = exports.PRIVATE_KEY_PATH = exports.PUBLIC_KEY_PATH = exports.P0_KEY_FOLDER = void 0;
|
|
39
39
|
/** Copyright © 2024-present P0 Security
|
|
40
40
|
|
|
41
41
|
This file is part of @p0security/cli
|
|
@@ -50,8 +50,9 @@ const util_1 = require("../util");
|
|
|
50
50
|
const fs = __importStar(require("fs/promises"));
|
|
51
51
|
const node_forge_1 = __importDefault(require("node-forge"));
|
|
52
52
|
const path = __importStar(require("path"));
|
|
53
|
-
exports.
|
|
54
|
-
exports.
|
|
53
|
+
exports.P0_KEY_FOLDER = path.join(util_1.P0_PATH, "ssh");
|
|
54
|
+
exports.PUBLIC_KEY_PATH = path.join(exports.P0_KEY_FOLDER, "id_rsa.pub");
|
|
55
|
+
exports.PRIVATE_KEY_PATH = path.join(exports.P0_KEY_FOLDER, "id_rsa");
|
|
55
56
|
/**
|
|
56
57
|
* Search for a cached key pair, or create a new one if not found
|
|
57
58
|
*/
|
package/dist/common/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/common/keys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,kCAAkC;AAClC,gDAAkC;AAClC,4DAA+B;AAC/B,2CAA6B;AAEhB,QAAA,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/common/keys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,kCAAkC;AAClC,gDAAkC;AAClC,4DAA+B;AAC/B,2CAA6B;AAEhB,QAAA,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAO,EAAE,KAAK,CAAC,CAAC;AAC1C,QAAA,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAa,EAAE,YAAY,CAAC,CAAC;AACzD,QAAA,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAa,EAAE,QAAQ,CAAC,CAAC;AAEnE;;GAEG;AACI,MAAM,aAAa,GAAG,GAG1B,EAAE;IACH,IACE,CAAC,MAAM,UAAU,CAAC,uBAAe,CAAC,CAAC;QACnC,CAAC,MAAM,UAAU,CAAC,wBAAgB,CAAC,CAAC,EACpC;QACA,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAe,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAgB,EAAE,MAAM,CAAC,CAAC;QAE/D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;KAClC;SAAM;QACL,MAAM,UAAU,GAAG,oBAAK,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,oBAAK,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,oBAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,uBAAe,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,SAAS,CAAC,wBAAgB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;KAClC;AACH,CAAC,CAAA,CAAC;AAtBW,QAAA,aAAa,iBAsBxB;AAEF,MAAM,UAAU,GAAG,CAAO,IAAY,EAAE,EAAE;IACxC,IAAI;QACF,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAA,CAAC"}
|
package/dist/drivers/api.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
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
|
+
**/
|
|
1
11
|
import { Authn } from "../types/identity";
|
|
2
12
|
import yargs from "yargs";
|
|
3
13
|
export declare const fetchCommand: <T>(authn: Authn, args: yargs.ArgumentsCamelCase, argv: string[]) => Promise<T>;
|
package/dist/drivers/api.js
CHANGED
|
@@ -33,19 +33,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.baseFetch = exports.fetchCommand = void 0;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
This file is part of @p0security/cli
|
|
39
|
-
|
|
40
|
-
@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.
|
|
41
|
-
|
|
42
|
-
@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.
|
|
43
|
-
|
|
44
|
-
You should have received a copy of the GNU General Public License along with @p0security/cli. If not, see <https://www.gnu.org/licenses/>.
|
|
45
|
-
**/
|
|
46
|
-
const env_1 = require("../drivers/env");
|
|
36
|
+
const config_1 = require("./config");
|
|
47
37
|
const path = __importStar(require("node:path"));
|
|
48
|
-
const tenantUrl = (tenant) => `${
|
|
38
|
+
const tenantUrl = (tenant) => `${(0, config_1.getTenantConfig)().appUrl}/o/${tenant}`;
|
|
49
39
|
const commandUrl = (tenant) => `${tenantUrl(tenant)}/command/`;
|
|
50
40
|
const fetchCommand = (authn, args, argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
41
|
return (0, exports.baseFetch)(authn, commandUrl(authn.identity.org.slug), "POST", JSON.stringify({
|
package/dist/drivers/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/drivers/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/drivers/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,qCAA2C;AAC3C,gDAAkC;AAGlC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,IAAA,wBAAe,GAAE,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC;AAChF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;AAEhE,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,IAA8B,EAC9B,IAAc,EACd,EAAE;IACF,OAAA,IAAA,iBAAS,EACP,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACnC,MAAM,EACN,IAAI,CAAC,SAAS,CAAC;QACb,IAAI;QACJ,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;KACnC,CAAC,CACH,CAAA;EAAA,CAAC;AAbS,QAAA,YAAY,gBAarB;AAEG,MAAM,SAAS,GAAG,CACvB,KAAY,EACZ,GAAW,EACX,MAAc,EACd,IAAY,EACZ,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAE3D,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,IAAS,CAAC;KAClB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE;YAClE,MAAM,gDAAgD,GAAG,GAAG,CAAC;SAC9D;aAAM;YACL,MAAM,KAAK,CAAC;SACb;KACF;AACH,CAAC,CAAA,CAAC;AA9BW,QAAA,SAAS,aA8BpB"}
|
package/dist/drivers/auth.js
CHANGED
|
@@ -45,9 +45,9 @@ You should have received a copy of the GNU General Public License along with @p0
|
|
|
45
45
|
**/
|
|
46
46
|
const login_1 = require("../commands/login");
|
|
47
47
|
const util_1 = require("../util");
|
|
48
|
+
const config_1 = require("./config");
|
|
48
49
|
const firestore_1 = require("./firestore");
|
|
49
50
|
const stdio_1 = require("./stdio");
|
|
50
|
-
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");
|
|
@@ -109,22 +109,10 @@ 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
|
-
|
|
112
|
+
yield (0, config_1.loadConfig)();
|
|
113
|
+
(0, firestore_1.initializeFirebase)();
|
|
113
114
|
const identity = yield (0, exports.loadCredentials)(options);
|
|
114
|
-
const
|
|
115
|
-
// TODO: Move to map lookup
|
|
116
|
-
const provider = new auth_1.OAuthProvider(identity.org.ssoProvider === "google"
|
|
117
|
-
? auth_1.SignInMethod.GOOGLE
|
|
118
|
-
: identity.org.providerId);
|
|
119
|
-
const firebaseCredential = provider.credential({
|
|
120
|
-
accessToken: credential.access_token,
|
|
121
|
-
idToken: credential.id_token,
|
|
122
|
-
});
|
|
123
|
-
firestore_1.auth.tenantId = identity.org.tenantId;
|
|
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
|
-
}
|
|
115
|
+
const userCredential = yield (0, firestore_1.authenticateToFirebase)(identity);
|
|
128
116
|
return { userCredential, identity };
|
|
129
117
|
});
|
|
130
118
|
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,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/drivers/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
import { Config } from "../types/org";
|
|
12
|
+
export declare const CONFIG_FILE_PATH: string;
|
|
13
|
+
export declare function getTenantConfig(): Config;
|
|
14
|
+
export declare function saveConfig(config: Config): Promise<void>;
|
|
15
|
+
export declare function loadConfig(): Promise<void>;
|