@p0security/cli 0.18.4 → 0.18.6
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/README.md +7 -1
- package/build/dist/commands/index.d.ts +1 -1
- package/build/dist/commands/index.js +33 -19
- package/build/dist/commands/index.js.map +1 -1
- package/build/dist/commands/kubeconfig.js +2 -0
- package/build/dist/commands/kubeconfig.js.map +1 -1
- package/build/dist/drivers/api.d.ts +10 -0
- package/build/dist/drivers/api.js +3 -12
- package/build/dist/drivers/api.js.map +1 -1
- package/build/dist/index.d.ts +0 -1
- package/build/dist/index.js +3 -3
- package/build/dist/index.js.map +1 -1
- package/build/dist/middlewares/version.js +16 -4
- package/build/dist/middlewares/version.js.map +1 -1
- package/build/dist/plugins/aws/assumeRole.js +6 -1
- package/build/dist/plugins/aws/assumeRole.js.map +1 -1
- package/build/dist/version.d.ts +4 -0
- package/build/dist/version.js +58 -0
- package/build/dist/version.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ To learn more about P0, see our [docs](https://docs.p0.dev/).
|
|
|
35
35
|
|
|
36
36
|
### Installation
|
|
37
37
|
|
|
38
|
-
To install the P0 CLI, ensure your `node` version is 22 or higher, then run:
|
|
38
|
+
To install the P0 CLI as an NPM package, ensure your `node` version is 22 or higher, then run:
|
|
39
39
|
|
|
40
40
|
```
|
|
41
41
|
npm install -g @p0security/cli
|
|
@@ -50,6 +50,12 @@ nvm install 22
|
|
|
50
50
|
nvm use 22
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
We also provide the ability to install the P0 CLI as a standalone executable that does not require
|
|
54
|
+
an existing installation of NodeJS. The installer is available on the GitHub [releases page](https://github.com/p0-security/p0cli/releases)
|
|
55
|
+
|
|
56
|
+
The standalone CLI is currently only available on MacOS. Using the standalone CLI doesn't have any functionality that is not included
|
|
57
|
+
when installing via NPM, so for most users installing via NPM is likely to fulfill your needs.
|
|
58
|
+
|
|
53
59
|
### Configuration
|
|
54
60
|
|
|
55
61
|
Before you can make requests using the P0 CLI, you will need to authenticate with your P0 organization. If you don't have a P0 organization account yet, follow our [Quick Start guide](https://docs.p0.dev/getting-started/quick-start) to create an account and install a resource for access requests.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import yargs from "yargs";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const getCli: () => Promise<yargs.Argv<{}>>;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
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
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
5
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
15
|
+
exports.getCli = void 0;
|
|
7
16
|
/** Copyright © 2024-present P0 Security
|
|
8
17
|
|
|
9
18
|
This file is part of @p0security/cli
|
|
@@ -17,6 +26,7 @@ You should have received a copy of the GNU General Public License along with @p0
|
|
|
17
26
|
const config_1 = require("../drivers/config");
|
|
18
27
|
const stdio_1 = require("../drivers/stdio");
|
|
19
28
|
const version_1 = require("../middlewares/version");
|
|
29
|
+
const version_2 = require("../version");
|
|
20
30
|
const allow_1 = require("./allow");
|
|
21
31
|
const aws_1 = require("./aws");
|
|
22
32
|
const grant_1 = require("./grant");
|
|
@@ -46,8 +56,9 @@ const commands = [
|
|
|
46
56
|
ssh_keygen_1.sshKeyGenCommand,
|
|
47
57
|
kubeconfig_1.kubeconfigCommand,
|
|
48
58
|
];
|
|
49
|
-
const buildArgv = () => {
|
|
50
|
-
const
|
|
59
|
+
const buildArgv = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
+
const { version } = yield version_2.p0VersionInfo;
|
|
61
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).version(version);
|
|
51
62
|
// Override the default yargs showHelp() function to include a custom help message at the end
|
|
52
63
|
const originalShowHelp = argv.showHelp.bind(argv);
|
|
53
64
|
argv.showHelp = (arg) => {
|
|
@@ -61,7 +72,7 @@ const buildArgv = () => {
|
|
|
61
72
|
return argv;
|
|
62
73
|
};
|
|
63
74
|
return argv;
|
|
64
|
-
};
|
|
75
|
+
});
|
|
65
76
|
// Skip the version check for these non-interactive commands
|
|
66
77
|
const skipVersionCheckFor = ["ssh-proxy", "ssh-resolve"];
|
|
67
78
|
function conditionalCheckVersion(argv) {
|
|
@@ -76,20 +87,23 @@ function conditionalCheckVersion(argv) {
|
|
|
76
87
|
return (0, version_1.checkVersion)(argv);
|
|
77
88
|
}
|
|
78
89
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
const getCli = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
91
|
+
return commands
|
|
92
|
+
.reduce((m, c) => c(m), yield buildArgv())
|
|
93
|
+
.middleware(conditionalCheckVersion)
|
|
94
|
+
.strict()
|
|
95
|
+
.demandCommand(1)
|
|
96
|
+
.fail((message, error, yargs) => {
|
|
97
|
+
if (error) {
|
|
98
|
+
(0, stdio_1.print2)(error);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
(0, stdio_1.print2)(yargs.help());
|
|
102
|
+
(0, stdio_1.print2)(`\n${message}`);
|
|
103
|
+
(0, stdio_1.print2)(`\n${(0, config_1.getHelpMessage)()}`);
|
|
104
|
+
}
|
|
105
|
+
typescript_1.sys.exit(1);
|
|
106
|
+
});
|
|
94
107
|
});
|
|
108
|
+
exports.getCli = getCli;
|
|
95
109
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAmD;AACnD,4CAAkD;AAClD,oDAAsD;AACtD,wCAA2C;AAC3C,mCAAuC;AACvC,+BAAmC;AACnC,mCAAuC;AACvC,6CAAiD;AACjD,mCAAuC;AACvC,6BAAiC;AACjC,uCAA2C;AAC3C,+BAAmC;AACnC,+BAAmC;AACnC,6CAAgD;AAChD,2CAA8C;AAC9C,+CAAkD;AAClD,2CAAiC;AACjC,kDAA0B;AAC1B,2CAAwC;AAExC,MAAM,QAAQ,GAAG;IACf,gBAAU;IACV,oBAAY;IACZ,oBAAY;IACZ,cAAS;IACT,wBAAc;IACd,oBAAY;IACZ,gBAAU;IACV,2BAAe;IACf,+BAAiB;IACjB,gBAAU;IACV,6BAAgB;IAChB,8BAAiB;CAClB,CAAC;AAEF,MAAM,SAAS,GAAG,GAAS,EAAE;IAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAa,CAAC;IACxC,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D,6FAA6F;IAC7F,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAoC,EAAE,EAAE;QACvD,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;YAC7B,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAA,uBAAc,GAAE,CAAC,CAAC,CAAC;SAC3D;aAAM;YACL,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtB,IAAA,cAAM,EAAC,KAAK,IAAA,uBAAc,GAAE,EAAE,CAAC,CAAC;SACjC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,4DAA4D;AAC5D,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEzD,SAAS,uBAAuB,CAAC,IAA8B;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACtC,OAAO;KACR;IAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QAChD,OAAO;KACR;SAAM;QACL,OAAO,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;KAC3B;AACH,CAAC;AAEM,MAAM,MAAM,GAAG,GAAS,EAAE;IAC/B,OAAA,QAAQ;SACL,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,SAAS,EAAE,CAAC;SACzC,UAAU,CAAC,uBAAuB,CAAC;SACnC,MAAM,EAAE;SACR,aAAa,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,IAAI,KAAK,EAAE;YACT,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;SACf;aAAM;YACL,IAAA,cAAM,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrB,IAAA,cAAM,EAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YACvB,IAAA,cAAM,EAAC,KAAK,IAAA,uBAAc,GAAE,EAAE,CAAC,CAAC;SACjC;QACD,gBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC,CAAC,CAAA;EAAA,CAAC;AAfM,QAAA,MAAM,UAeZ"}
|
|
@@ -30,6 +30,8 @@ const kubeconfig_1 = require("../plugins/kubeconfig");
|
|
|
30
30
|
const install_1 = require("../plugins/kubeconfig/install");
|
|
31
31
|
const util_1 = require("../util");
|
|
32
32
|
const files_1 = require("./aws/files");
|
|
33
|
+
// The P0 backend must be updated if this CLI command changes!
|
|
34
|
+
// This command is rendered to the user once a k8s request is approved.
|
|
33
35
|
const kubeconfigCommand = (yargs) => yargs.command("kubeconfig", "Request access to and automatically configure kubectl for a k8s cluster hosted by a cloud provider. Currently supports AWS EKS only.", (yargs) => yargs
|
|
34
36
|
.option("cluster", {
|
|
35
37
|
type: "string",
|
|
@@ -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,oDAAuD;AACvD,4CAAqD;AACrD,gDAAgD;AAChD,sDAM+B;AAC/B,2DAAiE;AACjE,kCAAyC;AACzC,uCAA6E;
|
|
1
|
+
{"version":3,"file":"kubeconfig.js","sourceRoot":"","sources":["../../../src/commands/kubeconfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -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>;
|
|
@@ -33,17 +33,7 @@ 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.submitPublicKey = exports.fetchAdminLsCommand = 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 __1 = require("..");
|
|
36
|
+
const version_1 = require("../version");
|
|
47
37
|
const config_1 = require("./config");
|
|
48
38
|
const path = __importStar(require("node:path"));
|
|
49
39
|
const tenantUrl = (tenant) => `${(0, config_1.getTenantConfig)().appUrl}/o/${tenant}`;
|
|
@@ -74,13 +64,14 @@ const submitPublicKey = (authn, args) => __awaiter(void 0, void 0, void 0, funct
|
|
|
74
64
|
exports.submitPublicKey = submitPublicKey;
|
|
75
65
|
const baseFetch = (authn, url, method, body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
76
66
|
const token = yield authn.userCredential.user.getIdToken();
|
|
67
|
+
const { version } = yield version_1.p0VersionInfo;
|
|
77
68
|
try {
|
|
78
69
|
const response = yield fetch(url, {
|
|
79
70
|
method,
|
|
80
71
|
headers: {
|
|
81
72
|
authorization: `Bearer ${token}`,
|
|
82
73
|
"Content-Type": "application/json",
|
|
83
|
-
"User-Agent": `P0 CLI/${
|
|
74
|
+
"User-Agent": `P0 CLI/${version}`,
|
|
84
75
|
},
|
|
85
76
|
body,
|
|
86
77
|
});
|
|
@@ -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,wCAA2C;AAC3C,qCAA2C;AAC3C,gDAAkC;AAGlC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,IAAA,wBAAe,GAAE,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC;AAChF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CACvC,GAAG,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;AACvE,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;AAEzE,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;AAEJ,uGAAuG;AAChG,MAAM,mBAAmB,GAAG,CACjC,KAAY,EACZ,IAA8B,EAC9B,IAAc,EACd,EAAE;IACF,OAAA,IAAA,iBAAS,EACP,KAAK,EACL,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAC1C,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,mBAAmB,uBAa5B;AAEG,MAAM,eAAe,GAAG,CAC7B,KAAY,EACZ,IAA8C,EAC9C,EAAE;IACF,OAAA,IAAA,iBAAS,EACP,KAAK,EACL,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACtC,MAAM,EACN,IAAI,CAAC,SAAS,CAAC;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CACH,CAAA;EAAA,CAAC;AAZS,QAAA,eAAe,mBAYxB;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;IAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAa,CAAC;IAExC,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;gBAClC,YAAY,EAAE,UAAU,OAAO,EAAE;aAClC;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;AAhCW,QAAA,SAAS,aAgCpB"}
|
package/build/dist/index.d.ts
CHANGED
package/build/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.main =
|
|
12
|
+
exports.main = void 0;
|
|
13
13
|
/** Copyright © 2024-present P0 Security
|
|
14
14
|
|
|
15
15
|
This file is part of @p0security/cli
|
|
@@ -24,7 +24,6 @@ const commands_1 = require("./commands");
|
|
|
24
24
|
const config_1 = require("./drivers/config");
|
|
25
25
|
const lodash_1 = require("lodash");
|
|
26
26
|
const node_sea_1 = require("node:sea");
|
|
27
|
-
exports.P0_VERSION = "0.18.4";
|
|
28
27
|
const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
28
|
// Try to load the config early here to get the custom help/contact messages (if any)
|
|
30
29
|
try {
|
|
@@ -38,8 +37,9 @@ const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
38
37
|
throw error;
|
|
39
38
|
}
|
|
40
39
|
}
|
|
40
|
+
const cli = yield (0, commands_1.getCli)();
|
|
41
41
|
// We can suppress output here, as .fail() already print2 errors
|
|
42
|
-
void
|
|
42
|
+
void cli.parse().catch(lodash_1.noop);
|
|
43
43
|
});
|
|
44
44
|
exports.main = main;
|
|
45
45
|
if (require.main === module || (0, node_sea_1.isSea)()) {
|
package/build/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,yCAAoC;AACpC,6CAA8C;AAC9C,mCAA8B;AAC9B,uCAAiC;AAE1B,MAAM,IAAI,GAAG,GAAS,EAAE;IAC7B,qFAAqF;IACrF,IAAI;QACF,MAAM,IAAA,mBAAU,GAAE,CAAC;KACpB;IAAC,OAAO,KAAU,EAAE;QACnB,wEAAwE;QACxE,2EAA2E;QAC3E,4CAA4C;QAC5C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,QAAQ,EAAE;YAC5B,MAAM,KAAK,CAAC;SACb;KACF;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAM,GAAE,CAAC;IAC3B,gEAAgE;IAChE,KAAM,GAAG,CAAC,KAAK,EAAU,CAAC,KAAK,CAAC,aAAI,CAAC,CAAC;AACxC,CAAC,CAAA,CAAC;AAhBW,QAAA,IAAI,QAgBf;AAEF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAA,gBAAK,GAAE,EAAE;IACtC,KAAK,IAAA,YAAI,GAAE,CAAC;CACb"}
|
|
@@ -25,8 +25,10 @@ You should have received a copy of the GNU General Public License along with @p0
|
|
|
25
25
|
**/
|
|
26
26
|
const stdio_1 = require("../drivers/stdio");
|
|
27
27
|
const util_1 = require("../util");
|
|
28
|
+
const version_1 = require("../version");
|
|
28
29
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
29
30
|
const node_path_1 = __importDefault(require("node:path"));
|
|
31
|
+
const node_sea_1 = require("node:sea");
|
|
30
32
|
const semver_1 = __importDefault(require("semver"));
|
|
31
33
|
const LATEST_VERSION_FILE = "last-version-check";
|
|
32
34
|
// We don't want to add any significant overhead to p0 commands with the version check,
|
|
@@ -53,20 +55,30 @@ const checkVersion = (_yargs) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
53
55
|
}
|
|
54
56
|
// Write the version-check file first to avoid retrying errors
|
|
55
57
|
yield promises_1.default.writeFile(latestFile, "");
|
|
56
|
-
|
|
57
|
-
// We can't require package.json as it is outside the TypeScript root
|
|
58
|
-
const { name, version } = JSON.parse((yield promises_1.default.readFile(`${__dirname}/../../package.json`)).toString("utf-8"));
|
|
58
|
+
const { name, version } = yield version_1.p0VersionInfo;
|
|
59
59
|
const npmResult = (0, util_1.exec)("npm", ["view", name, "--json"], { check: true });
|
|
60
60
|
const npmPackage = yield (0, util_1.timeout)(npmResult, VERSION_CHECK_TIMEOUT_MILLIS);
|
|
61
61
|
const { "dist-tags": { latest }, } = JSON.parse(npmPackage.stdout);
|
|
62
62
|
if (semver_1.default.lt(version, latest)) {
|
|
63
|
-
(0,
|
|
63
|
+
if ((0, node_sea_1.isSea)()) {
|
|
64
|
+
(0, stdio_1.print2)(`╔═══════════════════════════════════════════════╗
|
|
65
|
+
║ A new version of P0 CLI is available ║
|
|
66
|
+
║ ║
|
|
67
|
+
║ To install, download the latest version ║
|
|
68
|
+
║ from the GitHub releases page: ║
|
|
69
|
+
║ https://github.com/p0-security/p0cli/releases ║
|
|
70
|
+
╚═══════════════════════════════════════════════╝
|
|
71
|
+
`);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
(0, stdio_1.print2)(`╔══════════════════════════════════════╗
|
|
64
75
|
║ A new version of P0 CLI is available ║
|
|
65
76
|
║ ║
|
|
66
77
|
║ To install, run ║
|
|
67
78
|
║ npm -g update ${name.padEnd(20)} ║
|
|
68
79
|
╚══════════════════════════════════════╝
|
|
69
80
|
`);
|
|
81
|
+
}
|
|
70
82
|
}
|
|
71
83
|
}
|
|
72
84
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/middlewares/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,4CAA0C;AAC1C,kCAAiD;AACjD,gEAAkC;AAClC,0DAA6B;AAC7B,oDAA4B;AAG5B,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,uFAAuF;AACvF,wCAAwC;AACxC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,MAAM,6BAA6B,GAAG,OAAO,CAAC,CAAC,QAAQ;AAEvD;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAO,MAAgC,EAAE,EAAE;IACrE,IAAI;QACF,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,cAAO,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,6BAA6B;gBACpE,OAAO;SACV;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;SAC1C;QAED,8DAA8D;QAC9D,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAEnC,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/middlewares/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,4CAA0C;AAC1C,kCAAiD;AACjD,wCAA2C;AAC3C,gEAAkC;AAClC,0DAA6B;AAC7B,uCAAiC;AACjC,oDAA4B;AAG5B,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,uFAAuF;AACvF,wCAAwC;AACxC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,MAAM,6BAA6B,GAAG,OAAO,CAAC,CAAC,QAAQ;AAEvD;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAO,MAAgC,EAAE,EAAE;IACrE,IAAI;QACF,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,cAAO,EAAE,mBAAmB,CAAC,CAAC;QAC3D,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,6BAA6B;gBACpE,OAAO;SACV;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;SAC1C;QAED,8DAA8D;QAC9D,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAEnC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAa,CAAC;QAE9C,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,IAAA,cAAO,EAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;QAC1E,MAAM,EACJ,WAAW,EAAE,EAAE,MAAM,EAAE,GACxB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,gBAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;YAC9B,IAAI,IAAA,gBAAK,GAAE,EAAE;gBACX,IAAA,cAAM,EACJ;;;;;;;CAOT,CACQ,CAAC;aACH;iBAAM;gBACL,IAAA,cAAM,EACJ;;;;oBAIU,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;;CAElC,CACQ,CAAC;aACH;SACF;KACF;IAAC,OAAO,KAAU,EAAE;QACnB,uBAAuB;QACvB,qBAAqB;KACtB;AACH,CAAC,CAAA,CAAC;AAlDW,QAAA,YAAY,gBAkDvB"}
|
|
@@ -26,7 +26,12 @@ const api_1 = require("./api");
|
|
|
26
26
|
const api_2 = require("./api");
|
|
27
27
|
const roleArn = (args) => `${(0, api_1.arnPrefix)(args.account)}:role/${args.role}`;
|
|
28
28
|
const stsAssume = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
-
|
|
29
|
+
// Regional endpoints issue version-2 tokens, which are valid in all AWS regions.
|
|
30
|
+
// The us-east-1 and eu-south-1 regional endpoints are the only ones that are always on.
|
|
31
|
+
// Use the us-east-1 as it should be closer to most users.
|
|
32
|
+
// Calling the global endpoints issues version-1 tokens, which are only valid in default regions.
|
|
33
|
+
// See https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_region-endpoints.html
|
|
34
|
+
const url = `https://sts.us-east-1.amazonaws.com`;
|
|
30
35
|
const response = yield fetch(url, {
|
|
31
36
|
method: "POST",
|
|
32
37
|
body: new URLSearchParams(params),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assumeRole.js","sourceRoot":"","sources":["../../../../src/plugins/aws/assumeRole.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAsD;AACtD,0CAA4C;AAC5C,+BAAkC;AAClC,+BAAwC;AAGxC,MAAM,OAAO,GAAG,CAAC,IAAuC,EAAE,EAAE,CAC1D,GAAG,IAAA,eAAS,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;AAEjD,MAAM,SAAS,GAAG,CAChB,MAA8B,EACL,EAAE;IAC3B,MAAM,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"assumeRole.js","sourceRoot":"","sources":["../../../../src/plugins/aws/assumeRole.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAsD;AACtD,0CAA4C;AAC5C,+BAAkC;AAClC,+BAAwC;AAGxC,MAAM,OAAO,GAAG,CAAC,IAAuC,EAAE,EAAE,CAC1D,GAAG,IAAA,eAAS,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;AAEjD,MAAM,SAAS,GAAG,CAChB,MAA8B,EACL,EAAE;IAC3B,iFAAiF;IACjF,wFAAwF;IACxF,0DAA0D;IAC1D,iGAAiG;IACjG,iGAAiG;IACjG,MAAM,GAAG,GAAG,qCAAqC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAA,cAAQ,EAAC,MAAM,CAAC,CAAC;IACnC,MAAM,cAAc,GAClB,SAAS,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,WAAW,CAAC;IAC5E,OAAO;QACL,iBAAiB,EAAE,cAAc,CAAC,WAAW;QAC7C,qBAAqB,EAAE,cAAc,CAAC,eAAe;QACrD,iBAAiB,EAAE,cAAc,CAAC,YAAY;QAC9C,kBAAkB,EAAE,cAAc,CAAC,YAAY;KAChD,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,yCAAyC;AAClC,MAAM,kBAAkB,GAAG,CAAO,IAWxC,EAA2B,EAAE;IAC5B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,qBAAe;QACxB,MAAM,EAAE,oBAAoB;QAC5B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QACtB,YAAY,EAAE,GAAG,IAAA,eAAS,EAAC,IAAI,CAAC,OAAO,CAAC,kBACtC,IAAI,CAAC,IAAI,CAAC,YACZ,EAAE;QACF,oEAAoE;QACpE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;KAClC,CAAC;IACF,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAA,CAAC;AAvBW,QAAA,kBAAkB,sBAuB7B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.p0VersionInfo = void 0;
|
|
16
|
+
/** Copyright © 2024-present P0 Security
|
|
17
|
+
|
|
18
|
+
This file is part of @p0security/cli
|
|
19
|
+
|
|
20
|
+
@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.
|
|
21
|
+
|
|
22
|
+
@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.
|
|
23
|
+
|
|
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
|
+
**/
|
|
26
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
27
|
+
const node_sea_1 = require("node:sea");
|
|
28
|
+
const loadCurrentVersion = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
if ((0, node_sea_1.isSea)()) {
|
|
31
|
+
// When building with the standalone CLI, we need to manually include the package.json as a
|
|
32
|
+
// static asset in sea-config.json, as it is not included in the build by default.
|
|
33
|
+
const packageJsonBytes = (0, node_sea_1.getAssetAsBlob)("package.json");
|
|
34
|
+
const json = JSON.parse(yield packageJsonBytes.text());
|
|
35
|
+
const { name, version } = json;
|
|
36
|
+
return { name, version };
|
|
37
|
+
}
|
|
38
|
+
// Note that package.json is installed at <root>/package.json,
|
|
39
|
+
// whereas this gets compiled to <root>/build/dist/version.js
|
|
40
|
+
// in the build. We also need to adjust the path when running tests
|
|
41
|
+
const packageJsonPath = process.env.TS_JEST
|
|
42
|
+
? `${__dirname}/../package.json`
|
|
43
|
+
: `${__dirname}/../../package.json`;
|
|
44
|
+
const { name, version } = JSON.parse((yield promises_1.default.readFile(packageJsonPath)).toString("utf-8"));
|
|
45
|
+
return { name, version };
|
|
46
|
+
}
|
|
47
|
+
catch (_a) {
|
|
48
|
+
return { name: "@p0security/cli", version: "unknown" };
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
// p0VersionInfo is a promise that resolves to the current version info
|
|
52
|
+
// The importer needs to await this promise to actually read the version number
|
|
53
|
+
// e.g. `const { name, version } = await p0VersionInfo;`
|
|
54
|
+
//
|
|
55
|
+
// This allows us to memoize the version info and avoid reading the
|
|
56
|
+
// package.json files multiple times
|
|
57
|
+
exports.p0VersionInfo = loadCurrentVersion();
|
|
58
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,gEAAkC;AAClC,uCAAiD;AAEjD,MAAM,kBAAkB,GAAG,GAGxB,EAAE;IACH,IAAI;QACF,IAAI,IAAA,gBAAK,GAAE,EAAE;YACX,2FAA2F;YAC3F,kFAAkF;YAClF,MAAM,gBAAgB,GAAG,IAAA,yBAAc,EAAC,cAAc,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC1B;QAED,8DAA8D;QAC9D,6DAA6D;QAC7D,mEAAmE;QACnE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;YACzC,CAAC,CAAC,GAAG,SAAS,kBAAkB;YAChC,CAAC,CAAC,GAAG,SAAS,qBAAqB,CAAC;QACtC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAClC,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvD,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC1B;IAAC,WAAM;QACN,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KACxD;AACH,CAAC,CAAA,CAAC;AAEF,uEAAuE;AACvE,+EAA+E;AAC/E,wDAAwD;AACxD,EAAE;AACF,mEAAmE;AACnE,oCAAoC;AACvB,QAAA,aAAa,GAAG,kBAAkB,EAAE,CAAC"}
|