@codiac.io/codiac-cli 1.2.151 → 1.2.153-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/README.md +115 -110
- package/lib/api-clients/common/api-user-creds.d.ts +7 -0
- package/lib/api-clients/common/api-user-creds.js +19 -0
- package/lib/api-clients/common/api-user-creds.js.map +1 -0
- package/lib/api-clients/common/config-loader.d.ts +6 -0
- package/lib/api-clients/common/config-loader.js +19 -0
- package/lib/api-clients/common/config-loader.js.map +1 -0
- package/lib/api-clients/common/security/auth-constants.d.ts +15 -0
- package/lib/api-clients/common/security/auth-constants.js +22 -0
- package/lib/api-clients/common/security/auth-constants.js.map +1 -0
- package/lib/api-clients/common/security/i-auth-client.d.ts +44 -0
- package/lib/api-clients/common/security/i-auth-client.js +3 -0
- package/lib/api-clients/common/security/i-auth-client.js.map +1 -0
- package/lib/api-clients/common/security/rest-client-base-with-auth.d.ts +84 -0
- package/lib/api-clients/common/security/rest-client-base-with-auth.js +361 -0
- package/lib/api-clients/common/security/rest-client-base-with-auth.js.map +1 -0
- package/lib/api-clients/common/security/token-holder.d.ts +13 -0
- package/lib/api-clients/common/security/token-holder.js +18 -0
- package/lib/api-clients/common/security/token-holder.js.map +1 -0
- package/lib/api-clients/common/utils.d.ts +23 -0
- package/lib/api-clients/common/utils.js +83 -0
- package/lib/api-clients/common/utils.js.map +1 -0
- package/lib/api-clients/contracts/index.d.ts +1 -0
- package/lib/api-clients/contracts/index.js +5 -0
- package/lib/api-clients/contracts/index.js.map +1 -0
- package/lib/api-clients/gen/client-config.d.ts +10 -0
- package/lib/api-clients/gen/client-config.js +29 -0
- package/lib/api-clients/gen/client-config.js.map +1 -0
- package/lib/api-clients/gen/client.d.ts +45 -0
- package/lib/api-clients/gen/client.js +331 -0
- package/lib/api-clients/gen/client.js.map +1 -0
- package/lib/api-clients/gen/contracts.d.ts +2529 -0
- package/lib/api-clients/gen/contracts.js +370 -0
- package/lib/api-clients/gen/contracts.js.map +1 -0
- package/lib/api-clients/gen/endpoints.d.ts +3 -0
- package/lib/api-clients/gen/endpoints.js +3150 -0
- package/lib/api-clients/gen/endpoints.js.map +1 -0
- package/lib/api-clients/index.d.ts +2 -0
- package/lib/api-clients/index.js +6 -0
- package/lib/api-clients/index.js.map +1 -0
- package/lib/apis/codiac-api/common/security/rest-client-base-with-auth.d.ts +84 -0
- package/lib/apis/codiac-api/common/security/rest-client-base-with-auth.js +361 -0
- package/lib/apis/codiac-api/common/security/rest-client-base-with-auth.js.map +1 -0
- package/lib/apis/codiac-api/gen/endpoints.d.ts +3 -0
- package/lib/apis/codiac-api/gen/endpoints.js +3150 -0
- package/lib/apis/codiac-api/gen/endpoints.js.map +1 -0
- package/lib/apis/over-gen/temp-mods.d.ts +33 -0
- package/lib/apis/over-gen/temp-mods.js +91 -0
- package/lib/apis/over-gen/temp-mods.js.map +1 -0
- package/lib/commands/csp/login.js +52 -43
- package/lib/commands/csp/login.js.map +1 -1
- package/lib/k8s-command-base.d.ts +25 -15
- package/lib/k8s-command-base.js +92 -20
- package/lib/k8s-command-base.js.map +1 -1
- package/lib/relay/data/aws-regions.d.ts +0 -6
- package/lib/relay/data/aws-regions.js +32 -32
- package/lib/relay/data/aws-regions.js.map +1 -1
- package/lib/relay/relay-container.js +1 -1
- package/lib/relay/wsclient/bus-listener.ervice.d.ts +71 -0
- package/lib/relay/wsclient/bus-listener.ervice.js +150 -0
- package/lib/relay/wsclient/bus-listener.ervice.js.map +1 -0
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.d.ts +0 -11
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js +13 -14
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js.map +1 -1
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.d.ts +33 -1
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js +3712 -2
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js.map +1 -1
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +2 -1
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +1 -1
- package/lib/uilogic/enterprise-contextualizer-machine-scope.d.ts +69 -0
- package/lib/uilogic/enterprise-contextualizer-machine-scope.js +596 -0
- package/lib/uilogic/enterprise-contextualizer-machine-scope.js.map +1 -0
- package/lib/uilogic/registry-configurator-factory.d.ts +12 -0
- package/lib/uilogic/registry-configurator-factory.js +68 -0
- package/lib/uilogic/registry-configurator-factory.js.map +1 -0
- package/lib/uilogic/registry-configurator.d.ts +17 -0
- package/lib/uilogic/registry-configurator.js +145 -0
- package/lib/uilogic/registry-configurator.js.map +1 -0
- package/lib/uilogic/registry-configurators/aws-registry-configurator.d.ts +15 -0
- package/lib/uilogic/registry-configurators/aws-registry-configurator.js +67 -0
- package/lib/uilogic/registry-configurators/aws-registry-configurator.js.map +1 -0
- package/lib/uilogic/registry-configurators/azure-registry-configurator.d.ts +25 -0
- package/lib/uilogic/registry-configurators/azure-registry-configurator.js +72 -0
- package/lib/uilogic/registry-configurators/azure-registry-configurator.js.map +1 -0
- package/lib/uilogic/registry-configurators/docker-hub-registry-configurator.d.ts +18 -0
- package/lib/uilogic/registry-configurators/docker-hub-registry-configurator.js +55 -0
- package/lib/uilogic/registry-configurators/docker-hub-registry-configurator.js.map +1 -0
- package/lib/uilogic/registry-configurators/helm-registry-configurator.d.ts +16 -0
- package/lib/uilogic/registry-configurators/helm-registry-configurator.js +44 -0
- package/lib/uilogic/registry-configurators/helm-registry-configurator.js.map +1 -0
- package/lib/uilogic/registry-configurators/unsupported-registry-configurator.d.ts +17 -0
- package/lib/uilogic/registry-configurators/unsupported-registry-configurator.js +60 -0
- package/lib/uilogic/registry-configurators/unsupported-registry-configurator.js.map +1 -0
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../../src/apis/codiac-api/gen/endpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ApiClientBase } from "@codiac.io/api-client-base";
|
|
3
|
+
import * as contracts from "@codiac.io/codiac-common/contracts";
|
|
4
|
+
import { Enterprise } from "../codiac-api/contracts";
|
|
5
|
+
import { IncomingHttpHeaders } from "http";
|
|
6
|
+
import { TenantUser } from "@codiac.io/codiac-common/security";
|
|
7
|
+
export declare class HttpResponseEnvelope<TPayload> {
|
|
8
|
+
httpStatusCode: number;
|
|
9
|
+
httpStatusMessage: string;
|
|
10
|
+
payload: TPayload;
|
|
11
|
+
headers: IncomingHttpHeaders;
|
|
12
|
+
tokenHolder?: {
|
|
13
|
+
user: TenantUser;
|
|
14
|
+
token: string;
|
|
15
|
+
expiration: Date;
|
|
16
|
+
} | undefined;
|
|
17
|
+
constructor(httpStatusCode: number, httpStatusMessage: string, payload: TPayload, headers: IncomingHttpHeaders, tokenHolder?: {
|
|
18
|
+
user: TenantUser;
|
|
19
|
+
token: string;
|
|
20
|
+
expiration: Date;
|
|
21
|
+
} | undefined);
|
|
22
|
+
}
|
|
23
|
+
/** Appends non-api-calling auth methods. */
|
|
24
|
+
export declare abstract class ApiClientWithAuth extends ApiClientBase {
|
|
25
|
+
getThing(req: {
|
|
26
|
+
name: string;
|
|
27
|
+
}): Promise<[contracts.SingleResult<Enterprise>, IncomingHttpHeaders]>;
|
|
28
|
+
/** Determines whether the given token is expired.
|
|
29
|
+
* @param throwOnError throws any encountered errors, including token parsing errors.
|
|
30
|
+
*/
|
|
31
|
+
isExpired(token: string, throwOnError?: boolean): boolean;
|
|
32
|
+
extractTokenExpiration(token: string): Date | undefined;
|
|
33
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiClientWithAuth = exports.HttpResponseEnvelope = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const api_client_base_1 = require("@codiac.io/api-client-base");
|
|
6
|
+
const jwt_lib_1 = require("@codiac.io/jwt-lib");
|
|
7
|
+
const contracts = require("@codiac.io/codiac-common/contracts");
|
|
8
|
+
const codiac_common_1 = require("@codiac.io/codiac-common");
|
|
9
|
+
// Options
|
|
10
|
+
// 1. wrap all (or all auth or all non-crud) method responses with HttpResponseEnvelope
|
|
11
|
+
// - Requires refactoring every single call from response to response.payload
|
|
12
|
+
// + Makes a standard for client interaction and exposes the things people may need ()
|
|
13
|
+
//
|
|
14
|
+
// 2. Add some wierd tag to auth endpoints to signify that they should do something standard or unique on the client side (eg: return a token holder or HttpResponseEnvelope)
|
|
15
|
+
// - BAD BAD BAD
|
|
16
|
+
//
|
|
17
|
+
// 3. Hardcode auth methods from RestClientBaseWithAuth into our generated client
|
|
18
|
+
// - Make a separate subclass for it (rename all methods to their operationId equivalents and prevent any dups from the Auth endpoints)
|
|
19
|
+
// + Wont have any singificant inline refactorings
|
|
20
|
+
// + Can easily be removed or replaced later in a single line comment
|
|
21
|
+
// + Can be added as-is without a codegen template
|
|
22
|
+
// + Provides a short-term interim build.
|
|
23
|
+
class HttpResponseEnvelope {
|
|
24
|
+
constructor(httpStatusCode, httpStatusMessage, payload, headers, tokenHolder) {
|
|
25
|
+
this.httpStatusCode = httpStatusCode;
|
|
26
|
+
this.httpStatusMessage = httpStatusMessage;
|
|
27
|
+
this.payload = payload;
|
|
28
|
+
this.headers = headers;
|
|
29
|
+
this.tokenHolder = tokenHolder;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.HttpResponseEnvelope = HttpResponseEnvelope;
|
|
33
|
+
/** Appends non-api-calling auth methods. */
|
|
34
|
+
class ApiClientWithAuth extends api_client_base_1.ApiClientBase {
|
|
35
|
+
getThing(req) {
|
|
36
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
try {
|
|
38
|
+
let ent = { code: "myAsset", created: new Date(Date.now()), modified: new Date(Date.now()), createdBy: "", modifiedBy: "", subscription: "", assets: [], products: [], domains: [] };
|
|
39
|
+
let httpRes = yield this.makeHttpCall(Htt);
|
|
40
|
+
let result = new contracts.SingleResult(true, undefined, undefined);
|
|
41
|
+
return [result, {}];
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/** Determines whether the given token is expired.
|
|
49
|
+
* @param throwOnError throws any encountered errors, including token parsing errors.
|
|
50
|
+
*/
|
|
51
|
+
isExpired(token, throwOnError = false) {
|
|
52
|
+
try {
|
|
53
|
+
const exp = this.extractTokenExpiration(token);
|
|
54
|
+
return (exp == undefined) || !(0, codiac_common_1.isFuture)(exp);
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
let newErr = new contracts.CodiacError(`Error determining expiry status: ${err.message || ""}`, err);
|
|
58
|
+
this.logger.detail(newErr.message);
|
|
59
|
+
if (throwOnError) {
|
|
60
|
+
throw newErr;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
extractTokenExpiration(token) {
|
|
68
|
+
let exp;
|
|
69
|
+
try {
|
|
70
|
+
const encoder = new jwt_lib_1.JwtEncoder();
|
|
71
|
+
const tokenObj = encoder.tryDecode(token);
|
|
72
|
+
const CLAIM_KEY_FOR_EXPIRATION = "exp"; // this is just a standard claim so it ought to come from the jwt lib
|
|
73
|
+
const rawExp = tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.payload[CLAIM_KEY_FOR_EXPIRATION];
|
|
74
|
+
if (rawExp) {
|
|
75
|
+
try {
|
|
76
|
+
exp = new Date(rawExp);
|
|
77
|
+
this.logger.trace(`Exracted token expiration (utc): ${(exp === null || exp === void 0 ? void 0 : exp.toUTCString()) || "undefined"}`);
|
|
78
|
+
}
|
|
79
|
+
catch (_a) {
|
|
80
|
+
this.logger.trace(`Invalid date format in token expiration: [${rawExp}]`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return exp;
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
throw new Error(`Error parsing expiration from token: ${err.message}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.ApiClientWithAuth = ApiClientWithAuth;
|
|
91
|
+
//# sourceMappingURL=temp-mods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temp-mods.js","sourceRoot":"","sources":["../../../src/apis/over-gen/temp-mods.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,58 +21,67 @@ class CspLogin extends command_base_enterprise_1.CommandBaseEnterprise {
|
|
|
21
21
|
run() {
|
|
22
22
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23
23
|
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
var _a
|
|
24
|
+
var _a;
|
|
25
25
|
try {
|
|
26
26
|
this.bootstrap();
|
|
27
27
|
const { args, flags } = yield this.parse(CspLogin);
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
let provider;
|
|
31
|
-
if (args.provider) {
|
|
32
|
-
provider = args.provider;
|
|
33
|
-
}
|
|
34
|
-
else if (flags.silent === true) {
|
|
35
|
-
throw new Error(`You must specify a cloud provider.`);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
// Select interactively
|
|
39
|
-
let allPvds = this.cspUiFactory.getAllProviders(this.ioc);
|
|
40
|
-
provider = yield this.uiCloudProvider.promptForCloudProvider(allPvds, undefined);
|
|
41
|
-
}
|
|
42
|
-
if (flags.clientSecret) {
|
|
43
|
-
// Client Credentials auth flow
|
|
44
|
-
let clientSecret = yield (0, read_stdin_1.default)();
|
|
45
|
-
if (_.isEmpty(clientSecret) && (flags.silent !== true)) {
|
|
46
|
-
clientSecret = yield this._ui.promptPassword("clientSecret", "Client Secret: ");
|
|
47
|
-
}
|
|
48
|
-
if (_.isEmpty(clientSecret)) {
|
|
49
|
-
throw new Error(`No client secret provided (client secret can be provided interatively or via the stdin process stream).`);
|
|
50
|
-
}
|
|
51
|
-
let result = yield this.genRelayClient.Call.csp_login({ providerCode: provider, credsType: 'client_credentials', username: "<not_relevant>", secret: clientSecret });
|
|
52
|
-
if (result.success) {
|
|
53
|
-
this._ui.userMessage(`${this._styler.colorGood("Success!")} Authenticated this Codiac instance as a trusted client with ${this._styler.hilite(provider)} for [${this._userCntx.currentTenantCode}: ${this._userCntx.userName}].`);
|
|
54
|
-
this.logger.debug(`Authenticated this Codiac instance as a trusted client with ${this._styler.hilite(provider)} for [${this._userCntx.currentTenantCode}: ${this._userCntx.userName}].`, (_a = result.output) === null || _a === void 0 ? void 0 : _a.meta);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this._ui.userMessage(`Authentication failed (${result.message})`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
// interactive auth flow
|
|
28
|
+
(_a = this._relayContainer) === null || _a === void 0 ? void 0 : _a.ready$.subscribe(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
var _b, _c, _d, _e, _f;
|
|
62
30
|
try {
|
|
63
|
-
|
|
64
|
-
|
|
31
|
+
this._userCntx = yield this.establishTenantContext(this._userCntx);
|
|
32
|
+
// Select the CSP
|
|
33
|
+
let provider;
|
|
34
|
+
if (args.provider) {
|
|
35
|
+
provider = args.provider;
|
|
36
|
+
}
|
|
37
|
+
else if (flags.silent === true) {
|
|
38
|
+
throw new Error(`You must specify a cloud provider.`);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// Select interactively
|
|
42
|
+
let allPvds = this.cspUiFactory.getAllProviders(this.ioc);
|
|
43
|
+
provider = yield this.uiCloudProvider.promptForCloudProvider(allPvds, undefined);
|
|
44
|
+
}
|
|
45
|
+
if (flags.clientSecret) {
|
|
46
|
+
// Client Credentials auth flow
|
|
47
|
+
let clientSecret = yield (0, read_stdin_1.default)();
|
|
48
|
+
if (_.isEmpty(clientSecret) && (flags.silent !== true)) {
|
|
49
|
+
clientSecret = yield this._ui.promptPassword("clientSecret", "Client Secret: ");
|
|
50
|
+
}
|
|
51
|
+
if (_.isEmpty(clientSecret)) {
|
|
52
|
+
throw new Error(`No client secret provided (client secret can be provided interatively or via the stdin process stream).`);
|
|
53
|
+
}
|
|
54
|
+
let result = yield this.genRelayClient.Call.csp_login({ providerCode: provider, credsType: 'client_credentials', username: "<not_relevant>", secret: clientSecret });
|
|
55
|
+
if (result.success) {
|
|
56
|
+
this._ui.userMessage(`${this._styler.colorGood("Success!")} Authenticated this Codiac instance as a trusted client with ${this._styler.hilite(provider)} for [${this._userCntx.currentTenantCode}: ${this._userCntx.userName}].`);
|
|
57
|
+
this.logger.debug(`Authenticated this Codiac instance as a trusted client with ${this._styler.hilite(provider)} for [${this._userCntx.currentTenantCode}: ${this._userCntx.userName}].`, (_b = result.output) === null || _b === void 0 ? void 0 : _b.meta);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this._ui.userMessage(`Authentication failed (${result.message})`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// interactive auth flow
|
|
65
|
+
try {
|
|
66
|
+
let username = yield this.uiCloudProvider.promptForCloudProviderCreds(this.ioc, provider, Boolean(flags.silent));
|
|
67
|
+
this._ui.userMessage(`${this._styler.colorGood("Success!")} Authenticated with ${provider} as ${this._styler.hilite(username)}.`);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
this._ui.userMessage(`${this._styler.colorCritical("FAILED")} ${(_c = err.name) !== null && _c !== void 0 ? _c : ""} ${(_d = err.message) !== null && _d !== void 0 ? _d : ""}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
resolve();
|
|
65
74
|
}
|
|
66
75
|
catch (err) {
|
|
67
|
-
this.
|
|
76
|
+
this.logger.error(err);
|
|
77
|
+
this._ui.userMessage(`${this._styler.colorCritical("ERROR")} ${(_e = err.name) !== null && _e !== void 0 ? _e : ""} ${(_f = err.message) !== null && _f !== void 0 ? _f : ""}`);
|
|
78
|
+
resolve();
|
|
68
79
|
}
|
|
69
|
-
}
|
|
70
|
-
resolve();
|
|
80
|
+
}));
|
|
71
81
|
}
|
|
72
82
|
catch (err) {
|
|
73
|
-
this.
|
|
74
|
-
|
|
75
|
-
resolve();
|
|
83
|
+
this.handleError(err);
|
|
84
|
+
reject(err);
|
|
76
85
|
}
|
|
77
86
|
}));
|
|
78
87
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/csp/login.ts"],"names":[],"mappings":";;;AAAA,sCAA4C;AAC5C,iEAAqE;AACrE,2EAAqE;AACrE,+FAAyF;AACzF,iDAAyC;AACzC,4BAA4B;AAE5B,MAAqB,QAAS,SAAQ,+CAAqB;IAuBzD,IAAY,eAAe;QACzB,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS,EAAE;YAChD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,2DAA2B,CAAC,CAAC;SAC5E;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAIS,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,2DAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAGY,GAAG;;YACd,OAAO,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;;gBACjD,IAAI;oBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/csp/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,39 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
-
import { IConfig } from '@oclif/config';
|
|
3
2
|
import k8s = require('@kubernetes/client-node');
|
|
3
|
+
import { Config } from "@oclif/core";
|
|
4
4
|
import { CabinetScope, EnterpriseContext, UserContext } from "@codiac.io/codiac-relay-contracts";
|
|
5
|
-
import { RelayContainer } from "@codiac.io/relay-client";
|
|
5
|
+
import { RelayClient, RelayContainer } from "@codiac.io/relay-client";
|
|
6
6
|
import { CodiacClient } from '@codiac.io/codiac-api-client';
|
|
7
7
|
import { commandBase } from '@codiac.io/codiac-cli-common';
|
|
8
8
|
import { Cabinet, Enterprise, Environment } from '@codiac.io/codiac-domain';
|
|
9
|
-
import { UserContextManager } from "@codiac.io/codiac-ops-enterprise";
|
|
9
|
+
import { ThrowingApiClientWrapper, UserContextManager } from "@codiac.io/codiac-ops-enterprise";
|
|
10
10
|
import { ImageRegistryClientsFactory } from "@codiac.io/codiac-ops-common";
|
|
11
11
|
/** Ensures tenant context and k8s context.
|
|
12
12
|
* For use with commands that operate on enterprise records or on an existing cluster.
|
|
13
13
|
*/
|
|
14
14
|
export declare abstract class CommandBaseEnterprise extends commandBase {
|
|
15
|
-
constructor(argv: string[], config:
|
|
16
|
-
protected _userCntx: UserContext;
|
|
17
|
-
protected
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*/
|
|
22
|
-
protected _codiacApi: CodiacClient;
|
|
23
|
-
|
|
24
|
-
protected
|
|
25
|
-
|
|
26
|
-
protected
|
|
15
|
+
constructor(argv: string[], config: Config, requiresProjectScope?: boolean);
|
|
16
|
+
protected set _userCntx(cntx: UserContext);
|
|
17
|
+
protected get _userCntx(): UserContext;
|
|
18
|
+
private __userCntx;
|
|
19
|
+
protected get codiacApiUrl(): string;
|
|
20
|
+
private __codiacApiUrl;
|
|
21
|
+
/** TODO: Get this out of the CLI. Any calls to the codiac api should be made from the relay. */
|
|
22
|
+
protected get _codiacApi(): CodiacClient;
|
|
23
|
+
private __codiacApi;
|
|
24
|
+
protected get api(): ThrowingApiClientWrapper;
|
|
25
|
+
private __api;
|
|
26
|
+
protected get relayClient(): RelayClient;
|
|
27
|
+
private __relayClient;
|
|
28
|
+
protected set _relayContainer(rc: RelayContainer);
|
|
29
|
+
protected get _relayContainer(): RelayContainer;
|
|
30
|
+
private __relayContainer;
|
|
31
|
+
protected get _regClientFactory(): ImageRegistryClientsFactory;
|
|
32
|
+
private __regClientFactory;
|
|
33
|
+
protected get _userContextManager(): UserContextManager;
|
|
34
|
+
private __userContextManager;
|
|
35
|
+
/** Logs the user in as needed, and persists the new context object to the local machine. */
|
|
36
|
+
protected establishTenantContext(currentContext: UserContext): Promise<UserContext>;
|
|
27
37
|
/** Acquires and adopts the identity of a single enterprise for the current project
|
|
28
38
|
* (DOES NOT establish an AssetBinding for the current tenant).
|
|
29
39
|
* TODO: Move this to commandBase
|
package/lib/k8s-command-base.js
CHANGED
|
@@ -8,7 +8,6 @@ const codiac_relay_contracts_1 = require("@codiac.io/codiac-relay-contracts");
|
|
|
8
8
|
const relay_client_1 = require("@codiac.io/relay-client");
|
|
9
9
|
const codiac_api_client_1 = require("@codiac.io/codiac-api-client");
|
|
10
10
|
const codiac_cli_common_1 = require("@codiac.io/codiac-cli-common");
|
|
11
|
-
const codiac_cli_common_2 = require("@codiac.io/codiac-cli-common");
|
|
12
11
|
const enterprise_contextualizer_1 = require("./uilogic/enterprise-contextualizer");
|
|
13
12
|
const environment_contextualizer_1 = require("./uilogic/environment-contextualizer");
|
|
14
13
|
const codiac_ops_enterprise_1 = require("@codiac.io/codiac-ops-enterprise");
|
|
@@ -18,32 +17,105 @@ const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
|
|
|
18
17
|
*/
|
|
19
18
|
class CommandBaseEnterprise extends codiac_cli_common_1.commandBase {
|
|
20
19
|
constructor(argv, config, requiresProjectScope) {
|
|
21
|
-
var _a;
|
|
22
20
|
super(argv, config, requiresProjectScope);
|
|
23
|
-
let codiacApiUrl = (this._cliCfg) ? this._cliCfg.codiacApiBaseUrl : undefined;
|
|
24
|
-
codiac_api_client_1.CodiacClient.bootstrap();
|
|
25
|
-
let userLoader = new codiac_ops_enterprise_1.UserContextLoader(this.logger);
|
|
26
|
-
this._userCntx = (_a = userLoader.loadUserContext(this._projCfg.tenantCode)) !== null && _a !== void 0 ? _a : new codiac_relay_contracts_1.UserContext();
|
|
27
|
-
// this._userCntx = this._cfgRepo.loadUserContext(this._projCfg.tenantCode);
|
|
28
|
-
let authToken = (this._userCntx) ? this._userCntx.currentToken : undefined;
|
|
29
|
-
this.ioc.bind(codiac_api_client_1.CodiacClient).toDynamicValue((ctx) => codiac_api_client_1.CodiacClient.create(this.logger, codiacApiUrl, authToken)); //
|
|
30
|
-
this._codiacApi = this.ioc.get(codiac_api_client_1.CodiacClient); // TODO: Lazy-load this
|
|
31
|
-
this._relayContainer = new relay_client_1.RelayContainer(this._styler, this.logger, undefined, undefined, this.__projectRoot); // <-- HACK need an IoC strategy
|
|
32
|
-
this._userContextManager = new codiac_ops_enterprise_1.UserContextManager(this._codiacApi, this.logger);
|
|
33
|
-
this._regClientFactory = this.ioc.get(codiac_ops_common_1.ImageRegistryClientsFactory);
|
|
34
|
-
// this._relayContainer.init();
|
|
35
21
|
}
|
|
22
|
+
// protected loadClusterSpecSub: Subject<temp.Cluster> = new Subject();
|
|
23
|
+
// public get loadClusterSpec$(): Observable<temp.Cluster> {
|
|
24
|
+
// return this.loadClusterSpecSub.asObservable();
|
|
25
|
+
// }
|
|
26
|
+
// protected acquireK8sContextSub: Subject<k8s.KubeConfig> = new Subject();
|
|
27
|
+
// public get acquireK8sContext$(): Observable<k8s.KubeConfig> {
|
|
28
|
+
// return this.acquireK8sContextSub.asObservable();
|
|
29
|
+
// }
|
|
30
|
+
// protected _ui: IUserInputProvider;
|
|
36
31
|
// /** Assembles the full specification for the operation that is to be performed on the cluster. */
|
|
37
32
|
// protected abstract async loadOperationInput( userCntx: UserContext, assetCntx: AssetContext): Promise<TOperationInput>;
|
|
38
33
|
// /** Performs the actual intended work within the cluster. */
|
|
39
34
|
// protected abstract async executeMainOperation(input: TOperationInput): Promise<void>;
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
/* ==================================================================================================
|
|
36
|
+
* _ _ _
|
|
37
|
+
* | | | | | |
|
|
38
|
+
* | | __ _ _____ _ | | ___ __ _ __| |___
|
|
39
|
+
* | | / _` |_ / | | | | | / _ \ / _` |/ _` / __|
|
|
40
|
+
* | |___| (_| |/ /| |_| | | |___| (_) | (_| | (_| \__ \
|
|
41
|
+
* \_____/\__,_/___|\__, | \_____/\___/ \__,_|\__,_|___/
|
|
42
|
+
* __/ |
|
|
43
|
+
* |___/
|
|
44
|
+
* ================================================================================================== */
|
|
45
|
+
set _userCntx(cntx) {
|
|
46
|
+
this.__userCntx = cntx;
|
|
47
|
+
}
|
|
48
|
+
get _userCntx() {
|
|
49
|
+
var _a;
|
|
50
|
+
if (this.__userCntx === undefined) {
|
|
51
|
+
let userLoader = new codiac_ops_enterprise_1.UserContextLoader(this.logger);
|
|
52
|
+
this.__userCntx = (_a = userLoader.loadUserContext(this._projCfg.tenantCode)) !== null && _a !== void 0 ? _a : new codiac_relay_contracts_1.UserContext();
|
|
53
|
+
}
|
|
54
|
+
return this.__userCntx;
|
|
55
|
+
}
|
|
56
|
+
get codiacApiUrl() {
|
|
57
|
+
var _a;
|
|
58
|
+
if (this.__codiacApiUrl === undefined) {
|
|
59
|
+
this.__codiacApiUrl = (_a = this._cliCfg.codiacApiBaseUrl) !== null && _a !== void 0 ? _a : codiac_api_client_1.CodiacClient.DEFAULT_API_URL;
|
|
60
|
+
}
|
|
61
|
+
return this.__codiacApiUrl;
|
|
62
|
+
}
|
|
63
|
+
/** TODO: Get this out of the CLI. Any calls to the codiac api should be made from the relay. */
|
|
64
|
+
get _codiacApi() {
|
|
65
|
+
if (this.__codiacApi === undefined) {
|
|
66
|
+
codiac_api_client_1.CodiacClient.bootstrap();
|
|
67
|
+
// Cant do it this way until we make ApiUserCreds.token nullable.
|
|
68
|
+
// this.ioc.bind<CodiacClientConfig>(CodiacClientConfig).toConstantValue({ apiBaseUrl: this.codiacApiUrl });
|
|
69
|
+
// this.ioc.bind(ApiUserCreds).toConstantValue(undefined); // <--- ILLEGAL!
|
|
70
|
+
// host.ioc.bind<CodiacClient>(CodiacClient).toSelf();
|
|
71
|
+
let authToken = (this._userCntx) ? this._userCntx.currentToken : undefined;
|
|
72
|
+
this.ioc.bind(codiac_api_client_1.CodiacClient).toDynamicValue((ctx) => codiac_api_client_1.CodiacClient.create(this.logger, this.codiacApiUrl, authToken)); //
|
|
73
|
+
this.__codiacApi = this.ioc.get(codiac_api_client_1.CodiacClient);
|
|
74
|
+
}
|
|
75
|
+
return this.__codiacApi;
|
|
76
|
+
}
|
|
77
|
+
get api() {
|
|
78
|
+
if (this.__api === undefined) {
|
|
79
|
+
this.__api = this.ioc.get(codiac_ops_enterprise_1.ThrowingApiClientWrapper);
|
|
80
|
+
}
|
|
81
|
+
return this.__api;
|
|
82
|
+
}
|
|
83
|
+
get relayClient() {
|
|
84
|
+
if (this.__relayClient === undefined) {
|
|
85
|
+
this.__relayClient = new relay_client_1.RelayClient(this._userCntx, this._relayContainer, this._projectRoot, this._styler, this.logger);
|
|
86
|
+
}
|
|
87
|
+
return this.__relayClient;
|
|
88
|
+
}
|
|
89
|
+
set _relayContainer(rc) {
|
|
90
|
+
this.__relayContainer = rc;
|
|
91
|
+
}
|
|
92
|
+
get _relayContainer() {
|
|
93
|
+
if (this.__relayContainer === undefined) {
|
|
94
|
+
// HACK: Need an IoC strategy !!
|
|
95
|
+
this.__relayContainer = new relay_client_1.RelayContainer(this._styler, this.logger, undefined, undefined, this.__projectRoot);
|
|
96
|
+
// this.__relayContainer.init(); // Do we NOT need this now?
|
|
97
|
+
}
|
|
98
|
+
return this.__relayContainer;
|
|
99
|
+
}
|
|
100
|
+
get _regClientFactory() {
|
|
101
|
+
if (this.__regClientFactory === undefined) {
|
|
102
|
+
this.__regClientFactory = this.ioc.get(codiac_ops_common_1.ImageRegistryClientsFactory);
|
|
103
|
+
}
|
|
104
|
+
return this.__regClientFactory;
|
|
105
|
+
}
|
|
106
|
+
get _userContextManager() {
|
|
107
|
+
if (this.__userContextManager === undefined) {
|
|
108
|
+
this.__userContextManager = new codiac_ops_enterprise_1.UserContextManager(this._codiacApi, this.logger);
|
|
109
|
+
}
|
|
110
|
+
return this.__userContextManager;
|
|
111
|
+
}
|
|
112
|
+
/** Logs the user in as needed, and persists the new context object to the local machine. */
|
|
113
|
+
establishTenantContext(currentContext) {
|
|
42
114
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
43
115
|
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
116
|
try {
|
|
45
|
-
let contextor = new
|
|
46
|
-
let cntx = yield contextor.establishTenantContext();
|
|
117
|
+
let contextor = new codiac_cli_common_1.TenantContextualizer(this._projCfg, this._ops, this._codiacApi, this._codiacApi, this._cfgRepo, this._ui, this._styler, this.logger);
|
|
118
|
+
let cntx = yield contextor.establishTenantContext(currentContext);
|
|
47
119
|
if (cntx.currentToken)
|
|
48
120
|
this._codiacApi.setUserToken(cntx.currentToken); // why isnt this being done by the contextualizer?
|
|
49
121
|
// Register it with the ioc container
|
|
@@ -55,8 +127,8 @@ class CommandBaseEnterprise extends codiac_cli_common_1.commandBase {
|
|
|
55
127
|
}
|
|
56
128
|
// Do the same for the UserNameTenantCode obj
|
|
57
129
|
let tenantUser = {
|
|
58
|
-
username:
|
|
59
|
-
tenantCode:
|
|
130
|
+
username: cntx.userName,
|
|
131
|
+
tenantCode: cntx.currentTenantCode // ! operator is ok because we just estab'd tenant context
|
|
60
132
|
};
|
|
61
133
|
if (this.ioc.isBound(codiac_ops_common_1.UserNameTenantCode)) {
|
|
62
134
|
this.ioc.rebind(codiac_ops_common_1.UserNameTenantCode).toConstantValue(tenantUser);
|