@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.
Files changed (95) hide show
  1. package/README.md +115 -110
  2. package/lib/api-clients/common/api-user-creds.d.ts +7 -0
  3. package/lib/api-clients/common/api-user-creds.js +19 -0
  4. package/lib/api-clients/common/api-user-creds.js.map +1 -0
  5. package/lib/api-clients/common/config-loader.d.ts +6 -0
  6. package/lib/api-clients/common/config-loader.js +19 -0
  7. package/lib/api-clients/common/config-loader.js.map +1 -0
  8. package/lib/api-clients/common/security/auth-constants.d.ts +15 -0
  9. package/lib/api-clients/common/security/auth-constants.js +22 -0
  10. package/lib/api-clients/common/security/auth-constants.js.map +1 -0
  11. package/lib/api-clients/common/security/i-auth-client.d.ts +44 -0
  12. package/lib/api-clients/common/security/i-auth-client.js +3 -0
  13. package/lib/api-clients/common/security/i-auth-client.js.map +1 -0
  14. package/lib/api-clients/common/security/rest-client-base-with-auth.d.ts +84 -0
  15. package/lib/api-clients/common/security/rest-client-base-with-auth.js +361 -0
  16. package/lib/api-clients/common/security/rest-client-base-with-auth.js.map +1 -0
  17. package/lib/api-clients/common/security/token-holder.d.ts +13 -0
  18. package/lib/api-clients/common/security/token-holder.js +18 -0
  19. package/lib/api-clients/common/security/token-holder.js.map +1 -0
  20. package/lib/api-clients/common/utils.d.ts +23 -0
  21. package/lib/api-clients/common/utils.js +83 -0
  22. package/lib/api-clients/common/utils.js.map +1 -0
  23. package/lib/api-clients/contracts/index.d.ts +1 -0
  24. package/lib/api-clients/contracts/index.js +5 -0
  25. package/lib/api-clients/contracts/index.js.map +1 -0
  26. package/lib/api-clients/gen/client-config.d.ts +10 -0
  27. package/lib/api-clients/gen/client-config.js +29 -0
  28. package/lib/api-clients/gen/client-config.js.map +1 -0
  29. package/lib/api-clients/gen/client.d.ts +45 -0
  30. package/lib/api-clients/gen/client.js +331 -0
  31. package/lib/api-clients/gen/client.js.map +1 -0
  32. package/lib/api-clients/gen/contracts.d.ts +2529 -0
  33. package/lib/api-clients/gen/contracts.js +370 -0
  34. package/lib/api-clients/gen/contracts.js.map +1 -0
  35. package/lib/api-clients/gen/endpoints.d.ts +3 -0
  36. package/lib/api-clients/gen/endpoints.js +3150 -0
  37. package/lib/api-clients/gen/endpoints.js.map +1 -0
  38. package/lib/api-clients/index.d.ts +2 -0
  39. package/lib/api-clients/index.js +6 -0
  40. package/lib/api-clients/index.js.map +1 -0
  41. package/lib/apis/codiac-api/common/security/rest-client-base-with-auth.d.ts +84 -0
  42. package/lib/apis/codiac-api/common/security/rest-client-base-with-auth.js +361 -0
  43. package/lib/apis/codiac-api/common/security/rest-client-base-with-auth.js.map +1 -0
  44. package/lib/apis/codiac-api/gen/endpoints.d.ts +3 -0
  45. package/lib/apis/codiac-api/gen/endpoints.js +3150 -0
  46. package/lib/apis/codiac-api/gen/endpoints.js.map +1 -0
  47. package/lib/apis/over-gen/temp-mods.d.ts +33 -0
  48. package/lib/apis/over-gen/temp-mods.js +91 -0
  49. package/lib/apis/over-gen/temp-mods.js.map +1 -0
  50. package/lib/commands/csp/login.js +52 -43
  51. package/lib/commands/csp/login.js.map +1 -1
  52. package/lib/k8s-command-base.d.ts +25 -15
  53. package/lib/k8s-command-base.js +92 -20
  54. package/lib/k8s-command-base.js.map +1 -1
  55. package/lib/relay/data/aws-regions.d.ts +0 -6
  56. package/lib/relay/data/aws-regions.js +32 -32
  57. package/lib/relay/data/aws-regions.js.map +1 -1
  58. package/lib/relay/relay-container.js +1 -1
  59. package/lib/relay/wsclient/bus-listener.ervice.d.ts +71 -0
  60. package/lib/relay/wsclient/bus-listener.ervice.js +150 -0
  61. package/lib/relay/wsclient/bus-listener.ervice.js.map +1 -0
  62. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.d.ts +0 -11
  63. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js +13 -14
  64. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js.map +1 -1
  65. package/lib/uilogic/cloud-resource-configurators/aws-node-types.d.ts +33 -1
  66. package/lib/uilogic/cloud-resource-configurators/aws-node-types.js +3712 -2
  67. package/lib/uilogic/cloud-resource-configurators/aws-node-types.js.map +1 -1
  68. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +2 -1
  69. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +1 -1
  70. package/lib/uilogic/enterprise-contextualizer-machine-scope.d.ts +69 -0
  71. package/lib/uilogic/enterprise-contextualizer-machine-scope.js +596 -0
  72. package/lib/uilogic/enterprise-contextualizer-machine-scope.js.map +1 -0
  73. package/lib/uilogic/registry-configurator-factory.d.ts +12 -0
  74. package/lib/uilogic/registry-configurator-factory.js +68 -0
  75. package/lib/uilogic/registry-configurator-factory.js.map +1 -0
  76. package/lib/uilogic/registry-configurator.d.ts +17 -0
  77. package/lib/uilogic/registry-configurator.js +145 -0
  78. package/lib/uilogic/registry-configurator.js.map +1 -0
  79. package/lib/uilogic/registry-configurators/aws-registry-configurator.d.ts +15 -0
  80. package/lib/uilogic/registry-configurators/aws-registry-configurator.js +67 -0
  81. package/lib/uilogic/registry-configurators/aws-registry-configurator.js.map +1 -0
  82. package/lib/uilogic/registry-configurators/azure-registry-configurator.d.ts +25 -0
  83. package/lib/uilogic/registry-configurators/azure-registry-configurator.js +72 -0
  84. package/lib/uilogic/registry-configurators/azure-registry-configurator.js.map +1 -0
  85. package/lib/uilogic/registry-configurators/docker-hub-registry-configurator.d.ts +18 -0
  86. package/lib/uilogic/registry-configurators/docker-hub-registry-configurator.js +55 -0
  87. package/lib/uilogic/registry-configurators/docker-hub-registry-configurator.js.map +1 -0
  88. package/lib/uilogic/registry-configurators/helm-registry-configurator.d.ts +16 -0
  89. package/lib/uilogic/registry-configurators/helm-registry-configurator.js +44 -0
  90. package/lib/uilogic/registry-configurators/helm-registry-configurator.js.map +1 -0
  91. package/lib/uilogic/registry-configurators/unsupported-registry-configurator.d.ts +17 -0
  92. package/lib/uilogic/registry-configurators/unsupported-registry-configurator.js +60 -0
  93. package/lib/uilogic/registry-configurators/unsupported-registry-configurator.js.map +1 -0
  94. package/oclif.manifest.json +1 -1
  95. 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, _b, _c, _d, _e;
