@p0security/cli 0.22.5 → 0.24.0
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/build/dist/commands/index.js +18 -2
- package/build/dist/commands/index.js.map +1 -1
- package/build/dist/commands/print-bearer-token.js +2 -1
- package/build/dist/commands/print-bearer-token.js.map +1 -1
- package/build/dist/commands/rdp.js +3 -2
- package/build/dist/commands/rdp.js.map +1 -1
- package/build/dist/commands/scp.js +49 -35
- package/build/dist/commands/scp.js.map +1 -1
- package/build/dist/commands/shared/request.js +21 -0
- package/build/dist/commands/shared/request.js.map +1 -1
- package/build/dist/commands/shared/ssh.d.ts +4 -0
- package/build/dist/commands/shared/ssh.js +29 -14
- package/build/dist/commands/shared/ssh.js.map +1 -1
- package/build/dist/commands/ssh.js +42 -29
- package/build/dist/commands/ssh.js.map +1 -1
- package/build/dist/common/auth/server.js +1 -0
- package/build/dist/common/auth/server.js.map +1 -1
- package/build/dist/index.js +4 -0
- package/build/dist/index.js.map +1 -1
- package/build/dist/opentelemetry/constants.d.ts +16 -0
- package/build/dist/opentelemetry/constants.js +20 -0
- package/build/dist/opentelemetry/constants.js.map +1 -0
- package/build/dist/opentelemetry/instrumentation.js +1 -0
- package/build/dist/opentelemetry/instrumentation.js.map +1 -1
- package/build/dist/opentelemetry/otel-helpers.d.ts +56 -0
- package/build/dist/opentelemetry/otel-helpers.js +139 -0
- package/build/dist/opentelemetry/otel-helpers.js.map +1 -0
- package/build/dist/plugins/kubeconfig/index.js +7 -5
- package/build/dist/plugins/kubeconfig/index.js.map +1 -1
- package/build/dist/plugins/kubeconfig/types.d.ts +13 -8
- package/build/dist/plugins/okta/aws.js +1 -1
- package/build/dist/plugins/okta/aws.js.map +1 -1
- package/build/dist/plugins/okta/login.d.ts +1 -1
- package/build/dist/plugins/okta/login.js +20 -4
- package/build/dist/plugins/okta/login.js.map +1 -1
- package/build/dist/plugins/rdp/index.js +2 -1
- package/build/dist/plugins/rdp/index.js.map +1 -1
- package/build/dist/plugins/ssh/index.js +65 -50
- package/build/dist/plugins/ssh/index.js.map +1 -1
- package/build/dist/public/redirect-landing.html +3 -3
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/build/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
/**
|
|
12
|
+
* OpenTelemetry instrumentation version.
|
|
13
|
+
* This is tracked separately from the CLI version (package.json) to allow
|
|
14
|
+
* independent versioning of the telemetry schema.
|
|
15
|
+
*/
|
|
16
|
+
export declare const OTEL_INSTRUMENTATION_VERSION = "0.0.1";
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.OTEL_INSTRUMENTATION_VERSION = void 0;
|
|
14
|
+
/**
|
|
15
|
+
* OpenTelemetry instrumentation version.
|
|
16
|
+
* This is tracked separately from the CLI version (package.json) to allow
|
|
17
|
+
* independent versioning of the telemetry schema.
|
|
18
|
+
*/
|
|
19
|
+
exports.OTEL_INSTRUMENTATION_VERSION = "0.0.1";
|
|
20
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/opentelemetry/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH;;;;GAIG;AACU,QAAA,4BAA4B,GAAG,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../src/opentelemetry/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,wCAA2C;AAC3C,2DAA2D;AAC3D,sFAA4E;AAC5E,4EAAwE;AACxE,4EAAwE;AACxE,kFAA8E;AAC9E,wDAAkE;AAClE,sDAAkD;AAClD,8EAG6C;AAEhC,QAAA,gBAAgB,GAAG,IAAI,wCAAoB,EAAE,CAAC;AAE3D,MAAM,GAAG,GAAG,IAAI,kBAAO,CAAC;IACtB,QAAQ,EAAE,IAAA,kCAAsB,EAAC;QAC/B,CAAC,wCAAiB,CAAC,EAAE,uBAAa,CAAC,IAAI;QACvC,CAAC,2CAAoB,CAAC,EAAE,uBAAa,CAAC,OAAO;KAC9C,CAAC;IACF,aAAa,EAAE,wBAAgB;IAC/B,gBAAgB,EAAE;QAChB,IAAI,wCAAkB,EAAE;QACxB,IAAI,wCAAkB,EAAE;QACxB,IAAI,8CAAqB,EAAE;KAC5B;CACF,CAAC,CAAC;AAEI,MAAM,qBAAqB,GAAG,CAAO,GAAW,EAAE,KAAa,EAAE,EAAE;IACxE,MAAM,YAAY,GAAG,IAAI,4CAAiB,CAAC;QACzC,GAAG;QACH,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;KACF,CAAC,CAAC;IAEH,wBAAgB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC,CAAA,CAAC;AATW,QAAA,qBAAqB,yBAShC;AAEK,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;AACd,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEF,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,+EAA+E;AAC/E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACnC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACtC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../src/opentelemetry/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,wCAA2C;AAC3C,2DAA2D;AAC3D,sFAA4E;AAC5E,4EAAwE;AACxE,4EAAwE;AACxE,kFAA8E;AAC9E,wDAAkE;AAClE,sDAAkD;AAClD,8EAG6C;AAEhC,QAAA,gBAAgB,GAAG,IAAI,wCAAoB,EAAE,CAAC;AAE3D,MAAM,GAAG,GAAG,IAAI,kBAAO,CAAC;IACtB,QAAQ,EAAE,IAAA,kCAAsB,EAAC;QAC/B,CAAC,wCAAiB,CAAC,EAAE,uBAAa,CAAC,IAAI;QACvC,CAAC,2CAAoB,CAAC,EAAE,uBAAa,CAAC,OAAO;KAC9C,CAAC;IACF,aAAa,EAAE,wBAAgB;IAC/B,gBAAgB,EAAE;QAChB,IAAI,wCAAkB,EAAE;QACxB,IAAI,wCAAkB,EAAE;QACxB,IAAI,8CAAqB,EAAE;KAC5B;CACF,CAAC,CAAC;AAEI,MAAM,qBAAqB,GAAG,CAAO,GAAW,EAAE,KAAa,EAAE,EAAE;IACxE,MAAM,YAAY,GAAG,IAAI,4CAAiB,CAAC;QACzC,GAAG;QACH,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;KACF,CAAC,CAAC;IAEH,wBAAgB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC,CAAA,CAAC;AATW,QAAA,qBAAqB,yBAShC;AAEK,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;AACd,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEF,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/B,mFAAmF;QACnF,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,+EAA+E;AAC/E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACnC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACtC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { AttributeValue, Span } from "@opentelemetry/api";
|
|
2
|
+
/**
|
|
3
|
+
* Defines a new span and executes the provided synchronous function within that span.
|
|
4
|
+
*
|
|
5
|
+
* The span will be properly ended even if the function throws an error, and the error will be recorded in the span.
|
|
6
|
+
*
|
|
7
|
+
* Please follow {@link https://opentelemetry.io/docs/concepts/semantic-conventions/ OpenTelemetry semantic conventions}
|
|
8
|
+
* for naming spans and setting attributes.
|
|
9
|
+
*
|
|
10
|
+
* @param name the span name, must be low cardinality
|
|
11
|
+
* @param fn the synchronous function to invoke within the span
|
|
12
|
+
* @param attributes optional attributes to set on the span
|
|
13
|
+
* @returns the result of the function execution
|
|
14
|
+
*/
|
|
15
|
+
export declare const traceSpanSync: <T>(name: string, fn: (span: Span) => T, attributes?: Record<string, AttributeValue>) => T;
|
|
16
|
+
/**
|
|
17
|
+
* Defines a new span and executes the provided function within that span.
|
|
18
|
+
*
|
|
19
|
+
* Supports both synchronous and asynchronous functions.
|
|
20
|
+
*
|
|
21
|
+
* The span will be properly ended even if the function throws an error, and the error will be recorded in the span.
|
|
22
|
+
*
|
|
23
|
+
* Please follow {@link https://opentelemetry.io/docs/concepts/semantic-conventions/ OpenTelemetry semantic conventions}
|
|
24
|
+
* for naming spans and setting attributes.
|
|
25
|
+
*
|
|
26
|
+
* @param name the span name, must be low cardinality
|
|
27
|
+
* @param fn the function to invoke within the span
|
|
28
|
+
* @param attributes optional attributes to set on the span
|
|
29
|
+
* @returns the result of the function execution
|
|
30
|
+
*/
|
|
31
|
+
export declare const traceSpan: <T>(name: string, fn: (span: Span) => T | Promise<T>, attributes?: Record<string, AttributeValue>) => Promise<T>;
|
|
32
|
+
/**
|
|
33
|
+
* Manually set a span's status to ERROR without throwing an exception.
|
|
34
|
+
* Use this when an operation fails in a way that should be tracked as an error,
|
|
35
|
+
* but doesn't result in an exception (e.g., business logic failures, request denials).
|
|
36
|
+
*
|
|
37
|
+
* @param span the span to mark as error
|
|
38
|
+
* @param message error message describing what went wrong
|
|
39
|
+
*/
|
|
40
|
+
export declare const markSpanError: (span: Span, message: string) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Manually set a span's status to OK.
|
|
43
|
+
* Use this when an operation succeeds and you want to explicitly mark it as successful.
|
|
44
|
+
*
|
|
45
|
+
* @param span the span to mark as successful
|
|
46
|
+
*/
|
|
47
|
+
export declare const markSpanOk: (span: Span) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Exit the process with the given exit code, ensuring any active span is properly
|
|
50
|
+
* marked as error and ended before terminating.
|
|
51
|
+
*
|
|
52
|
+
* Use this instead of `process.exit()` to maintain telemetry consistency.
|
|
53
|
+
*
|
|
54
|
+
* @param exitCode the exit code to use (0 for success, non-zero for error)
|
|
55
|
+
*/
|
|
56
|
+
export declare const exitProcess: (exitCode: number) => never;
|
|
@@ -0,0 +1,139 @@
|
|
|
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.exitProcess = exports.markSpanOk = exports.markSpanError = exports.traceSpan = exports.traceSpanSync = 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 constants_1 = require("./constants");
|
|
24
|
+
const api_1 = require("@opentelemetry/api");
|
|
25
|
+
const tracer = api_1.trace.getTracer("p0cli", constants_1.OTEL_INSTRUMENTATION_VERSION);
|
|
26
|
+
const setSpanAttributes = (span, attributes) => {
|
|
27
|
+
if (attributes) {
|
|
28
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
29
|
+
span.setAttribute(key, value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const handleSpanError = (span, e) => {
|
|
34
|
+
const err = e instanceof Error ? e : new Error(`Unknown error: ${String(e)}`);
|
|
35
|
+
span.recordException(err);
|
|
36
|
+
span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: err.message });
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Defines a new span and executes the provided synchronous function within that span.
|
|
40
|
+
*
|
|
41
|
+
* The span will be properly ended even if the function throws an error, and the error will be recorded in the span.
|
|
42
|
+
*
|
|
43
|
+
* Please follow {@link https://opentelemetry.io/docs/concepts/semantic-conventions/ OpenTelemetry semantic conventions}
|
|
44
|
+
* for naming spans and setting attributes.
|
|
45
|
+
*
|
|
46
|
+
* @param name the span name, must be low cardinality
|
|
47
|
+
* @param fn the synchronous function to invoke within the span
|
|
48
|
+
* @param attributes optional attributes to set on the span
|
|
49
|
+
* @returns the result of the function execution
|
|
50
|
+
*/
|
|
51
|
+
const traceSpanSync = (name, fn, attributes) => {
|
|
52
|
+
return tracer.startActiveSpan(name, (span) => {
|
|
53
|
+
setSpanAttributes(span, attributes);
|
|
54
|
+
try {
|
|
55
|
+
const result = fn(span);
|
|
56
|
+
span.end();
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
handleSpanError(span, e); // Mark span as error before ending
|
|
61
|
+
span.end(); // End span after marking error
|
|
62
|
+
throw e; // Re-throw original error to preserve type
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
exports.traceSpanSync = traceSpanSync;
|
|
67
|
+
/**
|
|
68
|
+
* Defines a new span and executes the provided function within that span.
|
|
69
|
+
*
|
|
70
|
+
* Supports both synchronous and asynchronous functions.
|
|
71
|
+
*
|
|
72
|
+
* The span will be properly ended even if the function throws an error, and the error will be recorded in the span.
|
|
73
|
+
*
|
|
74
|
+
* Please follow {@link https://opentelemetry.io/docs/concepts/semantic-conventions/ OpenTelemetry semantic conventions}
|
|
75
|
+
* for naming spans and setting attributes.
|
|
76
|
+
*
|
|
77
|
+
* @param name the span name, must be low cardinality
|
|
78
|
+
* @param fn the function to invoke within the span
|
|
79
|
+
* @param attributes optional attributes to set on the span
|
|
80
|
+
* @returns the result of the function execution
|
|
81
|
+
*/
|
|
82
|
+
const traceSpan = (name, fn, attributes) => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
+
return yield tracer.startActiveSpan(name, (span) => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
setSpanAttributes(span, attributes);
|
|
85
|
+
try {
|
|
86
|
+
const result = yield fn(span);
|
|
87
|
+
span.end();
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
handleSpanError(span, e); // Mark span as error before ending
|
|
92
|
+
span.end(); // End span after marking error
|
|
93
|
+
throw e; // Re-throw original error to preserve type
|
|
94
|
+
}
|
|
95
|
+
}));
|
|
96
|
+
});
|
|
97
|
+
exports.traceSpan = traceSpan;
|
|
98
|
+
/**
|
|
99
|
+
* Manually set a span's status to ERROR without throwing an exception.
|
|
100
|
+
* Use this when an operation fails in a way that should be tracked as an error,
|
|
101
|
+
* but doesn't result in an exception (e.g., business logic failures, request denials).
|
|
102
|
+
*
|
|
103
|
+
* @param span the span to mark as error
|
|
104
|
+
* @param message error message describing what went wrong
|
|
105
|
+
*/
|
|
106
|
+
const markSpanError = (span, message) => {
|
|
107
|
+
span.setStatus({ code: api_1.SpanStatusCode.ERROR, message });
|
|
108
|
+
};
|
|
109
|
+
exports.markSpanError = markSpanError;
|
|
110
|
+
/**
|
|
111
|
+
* Manually set a span's status to OK.
|
|
112
|
+
* Use this when an operation succeeds and you want to explicitly mark it as successful.
|
|
113
|
+
*
|
|
114
|
+
* @param span the span to mark as successful
|
|
115
|
+
*/
|
|
116
|
+
const markSpanOk = (span) => {
|
|
117
|
+
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
118
|
+
};
|
|
119
|
+
exports.markSpanOk = markSpanOk;
|
|
120
|
+
/**
|
|
121
|
+
* Exit the process with the given exit code, ensuring any active span is properly
|
|
122
|
+
* marked as error and ended before terminating.
|
|
123
|
+
*
|
|
124
|
+
* Use this instead of `process.exit()` to maintain telemetry consistency.
|
|
125
|
+
*
|
|
126
|
+
* @param exitCode the exit code to use (0 for success, non-zero for error)
|
|
127
|
+
*/
|
|
128
|
+
const exitProcess = (exitCode) => {
|
|
129
|
+
const activeSpan = api_1.trace.getActiveSpan();
|
|
130
|
+
if (activeSpan) {
|
|
131
|
+
if (exitCode !== 0) {
|
|
132
|
+
(0, exports.markSpanError)(activeSpan, `Process exiting with code ${exitCode}`);
|
|
133
|
+
}
|
|
134
|
+
activeSpan.end();
|
|
135
|
+
}
|
|
136
|
+
process.exit(exitCode);
|
|
137
|
+
};
|
|
138
|
+
exports.exitProcess = exitProcess;
|
|
139
|
+
//# sourceMappingURL=otel-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-helpers.js","sourceRoot":"","sources":["../../../src/opentelemetry/otel-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,13 +77,15 @@ exports.profileName = profileName;
|
|
|
77
77
|
const aliasedArn = (eksCluterArn) => `${KUBECONFIG_PREFIX}-${eksCluterArn}`;
|
|
78
78
|
exports.aliasedArn = aliasedArn;
|
|
79
79
|
const awsCloudAuth = (authn, awsAccountId, request, loginType, debug) => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
-
var _b;
|
|
81
|
-
const {
|
|
82
|
-
const
|
|
83
|
-
|
|
80
|
+
var _b, _c, _d, _e;
|
|
81
|
+
const { delegation } = request;
|
|
82
|
+
const name = (_c = (_b = delegation === null || delegation === void 0 ? void 0 : delegation.aws) === null || _b === void 0 ? void 0 : _b.generated) === null || _c === void 0 ? void 0 : _c.name;
|
|
83
|
+
if (!name) {
|
|
84
|
+
throw "Backend granted k8s access, but this is not an EKS cluster.";
|
|
85
|
+
}
|
|
84
86
|
switch (loginType) {
|
|
85
87
|
case "idc": {
|
|
86
|
-
const { idcId, idcRegion } = (
|
|
88
|
+
const { idcId, idcRegion } = (_e = (_d = delegation === null || delegation === void 0 ? void 0 : delegation.aws) === null || _d === void 0 ? void 0 : _d.permission) !== null && _e !== void 0 ? _e : {};
|
|
87
89
|
if (!idcId || !idcRegion) {
|
|
88
90
|
throw "AWS is configured to use Identity Center, but IDC information wasn't received in the request.";
|
|
89
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/kubeconfig/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAWA,kDAA8D;AAC9D,2DAAwD;AACxD,2CAA2D;AAG3D,qCAAqD;AACrD,0CAA6C;AAC7C,oCAA+C;AAE/C,wCAAwC;AACxC,qCAAqD;AAErD,mCAA8B;AAC9B,2CAAiC;AAGjC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAExB,MAAM,4BAA4B,GAAG,CAC1C,KAAY,EACZ,SAAiB,EACjB,KAAe,EAQd,EAAE;;IACH,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAsB,EAC5C,KAAK,EACL,KAAK,EACL,KAAK,CACN,CAAC;IAEF,kHAAkH;IAClH,MAAM,MAAM,GAAG,MAAA,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,0CAAG,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,mBAAmB,SAAS,YAAY,CAAC;KAChD;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE;QAChC,MAAM,mBAAmB,SAAS,mBAAmB,CAAC;KACvD;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE3B,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;QAC1B,MAAM,CACJ,8DAA8D,SAAS,8BAA8B;YACrG,qDAAqD,IAAA,iBAAU,GAAE,yBAAyB,CAC3F,CAAC;KACH;IAED,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qBAAY,EAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAEtC,yEAAyE;IACzE,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,KAAK,EAAE;QAC/C,MAAM,6GAA6G,IAAA,iBAAU,GAAE,yBAAyB,CAAC;KAC1J;IAED,OAAO;QACL,aAAa,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE;QACzD,YAAY,EAAE,QAAQ,CAAC,IAAI;KAC5B,CAAC;AACJ,CAAC,CAAA,CAAC;AAnDW,QAAA,4BAA4B,gCAmDvC;AAEK,MAAM,sBAAsB,GAAG,CACpC,KAAY,EACZ,IAAqD,EACrD,SAAiB,EACjB,IAAY,EACmC,EAAE;IACjD,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAO,EAAC,SAAS,CAAC,iCAIlC,IAAA,aAAI,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KACxB,SAAS,EAAE;YACT,KAAK;YACL,UAAU;YACV,IAAI;YACJ,WAAW;YACX,SAAS;YACT,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,EACD,IAAI,EAAE,IAAI,KAEZ,KAAK,EACL,EAAE,OAAO,EAAE,mBAAmB,EAAE,CACjC,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,uCAAuC,CAAC;KAC/C;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,8BAAqB,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI,EAAE;QACT,gBAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACb;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC,CAAA,CAAC;AApCW,QAAA,sBAAsB,0BAoCjC;AAEK,MAAM,WAAW,GAAG,CAAC,aAAqB,EAAU,EAAE,CAC3D,GAAG,iBAAiB,IAAI,aAAa,EAAE,CAAC;AAD7B,QAAA,WAAW,eACkB;AAEnC,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAU,EAAE,CACzD,GAAG,iBAAiB,IAAI,YAAY,EAAE,CAAC;AAD5B,QAAA,UAAU,cACkB;AAElC,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,YAAoB,EACpB,OAA6C,EAC7C,SAA8B,EAC9B,KAAe,EACU,EAAE;;IAC3B,MAAM,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/kubeconfig/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,19 @@ export type K8sClusterConfig = {
|
|
|
29
29
|
export type K8sConfig = {
|
|
30
30
|
"iam-write": Record<string, K8sClusterConfig>;
|
|
31
31
|
};
|
|
32
|
-
export type K8sPermissionSpec = PermissionSpec<"k8s", K8sResourcePermission, K8sGenerated
|
|
32
|
+
export type K8sPermissionSpec = PermissionSpec<"k8s", K8sResourcePermission, K8sGenerated> & {
|
|
33
|
+
delegation?: {
|
|
34
|
+
aws?: {
|
|
35
|
+
generated: {
|
|
36
|
+
name: string;
|
|
37
|
+
};
|
|
38
|
+
permission: {
|
|
39
|
+
idcRegion?: string;
|
|
40
|
+
idcId?: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
33
45
|
export type K8sResourcePermission = {
|
|
34
46
|
resource: {
|
|
35
47
|
name: string;
|
|
@@ -39,14 +51,7 @@ export type K8sResourcePermission = {
|
|
|
39
51
|
role: string;
|
|
40
52
|
clusterId: string;
|
|
41
53
|
type: "resource";
|
|
42
|
-
awsResourcePermission?: {
|
|
43
|
-
idcRegion?: string;
|
|
44
|
-
idcId?: string;
|
|
45
|
-
};
|
|
46
54
|
};
|
|
47
55
|
export type K8sGenerated = {
|
|
48
|
-
aws: {
|
|
49
|
-
name: string;
|
|
50
|
-
};
|
|
51
56
|
role: string;
|
|
52
57
|
};
|
|
@@ -60,7 +60,7 @@ const initOktaSaml = (authn, account, debug) => __awaiter(void 0, void 0, void 0
|
|
|
60
60
|
const { identity, config } = yield (0, config_1.getAwsConfig)(authn, account, debug);
|
|
61
61
|
if (!isFederatedLogin(config))
|
|
62
62
|
throw `Account ${(_a = config.label) !== null && _a !== void 0 ? _a : config.id} is not configured for Okta SAML login.`;
|
|
63
|
-
const samlResponse = yield (0, login_1.fetchSamlAssertionForAws)(identity, config.login);
|
|
63
|
+
const samlResponse = yield (0, login_1.fetchSamlAssertionForAws)(identity, config.login, debug);
|
|
64
64
|
return {
|
|
65
65
|
samlResponse,
|
|
66
66
|
config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../../src/plugins/okta/aws.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAoD;AACpD,0CAA4C;AAC5C,6CAA4C;AAE5C,kDAAuD;AACvD,0CAA6C;AAE7C,mCAAmD;AACnD,mCAAiC;AAEjC,6DAA6D;AAC7D,oFAAoF;AACpF,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAC9D,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,+CAA+C;AAC/C,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE;;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAA,cAAQ,EAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,cAAc,GAClB,UAAU,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CAC9C,0BAA0B,CAC3B,CAAC,iBAAiB,CAAC,CAAC;IACvB,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CACvC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,6CAA6C,CACvE,CAAC;IACF,UAAU;IACV,mIAAmI;IACnI,MAAM,IAAI,GAAG,MACX,IAAA,gBAAO,EAAC,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,sBAAsB,CAAC,CAAC,CAClD,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,OAAO,QAAQ,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,MAAe,EACmC,EAAE,WACpD,OAAA,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,IAAI,MAAK,WAAW,CAAA,EAAA,CAAC;AAErC;;;;GAIG;AACH,MAAM,YAAY,GAAG,CACnB,KAAY,EACZ,OAA2B,EAC3B,KAAe,EACf,EAAE;;IACF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAY,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC3B,MAAM,WAAW,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,EAAE,yCAAyC,CAAC;IACtF,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAwB,
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../../src/plugins/okta/aws.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,4 @@ export declare const oktaLogin: (org: OrgData) => Promise<TokenResponse>;
|
|
|
23
23
|
* @returns Base64-encoded SAML assertion for AWS authentication
|
|
24
24
|
* @throws Error if Okta session has expired or been terminated
|
|
25
25
|
*/
|
|
26
|
-
export declare const fetchSamlAssertionForAws: (identity: Identity, config: AwsFederatedLogin) => Promise<string>;
|
|
26
|
+
export declare const fetchSamlAssertionForAws: (identity: Identity, config: AwsFederatedLogin, debug?: boolean) => Promise<string>;
|
|
@@ -46,6 +46,7 @@ You should have received a copy of the GNU General Public License along with @p0
|
|
|
46
46
|
const oidc_1 = require("../../common/auth/oidc");
|
|
47
47
|
const fetch_1 = require("../../common/fetch");
|
|
48
48
|
const auth_1 = require("../../drivers/auth");
|
|
49
|
+
const stdio_1 = require("../../drivers/stdio");
|
|
49
50
|
const authUtils_1 = require("../../types/authUtils");
|
|
50
51
|
const login_1 = require("../oidc/login");
|
|
51
52
|
const cheerio = __importStar(require("cheerio"));
|
|
@@ -54,6 +55,10 @@ const ACCESS_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:access_token";
|
|
|
54
55
|
const ID_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:id_token";
|
|
55
56
|
const TOKEN_EXCHANGE_TYPE = "urn:ietf:params:oauth:grant-type:token-exchange";
|
|
56
57
|
const WEB_SSO_TOKEN_TYPE = "urn:okta:oauth:token-type:web_sso_token";
|
|
58
|
+
const oktaConfigurationErrors = [
|
|
59
|
+
"The application's assurance requirements are not met by the 'subject_token'.",
|
|
60
|
+
"The target audience app must be configured to allow the client to request a 'web_sso_token'.",
|
|
61
|
+
];
|
|
57
62
|
/**
|
|
58
63
|
* Exchanges an Okta OIDC SSO token for an Okta app SSO token.
|
|
59
64
|
*
|
|
@@ -62,7 +67,7 @@ const WEB_SSO_TOKEN_TYPE = "urn:okta:oauth:token-type:web_sso_token";
|
|
|
62
67
|
*
|
|
63
68
|
* @throws Error if Okta session has expired or been terminated
|
|
64
69
|
*/
|
|
65
|
-
const fetchSsoWebToken = (appId, { org, credential }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
+
const fetchSsoWebToken = (appId, { org, credential }, debug) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
71
|
const providerType = (0, authUtils_1.getProviderType)(org);
|
|
67
72
|
const providerDomain = (0, authUtils_1.getProviderDomain)(org);
|
|
68
73
|
const clientId = (0, authUtils_1.getClientId)(org);
|
|
@@ -90,7 +95,18 @@ const fetchSsoWebToken = (appId, { org, credential }) => __awaiter(void 0, void
|
|
|
90
95
|
const data = yield response.json();
|
|
91
96
|
if (data.error === "invalid_grant") {
|
|
92
97
|
yield (0, auth_1.deleteIdentity)();
|
|
93
|
-
|
|
98
|
+
// Check for specific configuration errors so that they aren't conflated with session/token expiry errors.
|
|
99
|
+
if (oktaConfigurationErrors.includes(data.error_description)) {
|
|
100
|
+
(0, stdio_1.print2)("Invalid provider configuration - unable to perform token exchange; please fix your configuration, \
|
|
101
|
+
then log out of Okta in your browser and re-execute the p0 command again to reauthenticate.");
|
|
102
|
+
if (debug) {
|
|
103
|
+
(0, stdio_1.print2)("Fetch SSO Web Token Error Information: " + data);
|
|
104
|
+
}
|
|
105
|
+
throw data.error_description;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
throw "Your Okta session has expired. Please log out of Okta in your browser, and re-execute your p0 command to reauthenticate.";
|
|
109
|
+
}
|
|
94
110
|
}
|
|
95
111
|
}
|
|
96
112
|
// Throw a friendly error message if response is invalid
|
|
@@ -153,8 +169,8 @@ exports.oktaLogin = oktaLogin;
|
|
|
153
169
|
* @throws Error if Okta session has expired or been terminated
|
|
154
170
|
*/
|
|
155
171
|
// TODO: Inject Okta app
|
|
156
|
-
const fetchSamlAssertionForAws = (identity, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
157
|
-
const webTokenResponse = yield fetchSsoWebToken(config.provider.appId, identity);
|
|
172
|
+
const fetchSamlAssertionForAws = (identity, config, debug) => __awaiter(void 0, void 0, void 0, function* () {
|
|
173
|
+
const webTokenResponse = yield fetchSsoWebToken(config.provider.appId, identity, debug);
|
|
158
174
|
const samlResponse = yield fetchSamlResponse(identity.org, webTokenResponse);
|
|
159
175
|
if (!samlResponse) {
|
|
160
176
|
throw "No SAML assertion obtained from Okta.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/okta/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,8CAAiE;AACjE,6CAAoD;AACpD,qDAI+B;AAK/B,yCAIuB;AACvB,iDAAmC;AACnC,mCAA8B;AAE9B,MAAM,iBAAiB,GAAG,+CAA+C,CAAC;AAC1E,MAAM,aAAa,GAAG,2CAA2C,CAAC;AAClE,MAAM,mBAAmB,GAAG,iDAAiD,CAAC;AAC9E,MAAM,kBAAkB,GAAG,yCAAyC,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,CACvB,KAAa,EACb,EAAE,GAAG,EAAE,UAAU,EAAY,EAC7B,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,2BAAe,EAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,IAAA,6BAAiB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,GAAG,CAAC,CAAC;IAElC,IAAI,YAAY,KAAK,MAAM,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE;QAC3D,MAAM,wDAAwD,CAAC;KAChE;IAED,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,mBAAY;QACrB,IAAI,EAAE,IAAA,iBAAS,EAAC;YACd,QAAQ,EAAE,iBAAiB,KAAK,EAAE;YAClC,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU,CAAC,YAAY;YACpC,gBAAgB,EAAE,iBAAiB;YACnC,aAAa,EAAE,UAAU,CAAC,QAAQ;YAClC,kBAAkB,EAAE,aAAa;YACjC,UAAU,EAAE,mBAAmB;YAC/B,oBAAoB,EAAE,kBAAkB;SACzC,CAAC;KACH,CAAC;IACF,IAAA,8BAAsB,EAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,cAAc,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAE9E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,EAAE;gBAClC,MAAM,IAAA,qBAAc,GAAE,CAAC;gBACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/okta/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ const request_1 = require("../../commands/shared/request");
|
|
|
25
25
|
const api_1 = require("../../drivers/api");
|
|
26
26
|
const config_1 = require("../../drivers/config");
|
|
27
27
|
const stdio_1 = require("../../drivers/stdio");
|
|
28
|
+
const otel_helpers_1 = require("../../opentelemetry/otel-helpers");
|
|
28
29
|
const rdp_1 = require("../azure/rdp");
|
|
29
30
|
const lodash_1 = require("lodash");
|
|
30
31
|
const validateRdpInstall = (authn, args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -58,7 +59,7 @@ const provisionRequest = (authn, args) => __awaiter(void 0, void 0, void 0, func
|
|
|
58
59
|
(0, stdio_1.print2)(message);
|
|
59
60
|
const result = yield (0, shared_1.decodeProvisionStatus)(response.request);
|
|
60
61
|
if (!result)
|
|
61
|
-
|
|
62
|
+
(0, otel_helpers_1.exitProcess)(1);
|
|
62
63
|
return {
|
|
63
64
|
provisionedRequest: response.request,
|
|
64
65
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/rdp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,kDAA8D;AAC9D,2DAAwD;AACxD,2CAA2D;AAC3D,iDAAyD;AACzD,+CAA6C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/rdp/index.ts"],"names":[],"mappings":"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"}
|