24
+ var _a;
25
25
  try {
26
26
  this.bootstrap();
27
27
  const { args, flags } = yield this.parse(CspLogin);
28
- this._userCntx = yield this.establishTenantContext(this._userCntx);
29
- // Select the CSP
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
- let username = yield this.uiCloudProvider.promptForCloudProviderCreds(this.ioc, provider);
64
- this._ui.userMessage(`${this._styler.colorGood("Success!")} Authenticated with ${provider} as ${this._styler.hilite(username)}.`);
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._ui.userMessage(`${this._styler.colorCritical("FAILED")} ${(_b = err.name) !== null && _b !== void 0 ? _b : ""} ${(_c = err.message) !== null && _c !== void 0 ? _c : ""}`);
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.logger.error(err);
74
- this._ui.userMessage(`${this._styler.colorCritical("ERROR")} ${(_d = err.name) !== null && _d !== void 0 ? _d : ""} ${(_e = err.message) !== null && _e !== void 0 ? _e : ""}`);
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":"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"}
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: IConfig, requiresProjectScope?: boolean);
16
- protected _userCntx: UserContext;
17
- protected _userContextManager: UserContextManager;
18
- /** TODO: Get this out of the CLI. Any calls to the codiac api should be made from the relay.
19
- *
20
- * TODO: Lazy load this from IOC.
21
- */
22
- protected _codiacApi: CodiacClient;
23
- protected _relayContainer: RelayContainer;
24
- protected _regClientFactory: ImageRegistryClientsFactory;
25
- /** TODO: Move this to commandBase */
26
- protected establishTenantContext(): Promise<UserContext>;
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
@@ -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
- /** TODO: Move this to commandBase */
41
- establishTenantContext() {
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 codiac_cli_common_2.TenantContextualizer(this._projCfg, this._ops, this._codiacApi, this._codiacApi, this._cfgRepo, this._ui, this._styler, this.logger);
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: this._userCntx.userName,
59
- tenantCode: this._userCntx.currentTenantCode // ! operator is ok because we jsut estab'd tenant context
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);