@codiac.io/codiac-cli 1.3.67 → 1.3.69
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 +1 -1
- package/dist/apis/api-plus-local/api-client-plus-local.d.ts +12 -4
- package/dist/apis/api-plus-local/api-client-plus-local.js +121 -92
- package/dist/apis/api-plus-local/api-client-plus-local.js.map +1 -1
- package/dist/apis/api-plus-local/asset-where-entity-merger.d.ts +4 -2
- package/dist/apis/api-plus-local/asset-where-entity-merger.js +17 -8
- package/dist/apis/api-plus-local/asset-where-entity-merger.js.map +1 -1
- package/dist/apis/api-plus-local/enterprise-state-entity-merger.d.ts +3 -2
- package/dist/apis/api-plus-local/enterprise-state-entity-merger.js +13 -2
- package/dist/apis/api-plus-local/enterprise-state-entity-merger.js.map +1 -1
- package/dist/apis/api-plus-local/root-map-entity-merger.d.ts +7 -3
- package/dist/apis/api-plus-local/root-map-entity-merger.js +19 -8
- package/dist/apis/api-plus-local/root-map-entity-merger.js.map +1 -1
- package/dist/apis/codiac-api/gen/contracts.d.ts +38 -4
- package/dist/apis/codiac-api/gen/contracts.js +2 -0
- package/dist/apis/codiac-api/gen/contracts.js.map +1 -1
- package/dist/apis/codiac-relay/common/api-user-creds.d.ts +2 -2
- package/dist/apis/codiac-relay/common/api-user-creds.js +2 -1
- package/dist/apis/codiac-relay/common/api-user-creds.js.map +1 -1
- package/dist/apis/codiac-relay/gen/client.d.ts +5 -1
- package/dist/apis/codiac-relay/gen/client.js +16 -0
- package/dist/apis/codiac-relay/gen/client.js.map +1 -1
- package/dist/apis/codiac-relay/gen/contracts.d.ts +129 -2
- package/dist/apis/codiac-relay/gen/contracts.js +12 -1
- package/dist/apis/codiac-relay/gen/contracts.js.map +1 -1
- package/dist/apis/nats/nats-client.d.ts +1 -0
- package/dist/apis/nats/nats-client.js +8 -4
- package/dist/apis/nats/nats-client.js.map +1 -1
- package/dist/cli-common/argument-manager.d.ts +1 -1
- package/dist/cli-common/command-base.d.ts +6 -4
- package/dist/cli-common/command-base.js +32 -22
- package/dist/cli-common/command-base.js.map +1 -1
- package/dist/codiac-constants.d.ts +2 -0
- package/dist/codiac-constants.js +2 -0
- package/dist/codiac-constants.js.map +1 -1
- package/dist/command-base-enterprise.d.ts +2 -1
- package/dist/command-base-enterprise.js +10 -7
- package/dist/command-base-enterprise.js.map +1 -1
- package/dist/command-base-tenantless.d.ts +2 -1
- package/dist/command-base-tenantless.js +12 -10
- package/dist/command-base-tenantless.js.map +1 -1
- package/dist/commands/asset/create.d.ts +2 -8
- package/dist/commands/asset/create.js +24 -4
- package/dist/commands/asset/create.js.map +1 -1
- package/dist/commands/asset/deploy.d.ts +8 -4
- package/dist/commands/asset/deploy.js +58 -29
- package/dist/commands/asset/deploy.js.map +1 -1
- package/dist/commands/asset/entrypoint/delete.js +3 -3
- package/dist/commands/asset/entrypoint/delete.js.map +1 -1
- package/dist/commands/asset/entrypoint/set.js +3 -3
- package/dist/commands/asset/entrypoint/set.js.map +1 -1
- package/dist/commands/asset/list.d.ts +2 -0
- package/dist/commands/asset/list.js +4 -0
- package/dist/commands/asset/list.js.map +1 -1
- package/dist/commands/asset/view.d.ts +4 -4
- package/dist/commands/asset/view.js +3 -2
- package/dist/commands/asset/view.js.map +1 -1
- package/dist/commands/cabinet/create.d.ts +2 -1
- package/dist/commands/cabinet/create.js +15 -2
- package/dist/commands/cabinet/create.js.map +1 -1
- package/dist/commands/cabinet/obliterate.d.ts +3 -1
- package/dist/commands/cabinet/obliterate.js +6 -2
- package/dist/commands/cabinet/obliterate.js.map +1 -1
- package/dist/commands/cluster/start.d.ts +37 -0
- package/dist/commands/cluster/start.js +191 -0
- package/dist/commands/cluster/start.js.map +1 -0
- package/dist/commands/cluster/stop.d.ts +36 -0
- package/dist/commands/cluster/stop.js +190 -0
- package/dist/commands/cluster/stop.js.map +1 -0
- package/dist/commands/config/add.d.ts +3 -2
- package/dist/commands/config/add.js +8 -25
- package/dist/commands/config/add.js.map +1 -1
- package/dist/commands/config/delete.js +7 -4
- package/dist/commands/config/delete.js.map +1 -1
- package/dist/commands/config/settings/get.js +7 -4
- package/dist/commands/config/settings/get.js.map +1 -1
- package/dist/commands/config/view.d.ts +0 -1
- package/dist/commands/config/view.js +5 -39
- package/dist/commands/config/view.js.map +1 -1
- package/dist/commands/environment/cluster/attach.js +15 -4
- package/dist/commands/environment/cluster/attach.js.map +1 -1
- package/dist/commands/environment/cluster/detach.js +6 -1
- package/dist/commands/environment/cluster/detach.js.map +1 -1
- package/dist/commands/environment/create.d.ts +1 -0
- package/dist/commands/environment/create.js +22 -3
- package/dist/commands/environment/create.js.map +1 -1
- package/dist/commands/environment/list.d.ts +3 -0
- package/dist/commands/environment/list.js +20 -7
- package/dist/commands/environment/list.js.map +1 -1
- package/dist/commands/filestore/capture.js.map +1 -1
- package/dist/commands/imageRegistry/capture.js +4 -0
- package/dist/commands/imageRegistry/capture.js.map +1 -1
- package/dist/commands/imageRegistry/list.d.ts +29 -0
- package/dist/commands/imageRegistry/list.js +108 -0
- package/dist/commands/imageRegistry/list.js.map +1 -0
- package/dist/commands/init.js +4 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/noc/cluster/capture.d.ts +0 -2
- package/dist/commands/noc/cluster/capture.js +2 -9
- package/dist/commands/noc/cluster/capture.js.map +1 -1
- package/dist/commands/noc/cluster/create.d.ts +20 -0
- package/dist/commands/noc/cluster/create.js +244 -17
- package/dist/commands/noc/cluster/create.js.map +1 -1
- package/dist/commands/noc/cluster/destroy.d.ts +4 -0
- package/dist/commands/noc/cluster/destroy.js +38 -9
- package/dist/commands/noc/cluster/destroy.js.map +1 -1
- package/dist/commands/noc/cluster/forget.d.ts +2 -1
- package/dist/commands/noc/cluster/forget.js +20 -3
- package/dist/commands/noc/cluster/forget.js.map +1 -1
- package/dist/commands/noc/cluster/list.js +6 -2
- package/dist/commands/noc/cluster/list.js.map +1 -1
- package/dist/message-contracts/terminal-command-request.d.ts +66 -0
- package/dist/message-contracts/terminal-command-request.js +13 -0
- package/dist/message-contracts/terminal-command-request.js.map +1 -0
- package/dist/ops/LocalOps.d.ts +1 -1
- package/dist/ops/LocalOps.js +4 -4
- package/dist/ops/LocalOps.js.map +1 -1
- package/dist/ops/entities/cli-config.d.ts +2 -1
- package/dist/ops/entities/cli-config.js +3 -2
- package/dist/ops/entities/cli-config.js.map +1 -1
- package/dist/ops/index.d.ts +0 -3
- package/dist/ops/index.js +3 -3
- package/dist/ops/index.js.map +1 -1
- package/dist/ops/k8s/k8s-utils.js.map +1 -1
- package/dist/ops/scaffolding/base-scaffolding.d.ts +1 -1
- package/dist/ops/scaffolding/base-scaffolding.js +2 -1
- package/dist/ops/scaffolding/base-scaffolding.js.map +1 -1
- package/dist/ops/scaffolding/codiac-api-scaffolding.js.map +1 -1
- package/dist/ops/scaffolding/typescript-scaffolding.d.ts +2 -1
- package/dist/ops/scaffolding/typescript-scaffolding.js +2 -1
- package/dist/ops/scaffolding/typescript-scaffolding.js.map +1 -1
- package/dist/ops/terminal-command-runner/local-command-runner.d.ts +41 -0
- package/dist/ops/terminal-command-runner/local-command-runner.js +146 -0
- package/dist/ops/terminal-command-runner/local-command-runner.js.map +1 -0
- package/dist/ops/terminal-utils.d.ts +56 -0
- package/dist/ops/terminal-utils.js +721 -0
- package/dist/ops/terminal-utils.js.map +1 -0
- package/dist/relay/relay-container.js +4 -1
- package/dist/relay/relay-container.js.map +1 -1
- package/dist/relay/wsclient/relay-websocket-client.d.ts +3 -0
- package/dist/relay/wsclient/relay-websocket-client.js +9 -0
- package/dist/relay/wsclient/relay-websocket-client.js.map +1 -1
- package/dist/sdk/codiac-sdk-for-cli.d.ts +29 -0
- package/dist/sdk/codiac-sdk-for-cli.js +83 -0
- package/dist/sdk/codiac-sdk-for-cli.js.map +1 -0
- package/dist/sdk/i-cluster-configurator.js.map +1 -0
- package/dist/sdk/i-file-store-configurator.js.map +1 -0
- package/dist/{uilogic → sdk}/i-login-configurator.d.ts +10 -3
- package/dist/sdk/i-login-configurator.js.map +1 -0
- package/dist/sdk/i-registry-configurator.js.map +1 -0
- package/dist/sdk/i-secret-store-configurator.js.map +1 -0
- package/dist/sdk/index.d.ts +7 -0
- package/dist/sdk/index.js +11 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk-adapters/artifact-hub/artifact-hub-cli-adapter.d.ts +6 -0
- package/dist/sdk-adapters/artifact-hub/artifact-hub-cli-adapter.js +16 -0
- package/dist/sdk-adapters/artifact-hub/artifact-hub-cli-adapter.js.map +1 -0
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/artifact-hub}/helm-resource-configurator.d.ts +4 -4
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/artifact-hub}/helm-resource-configurator.js +5 -1
- package/dist/sdk-adapters/artifact-hub/helm-resource-configurator.js.map +1 -0
- package/dist/sdk-adapters/artifact-hub/index.d.ts +2 -0
- package/dist/sdk-adapters/artifact-hub/index.js +6 -0
- package/dist/sdk-adapters/artifact-hub/index.js.map +1 -0
- package/dist/sdk-adapters/aws/aws-cli-adapter.d.ts +6 -0
- package/dist/sdk-adapters/aws/aws-cli-adapter.js +20 -0
- package/dist/sdk-adapters/aws/aws-cli-adapter.js.map +1 -0
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/aws}/aws-resource-configurator.d.ts +4 -7
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/aws}/aws-resource-configurator.js +8 -2
- package/dist/sdk-adapters/aws/aws-resource-configurator.js.map +1 -0
- package/dist/sdk-adapters/aws/index.d.ts +2 -0
- package/dist/sdk-adapters/aws/index.js +6 -0
- package/dist/sdk-adapters/aws/index.js.map +1 -0
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/azure}/az-interactive-login-configurator.d.ts +6 -7
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/azure}/az-interactive-login-configurator.js +7 -8
- package/dist/sdk-adapters/azure/az-interactive-login-configurator.js.map +1 -0
- package/dist/sdk-adapters/azure/azure-cli-adapter.d.ts +6 -0
- package/dist/sdk-adapters/azure/azure-cli-adapter.js +20 -0
- package/dist/sdk-adapters/azure/azure-cli-adapter.js.map +1 -0
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/azure}/azure-resource-configurator.d.ts +2 -11
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/azure}/azure-resource-configurator.js +13 -27
- package/dist/sdk-adapters/azure/azure-resource-configurator.js.map +1 -0
- package/dist/sdk-adapters/azure/index.d.ts +3 -0
- package/dist/sdk-adapters/azure/index.js +7 -0
- package/dist/sdk-adapters/azure/index.js.map +1 -0
- package/dist/sdk-adapters/docker-hub/docker-hub-cli-adapter.d.ts +6 -0
- package/dist/sdk-adapters/docker-hub/docker-hub-cli-adapter.js +16 -0
- package/dist/sdk-adapters/docker-hub/docker-hub-cli-adapter.js.map +1 -0
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/docker-hub}/docker-hub-resource-configurator.d.ts +4 -4
- package/dist/{uilogic/cloud-resource-configurators → sdk-adapters/docker-hub}/docker-hub-resource-configurator.js +7 -1
- package/dist/sdk-adapters/docker-hub/docker-hub-resource-configurator.js.map +1 -0
- package/dist/sdk-adapters/docker-hub/index.d.ts +2 -0
- package/dist/sdk-adapters/docker-hub/index.js +6 -0
- package/dist/sdk-adapters/docker-hub/index.js.map +1 -0
- package/dist/sdk-adapters/local-machine/index.js +4 -0
- package/dist/sdk-adapters/local-machine/index.js.map +1 -0
- package/dist/sdk-adapters/local-machine/local-machine-cli-adapter.js +14 -0
- package/dist/sdk-adapters/local-machine/local-machine-cli-adapter.js.map +1 -0
- package/dist/sdk-adapters/local-machine/local-machine-login-configurator.d.ts +17 -0
- package/dist/sdk-adapters/local-machine/local-machine-login-configurator.js +66 -0
- package/dist/sdk-adapters/local-machine/local-machine-login-configurator.js.map +1 -0
- package/dist/sdk-adapters/local-machine/local-machine-resource-configurator.d.ts +20 -0
- package/dist/sdk-adapters/local-machine/local-machine-resource-configurator.js +121 -0
- package/dist/sdk-adapters/local-machine/local-machine-resource-configurator.js.map +1 -0
- package/dist/sdk-adapters/shared/resource-configurator-base.d.ts +30 -0
- package/dist/sdk-adapters/shared/resource-configurator-base.js +124 -0
- package/dist/sdk-adapters/shared/resource-configurator-base.js.map +1 -0
- package/dist/uilogic/build-configurator.d.ts +2 -1
- package/dist/uilogic/build-configurator.js.map +1 -1
- package/dist/uilogic/cloud-provider-contextualizer.d.ts +4 -4
- package/dist/uilogic/cloud-provider-contextualizer.js +24 -9
- package/dist/uilogic/cloud-provider-contextualizer.js.map +1 -1
- package/dist/uilogic/cloud-resource-configurator-factory.d.ts +6 -10
- package/dist/uilogic/cloud-resource-configurator-factory.js +31 -19
- package/dist/uilogic/cloud-resource-configurator-factory.js.map +1 -1
- package/dist/uilogic/cloud-resource-configurators/asset-configurator.d.ts +8 -1
- package/dist/uilogic/cloud-resource-configurators/asset-configurator.js.map +1 -1
- package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +1 -1
- package/dist/uilogic/config-ui-utils.d.ts +19 -14
- package/dist/uilogic/config-ui-utils.js +66 -21
- package/dist/uilogic/config-ui-utils.js.map +1 -1
- package/dist/uilogic/enterprise-contextualizer.d.ts +2 -1
- package/dist/uilogic/enterprise-contextualizer.js.map +1 -1
- package/dist/uilogic/i-messaging-client.d.ts +1 -0
- package/dist/uilogic/image-registry-contextualizer.d.ts +3 -3
- package/dist/uilogic/image-registry-contextualizer.js +4 -2
- package/dist/uilogic/image-registry-contextualizer.js.map +1 -1
- package/dist/uilogic/index.d.ts +0 -4
- package/dist/uilogic/index.js +0 -4
- package/dist/uilogic/index.js.map +1 -1
- package/dist/uilogic/lrp-watcher-predef.js +10 -4
- package/dist/uilogic/lrp-watcher-predef.js.map +1 -1
- package/dist/uilogic/rootmap-ui-utils.d.ts +2 -0
- package/dist/uilogic/rootmap-ui-utils.js +35 -11
- package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
- package/dist/uilogic/tenant-contextualizer.d.ts +1 -1
- package/dist/uilogic/tenant-contextualizer.js.map +1 -1
- package/dist/uilogic/type-safety-utils.d.ts +11 -0
- package/dist/uilogic/type-safety-utils.js +13 -0
- package/dist/uilogic/type-safety-utils.js.map +1 -1
- package/dist/uilogic/validators/non-empty-validator.d.ts +7 -0
- package/dist/uilogic/validators/non-empty-validator.js +20 -0
- package/dist/uilogic/validators/non-empty-validator.js.map +1 -0
- package/dist/uilogic/validators/semver-range-validator.d.ts +1 -1
- package/dist/uilogic/validators/semver-range-validator.js +2 -2
- package/dist/uilogic/validators/semver-range-validator.js.map +1 -1
- package/oclif.manifest.json +243 -23
- package/package.json +4 -4
- package/dist/ops/azure-container-registry-client/azure-container-registry-client.js +0 -148
- package/dist/ops/azure-container-registry-client/azure-container-registry-client.js.map +0 -1
- package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +0 -1
- package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js.map +0 -1
- package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +0 -1
- package/dist/uilogic/cloud-resource-configurators/azure-types.js +0 -10
- package/dist/uilogic/cloud-resource-configurators/azure-types.js.map +0 -1
- package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js.map +0 -1
- package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.js.map +0 -1
- package/dist/uilogic/i-cluster-configurator.js.map +0 -1
- package/dist/uilogic/i-file-store-configurator.js.map +0 -1
- package/dist/uilogic/i-login-configurator.js.map +0 -1
- package/dist/uilogic/i-registry-configurator.js.map +0 -1
- package/dist/uilogic/i-secret-store-configurator.js.map +0 -1
- /package/dist/{uilogic → sdk}/i-cluster-configurator.d.ts +0 -0
- /package/dist/{uilogic → sdk}/i-cluster-configurator.js +0 -0
- /package/dist/{uilogic → sdk}/i-file-store-configurator.d.ts +0 -0
- /package/dist/{uilogic → sdk}/i-file-store-configurator.js +0 -0
- /package/dist/{uilogic → sdk}/i-login-configurator.js +0 -0
- /package/dist/{uilogic → sdk}/i-registry-configurator.d.ts +0 -0
- /package/dist/{uilogic → sdk}/i-registry-configurator.js +0 -0
- /package/dist/{uilogic → sdk}/i-secret-store-configurator.d.ts +0 -0
- /package/dist/{uilogic → sdk}/i-secret-store-configurator.js +0 -0
- /package/dist/{ops/azure-container-registry-client/azure-container-registry-client.d.ts → sdk-adapters/local-machine/index.d.ts} +0 -0
- /package/dist/{uilogic/cloud-resource-configurators/azure-types.d.ts → sdk-adapters/local-machine/local-machine-cli-adapter.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk-adapters/local-machine/index.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,yDAAyD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { CloudProviderEnum } from "@codiac.io/codiac-domain";
|
|
3
|
+
// import { CodiacSdkForCli, ICodiacSdkForCliAdapter } from "../../sdk";
|
|
4
|
+
// import { LocalMachineResourceConfigurator } from "./local-machine-resource-configurator";
|
|
5
|
+
// export class LocalMachineCliAdapter implements ICodiacSdkForCliAdapter {
|
|
6
|
+
// get provider(): CloudProviderEnum {
|
|
7
|
+
// return CloudProviderEnum.localMachine;
|
|
8
|
+
// }
|
|
9
|
+
// bootstrap(sdk: CodiacSdkForCli): void {
|
|
10
|
+
// sdk.registerClusterConfigurator(this.provider, LocalMachineResourceConfigurator);
|
|
11
|
+
// sdk.registerLoginConfigurator(this.provider, LocalMachineResourceConfigurator);
|
|
12
|
+
// }
|
|
13
|
+
// }
|
|
14
|
+
//# sourceMappingURL=local-machine-cli-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-machine-cli-adapter.js","sourceRoot":"","sources":["../../../src/sdk-adapters/local-machine/local-machine-cli-adapter.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,wEAAwE;AACxE,4FAA4F;AAE5F,2EAA2E;AAE3E,wCAAwC;AACxC,6CAA6C;AAC7C,MAAM;AAEN,4CAA4C;AAC5C,wFAAwF;AACxF,sFAAsF;AACtF,MAAM;AAEN,IAAI"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IBetterLogger } from "@codiac.io/codiac-common";
|
|
2
|
+
import { UserNameTenantCode } from "@codiac.io/codiac-ops-common";
|
|
3
|
+
import { CloudProviderUser, LogintoCloudProviderRequest } from "../../apis/codiac-relay/contracts";
|
|
4
|
+
import { CloudProviderEnum } from "../../apis/codiac-api/contracts";
|
|
5
|
+
import * as sdk from "../../sdk";
|
|
6
|
+
import { ICspLoginOptions } from "../../sdk";
|
|
7
|
+
export declare class LocalMachineLoginConfigurator implements sdk.ILoginConfigurator {
|
|
8
|
+
private codiacUser;
|
|
9
|
+
private logger;
|
|
10
|
+
constructor(codiacUser: UserNameTenantCode, logger: IBetterLogger);
|
|
11
|
+
get cloudProvider(): CloudProviderEnum;
|
|
12
|
+
promptToLogin(options?: ICspLoginOptions): Promise<[boolean, CloudProviderUser]>;
|
|
13
|
+
promptToLogout(): Promise<[boolean, string]>;
|
|
14
|
+
assembleLoginRequest(user: string | undefined, secret: string | undefined, subscriptionId: string | undefined, proprietaryInput: {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}): LogintoCloudProviderRequest;
|
|
17
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalMachineLoginConfigurator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const inversify_1 = require("inversify");
|
|
6
|
+
const codiac_common_1 = require("@codiac.io/codiac-common");
|
|
7
|
+
const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
|
|
8
|
+
const contracts_1 = require("../../apis/codiac-api/contracts");
|
|
9
|
+
let LocalMachineLoginConfigurator = class LocalMachineLoginConfigurator {
|
|
10
|
+
constructor(codiacUser,
|
|
11
|
+
// @inject(GenRelayClient) private genRelayClient: GenRelayClient,
|
|
12
|
+
// @inject(INTERFACES_CLI.IUserInputProvider) private _ui: IUserInputProvider,
|
|
13
|
+
// @inject(INTERFACES_CLI.IOutputStyler) private _styler: IOutputStyler,
|
|
14
|
+
logger) {
|
|
15
|
+
this.codiacUser = codiacUser;
|
|
16
|
+
this.logger = logger;
|
|
17
|
+
}
|
|
18
|
+
get cloudProvider() {
|
|
19
|
+
return contracts_1.CloudProviderEnum.localMachine;
|
|
20
|
+
}
|
|
21
|
+
/* ***********************************************************************************
|
|
22
|
+
* ___ _ _
|
|
23
|
+
* / _ \ | | | |
|
|
24
|
+
* / /_\ \_ _| |_| |__
|
|
25
|
+
* | _ | | | | __| '_ \
|
|
26
|
+
* | | | | |_| | |_| | | |
|
|
27
|
+
* \_| |_/\__,_|\__|_| |_|
|
|
28
|
+
*
|
|
29
|
+
* ***********************************************************************************/
|
|
30
|
+
promptToLogin(options) {
|
|
31
|
+
var _a;
|
|
32
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
this.logger.debug("No login required for ".concat(this.cloudProvider));
|
|
34
|
+
const cspUser = {
|
|
35
|
+
provider: this.cloudProvider,
|
|
36
|
+
subscriptionId: "subx-placeholder-for-localMachine",
|
|
37
|
+
tenantCode: this.codiacUser.tenantCode,
|
|
38
|
+
username: (_a = options === null || options === void 0 ? void 0 : options.providedUserName) !== null && _a !== void 0 ? _a : this.codiacUser.username,
|
|
39
|
+
created: new Date(Date.now())
|
|
40
|
+
};
|
|
41
|
+
return [true, cspUser];
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
promptToLogout() {
|
|
45
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const cspUserName = this.codiacUser.username;
|
|
47
|
+
return [true, cspUserName]; // Just a pass-through. No authentication required for localMachine.
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
assembleLoginRequest(user, secret, subscriptionId, proprietaryInput) {
|
|
51
|
+
return {
|
|
52
|
+
providerCode: this.cloudProvider,
|
|
53
|
+
providerSubscription: subscriptionId,
|
|
54
|
+
username: user,
|
|
55
|
+
secret: secret
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
LocalMachineLoginConfigurator = tslib_1.__decorate([
|
|
60
|
+
(0, inversify_1.injectable)(),
|
|
61
|
+
tslib_1.__param(0, (0, inversify_1.inject)(codiac_ops_common_1.UserNameTenantCode)),
|
|
62
|
+
tslib_1.__param(1, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
|
|
63
|
+
tslib_1.__metadata("design:paramtypes", [codiac_ops_common_1.UserNameTenantCode, Object])
|
|
64
|
+
], LocalMachineLoginConfigurator);
|
|
65
|
+
exports.LocalMachineLoginConfigurator = LocalMachineLoginConfigurator;
|
|
66
|
+
//# sourceMappingURL=local-machine-login-configurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-machine-login-configurator.js","sourceRoot":"","sources":["../../../src/sdk-adapters/local-machine/local-machine-login-configurator.ts"],"names":[],"mappings":";;;;AAAA,yCAA+C;AAC/C,4DAAqE;AACrE,oEAAkE;AAGlE,+DAAoE;AAO7D,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAExC,YACsC,UAA8B;IAClE,kEAAkE;IAClE,8EAA8E;IAC9E,wEAAwE;IAC9B,MAAqB;QAJ3B,eAAU,GAAV,UAAU,CAAoB;QAIxB,WAAM,GAAN,MAAM,CAAe;IAEjE,CAAC;IAGD,IAAI,aAAa;QACf,OAAO,6BAAiB,CAAC,YAAY,CAAC;IACxC,CAAC;IAGD;;;;;;;;2FAQuF;IAG1E,aAAa,CAAC,OAA0B;;;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvE,MAAM,OAAO,GAAsB;gBACjC,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,cAAc,EAAE,mCAAmC;gBACnD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;gBACtC,QAAQ,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAC/D,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAC9B,CAAA;YACD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;;KACxB;IAGY,cAAc;;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7C,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAE,qEAAqE;QACpG,CAAC;KAAA;IAGD,oBAAoB,CAAC,IAAwB,EAAE,MAA0B,EAAE,cAAkC,EAAE,gBAAyC;QACtJ,OAAoC;YAClC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,oBAAoB,EAAE,cAAc;YACpC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM;SACf,CAAA;IACH,CAAC;CACF,CAAA;AAvDY,6BAA6B;IADzC,IAAA,sBAAU,GAAE;IAIR,mBAAA,IAAA,kBAAM,EAAC,sCAAkB,CAAC,CAAA;IAI1B,mBAAA,IAAA,kBAAM,EAAC,0BAAU,CAAC,aAAa,CAAC,CAAA;6CAJe,sCAAkB;GAHzD,6BAA6B,CAuDzC;AAvDY,sEAA6B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IBetterLogger } from "@codiac.io/codiac-common";
|
|
2
|
+
import { UserNameTenantCode } from "@codiac.io/codiac-ops-common";
|
|
3
|
+
import { RelayClient as GenRelayClient } from "../../apis/codiac-relay";
|
|
4
|
+
import { CloudProviderEnum, ClusterDef, RootMap } from "../../apis/codiac-api/contracts";
|
|
5
|
+
import { ClusterCaptureDef } from "../../codiac-entities/cluster-capture-def";
|
|
6
|
+
import { IOutputStyler, IUserInputProvider } from "../../ops";
|
|
7
|
+
import * as sdk from "../../sdk";
|
|
8
|
+
import { ResourceConfiguratorBase } from "../shared/resource-configurator-base";
|
|
9
|
+
export declare class LocalMachineResourceConfigurator extends ResourceConfiguratorBase implements sdk.IClusterConfigurator {
|
|
10
|
+
constructor(codiacUser: UserNameTenantCode, genRelayClient: GenRelayClient, _ui: IUserInputProvider, _styler: IOutputStyler, logger: IBetterLogger);
|
|
11
|
+
get cloudProvider(): CloudProviderEnum;
|
|
12
|
+
defineCluster(initial: Partial<ClusterDef>, defaults?: Partial<ClusterDef> | undefined): Promise<{
|
|
13
|
+
spec: ClusterDef;
|
|
14
|
+
defaults: Partial<ClusterDef>;
|
|
15
|
+
}>;
|
|
16
|
+
defineClusterCaptureParams(initial: Partial<ClusterDef>, rootMap: RootMap, defaults?: Partial<ClusterDef> | undefined): Promise<{
|
|
17
|
+
spec: ClusterCaptureDef;
|
|
18
|
+
defaults: Partial<ClusterDef>;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalMachineResourceConfigurator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const inversify_1 = require("inversify");
|
|
6
|
+
const codiac_common_1 = require("@codiac.io/codiac-common");
|
|
7
|
+
const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
|
|
8
|
+
const codiac_relay_1 = require("../../apis/codiac-relay");
|
|
9
|
+
const contracts_1 = require("../../apis/codiac-api/contracts");
|
|
10
|
+
const ops_1 = require("../../ops");
|
|
11
|
+
const resource_configurator_base_1 = require("../shared/resource-configurator-base");
|
|
12
|
+
// import { CloudProviderUser, LogintoCloudProviderRequest } from "../../apis/codiac-relay/contracts";
|
|
13
|
+
// import { ICspLoginOptions } from "../../sdk";
|
|
14
|
+
let LocalMachineResourceConfigurator = class LocalMachineResourceConfigurator extends resource_configurator_base_1.ResourceConfiguratorBase {
|
|
15
|
+
constructor(codiacUser, genRelayClient, _ui, _styler, logger) {
|
|
16
|
+
super(codiacUser, genRelayClient, _ui, _styler, logger);
|
|
17
|
+
}
|
|
18
|
+
get cloudProvider() {
|
|
19
|
+
return contracts_1.CloudProviderEnum.localMachine;
|
|
20
|
+
}
|
|
21
|
+
// /* ***********************************************************************************
|
|
22
|
+
// * ___ _ _
|
|
23
|
+
// * / _ \ | | | |
|
|
24
|
+
// * / /_\ \_ _| |_| |__
|
|
25
|
+
// * | _ | | | | __| '_ \
|
|
26
|
+
// * | | | | |_| | |_| | | |
|
|
27
|
+
// * \_| |_/\__,_|\__|_| |_|
|
|
28
|
+
// *
|
|
29
|
+
// * ***********************************************************************************/
|
|
30
|
+
// public async promptToLogin(options?: ICspLoginOptions): Promise<[boolean, CloudProviderUser]> {
|
|
31
|
+
// this.logger.debug("No login required for ".concat(this.cloudProvider));
|
|
32
|
+
// const cspUser = <CloudProviderUser>{
|
|
33
|
+
// provider: this.cloudProvider,
|
|
34
|
+
// subscriptionId: "subx-placeholder-for-localMachine",
|
|
35
|
+
// tenantCode: this.codiacUser.tenantCode,
|
|
36
|
+
// username: options?.providedUserName ?? this.codiacUser.username,
|
|
37
|
+
// created: new Date(Date.now())
|
|
38
|
+
// }
|
|
39
|
+
// return [true, cspUser];
|
|
40
|
+
// }
|
|
41
|
+
// public async promptToLogout(): Promise<[boolean, string]> {
|
|
42
|
+
// const cspUserName = this.codiacUser.username;
|
|
43
|
+
// return [true, cspUserName]; // Just a pass-through. No authentication required for localMachine.
|
|
44
|
+
// }
|
|
45
|
+
// assembleLoginRequest(user: string | undefined, secret: string | undefined, subscriptionId: string | undefined, proprietaryInput: { [key: string]: any; }): LogintoCloudProviderRequest {
|
|
46
|
+
// return <LogintoCloudProviderRequest>{
|
|
47
|
+
// providerCode: this.cloudProvider,
|
|
48
|
+
// providerSubscription: subscriptionId,
|
|
49
|
+
// username: user,
|
|
50
|
+
// secret: secret
|
|
51
|
+
// }
|
|
52
|
+
// }
|
|
53
|
+
/* ***********************************************************************************
|
|
54
|
+
* _____ _ _
|
|
55
|
+
* / __ \ | | |
|
|
56
|
+
* | / \/ |_ _ ___| |_ ___ _ __
|
|
57
|
+
* | | | | | | / __| __/ _ \ '__|
|
|
58
|
+
* | \__/\ | |_| \__ \ || __/ |
|
|
59
|
+
* \____/_|\__,_|___/\__\___|_|
|
|
60
|
+
*
|
|
61
|
+
* ***********************************************************************************/
|
|
62
|
+
defineCluster(initial, defaults) {
|
|
63
|
+
var _a;
|
|
64
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
let output;
|
|
66
|
+
try {
|
|
67
|
+
let workingModel = {};
|
|
68
|
+
workingModel.provider = this.cloudProvider;
|
|
69
|
+
workingModel.privateOwner = this.codiacUser.tenantCode;
|
|
70
|
+
[initial, defaults] = yield this.applyClusterDefaults(workingModel, initial, defaults);
|
|
71
|
+
workingModel.thisMachine = true;
|
|
72
|
+
workingModel.locationName = "localMachine";
|
|
73
|
+
workingModel.providerSubscription = "not-applicable";
|
|
74
|
+
workingModel.providerGroup = "not-applicable";
|
|
75
|
+
workingModel.nodeSpec = "not-applicable";
|
|
76
|
+
workingModel.startingNodeCount = 1;
|
|
77
|
+
workingModel.name = yield this.promptForName(initial === null || initial === void 0 ? void 0 : initial.name);
|
|
78
|
+
// TODO: Set default from AKS (mark it in list, too)
|
|
79
|
+
// TODO: ask to change before prompting the list
|
|
80
|
+
workingModel.k8sVersion = yield this.promptForK8sVersion(workingModel.locationName, workingModel.providerSubscription, initial === null || initial === void 0 ? void 0 : initial.k8sVersion);
|
|
81
|
+
let spec = Object.assign({ name: workingModel.name, provider: workingModel.provider, providerSubscription: workingModel.providerSubscription, locationName: workingModel.locationName, providerGroup: workingModel.providerGroup, nodeCount: workingModel.nodeCount, ingressDef: workingModel.ingressDef, privateOwner: workingModel.privateOwner, nodeSpec: workingModel.nodeSpec, startingNodeCount: workingModel.startingNodeCount, identitySpec: (_a = workingModel.identitySpec) !== null && _a !== void 0 ? _a : { type: "", name: "" } }, this.createAuditable());
|
|
82
|
+
spec.k8sVersion = workingModel.k8sVersion;
|
|
83
|
+
if (workingModel.nodePools)
|
|
84
|
+
spec.nodePools = workingModel.nodePools;
|
|
85
|
+
if (workingModel.defaultFootprint)
|
|
86
|
+
spec.defaultFootprint = workingModel.defaultFootprint;
|
|
87
|
+
if (workingModel.startingNodeCount)
|
|
88
|
+
spec.startingNodeCount = workingModel.startingNodeCount;
|
|
89
|
+
if (workingModel.subnet)
|
|
90
|
+
spec.subnet = workingModel.subnet;
|
|
91
|
+
if (workingModel.windowsAdmin)
|
|
92
|
+
spec.windowsAdmin = workingModel.windowsAdmin;
|
|
93
|
+
if (workingModel.identityInstance)
|
|
94
|
+
spec.identityInstance = workingModel.identityInstance;
|
|
95
|
+
if (workingModel.thisMachine)
|
|
96
|
+
spec.thisMachine = workingModel.thisMachine;
|
|
97
|
+
return { spec: spec, defaults: defaults };
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
throw err;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
defineClusterCaptureParams(initial, rootMap, defaults) {
|
|
105
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
throw new Error("Capture of clusters on the local machine is not yet supported.");
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
LocalMachineResourceConfigurator = tslib_1.__decorate([
|
|
111
|
+
(0, inversify_1.injectable)(),
|
|
112
|
+
tslib_1.__param(0, (0, inversify_1.inject)(codiac_ops_common_1.UserNameTenantCode)),
|
|
113
|
+
tslib_1.__param(1, (0, inversify_1.inject)(codiac_relay_1.RelayClient)),
|
|
114
|
+
tslib_1.__param(2, (0, inversify_1.inject)(ops_1.INTERFACES_CLI.IUserInputProvider)),
|
|
115
|
+
tslib_1.__param(3, (0, inversify_1.inject)(ops_1.INTERFACES_CLI.IOutputStyler)),
|
|
116
|
+
tslib_1.__param(4, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
|
|
117
|
+
tslib_1.__metadata("design:paramtypes", [codiac_ops_common_1.UserNameTenantCode,
|
|
118
|
+
codiac_relay_1.RelayClient, Object, Object, Object])
|
|
119
|
+
], LocalMachineResourceConfigurator);
|
|
120
|
+
exports.LocalMachineResourceConfigurator = LocalMachineResourceConfigurator;
|
|
121
|
+
//# sourceMappingURL=local-machine-resource-configurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-machine-resource-configurator.js","sourceRoot":"","sources":["../../../src/sdk-adapters/local-machine/local-machine-resource-configurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IAuditable, IBetterLogger } from "@codiac.io/codiac-common";
|
|
2
|
+
import { UserNameTenantCode } from "@codiac.io/codiac-ops-common";
|
|
3
|
+
import { RelayClient as GenRelayClient } from "../../apis/codiac-relay";
|
|
4
|
+
import { IOutputStyler, IUserInputProvider } from "../../ops";
|
|
5
|
+
import { CloudProviderEnum, ClusterDef, RootMap } from "../../apis/codiac-api/contracts";
|
|
6
|
+
import { IClusterConfigurator } from "../../sdk";
|
|
7
|
+
import { ClusterCaptureDef } from "../../codiac-entities/cluster-capture-def";
|
|
8
|
+
export declare abstract class ResourceConfiguratorBase implements IClusterConfigurator {
|
|
9
|
+
protected codiacUser: UserNameTenantCode;
|
|
10
|
+
protected genRelayClient: GenRelayClient;
|
|
11
|
+
protected _ui: IUserInputProvider;
|
|
12
|
+
protected _styler: IOutputStyler;
|
|
13
|
+
protected logger: IBetterLogger;
|
|
14
|
+
constructor(codiacUser: UserNameTenantCode, genRelayClient: GenRelayClient, _ui: IUserInputProvider, _styler: IOutputStyler, logger: IBetterLogger);
|
|
15
|
+
abstract get cloudProvider(): CloudProviderEnum;
|
|
16
|
+
abstract defineCluster(workingModel: Partial<ClusterDef>, defaults?: Partial<ClusterDef> | undefined): Promise<{
|
|
17
|
+
spec: ClusterDef;
|
|
18
|
+
defaults: Partial<ClusterDef>;
|
|
19
|
+
}>;
|
|
20
|
+
abstract defineClusterCaptureParams(initial: Partial<ClusterDef>, rootMap: RootMap, defaults?: Partial<ClusterDef> | undefined): Promise<{
|
|
21
|
+
spec: ClusterCaptureDef;
|
|
22
|
+
defaults: Partial<ClusterDef>;
|
|
23
|
+
}>;
|
|
24
|
+
/** Applies defaults for this CSP */
|
|
25
|
+
protected applyClusterDefaults(workingModel: Partial<ClusterDef>, initial: Partial<ClusterDef>, defaults?: Partial<ClusterDef> | undefined): Promise<[Partial<ClusterDef>, Partial<ClusterDef>]>;
|
|
26
|
+
protected promptForName(current?: string | undefined): Promise<string>;
|
|
27
|
+
/** Asks the user whether to keep the default version, and if not presents a select list. */
|
|
28
|
+
protected promptForK8sVersion(location: string, providerSubscription: string, defaultK8sVersion?: string): Promise<string>;
|
|
29
|
+
protected createAuditable(): IAuditable;
|
|
30
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceConfiguratorBase = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const inversify_1 = require("inversify");
|
|
6
|
+
const _ = require("lodash");
|
|
7
|
+
const codiac_common_1 = require("@codiac.io/codiac-common");
|
|
8
|
+
const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
|
|
9
|
+
const codiac_relay_1 = require("../../apis/codiac-relay");
|
|
10
|
+
const ops_1 = require("../../ops");
|
|
11
|
+
let ResourceConfiguratorBase = class ResourceConfiguratorBase {
|
|
12
|
+
constructor(codiacUser, genRelayClient, _ui, _styler, logger) {
|
|
13
|
+
this.codiacUser = codiacUser;
|
|
14
|
+
this.genRelayClient = genRelayClient;
|
|
15
|
+
this._ui = _ui;
|
|
16
|
+
this._styler = _styler;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
/** Applies defaults for this CSP */
|
|
20
|
+
applyClusterDefaults(workingModel, initial, defaults) {
|
|
21
|
+
var _a, _b, _c;
|
|
22
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
let switchedCsp = Boolean(defaults !== undefined && (defaults.provider !== this.cloudProvider));
|
|
24
|
+
if (defaults === undefined || (defaults.provider !== this.cloudProvider)) {
|
|
25
|
+
let defaultResult = yield this.genRelayClient.Call.getClusterDefaults({ provider: this.cloudProvider });
|
|
26
|
+
if (defaultResult.error) {
|
|
27
|
+
this.logger.warn(`Error retrieving defaults for ${this.cloudProvider} cluster: ${(_a = defaultResult.error.name) !== null && _a !== void 0 ? _a : ""} ${(_b = defaultResult.error.message) !== null && _b !== void 0 ? _b : ""}`);
|
|
28
|
+
}
|
|
29
|
+
defaults = (_c = defaultResult.output) !== null && _c !== void 0 ? _c : {}; // fall back to an empty object if we failed, so that we dont keep looking this up on subsequent calls.
|
|
30
|
+
let assignment = (objVal, srcVal) => Boolean(srcVal === undefined) ? objVal : srcVal;
|
|
31
|
+
if (switchedCsp) {
|
|
32
|
+
initial = _.assignWith({}, defaults, workingModel, { name: initial.name }, assignment); // Throw out any prior cluster properties bc they were set for a diff provider.
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
initial = _.assignWith({}, defaults, initial, assignment);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return [initial, defaults];
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
promptForName(current) {
|
|
42
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
let ultimate;
|
|
44
|
+
let keepName = false;
|
|
45
|
+
if (current != undefined && !_.isEmpty(current)) {
|
|
46
|
+
// if (takeDefaults) {
|
|
47
|
+
// this._ui.userMessage("Cluster name: ".concat(this._styler.hilite(cluster.name)));
|
|
48
|
+
// } else {
|
|
49
|
+
keepName = yield this._ui.promptConfirm("nameConfirm", "Cluster name: ".concat(this._styler.hilite(current)), true);
|
|
50
|
+
if (keepName)
|
|
51
|
+
ultimate = current;
|
|
52
|
+
// }
|
|
53
|
+
}
|
|
54
|
+
if (!keepName || ultimate == undefined /* undef check is redundant, but its there for typescript */) {
|
|
55
|
+
do {
|
|
56
|
+
ultimate = (yield this._ui.prompt("name", "Cluster name: ", true, current));
|
|
57
|
+
} while (_.isEmpty(ultimate));
|
|
58
|
+
}
|
|
59
|
+
return ultimate;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/** Asks the user whether to keep the default version, and if not presents a select list. */
|
|
63
|
+
promptForK8sVersion(location, providerSubscription, defaultK8sVersion) {
|
|
64
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
let output;
|
|
68
|
+
try {
|
|
69
|
+
this._ui.startSpinner(`Loading K8s versions available in ${location} ...`);
|
|
70
|
+
let versResult = yield this.genRelayClient.Call.getAvailableK8sVersions({
|
|
71
|
+
provider: this.cloudProvider,
|
|
72
|
+
location: location,
|
|
73
|
+
subscriptionId: providerSubscription
|
|
74
|
+
});
|
|
75
|
+
if (versResult.error)
|
|
76
|
+
throw versResult.error;
|
|
77
|
+
let k8sVersions = (_b = (_a = versResult.output) === null || _a === void 0 ? void 0 : _a.map(x => x.k8sVersion)) !== null && _b !== void 0 ? _b : [];
|
|
78
|
+
this._ui.stopSpinner(`${k8sVersions.length} found`);
|
|
79
|
+
let keepVersion = false;
|
|
80
|
+
if (defaultK8sVersion && k8sVersions.indexOf(defaultK8sVersion) >= 0) {
|
|
81
|
+
keepVersion = yield this._ui.promptConfirm("keepVersion", `Kubernetes version: ${this._styler.hilite(defaultK8sVersion)} `);
|
|
82
|
+
}
|
|
83
|
+
if (keepVersion === true && defaultK8sVersion !== undefined) {
|
|
84
|
+
output = defaultK8sVersion;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
if (k8sVersions.length > 0) {
|
|
88
|
+
output = (yield this._ui.promptSelect("k8sVersion", "Kubernetes version: ", k8sVersions)); // defaults?.k8sVersion;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
output = (yield this._ui.prompt("k8sVersion", "Kubernetes version: ", true, defaultK8sVersion));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
resolve(output);
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
// this.logger.error(`${err.name ?? ''} ${err.message ?? ''}`, err.stack);
|
|
98
|
+
reject(err);
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
createAuditable() {
|
|
104
|
+
let stamp = new Date(Date.now());
|
|
105
|
+
return {
|
|
106
|
+
created: stamp,
|
|
107
|
+
createdBy: this.codiacUser.username,
|
|
108
|
+
modified: stamp,
|
|
109
|
+
modifiedBy: this.codiacUser.username
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
ResourceConfiguratorBase = tslib_1.__decorate([
|
|
114
|
+
(0, inversify_1.injectable)(),
|
|
115
|
+
tslib_1.__param(0, (0, inversify_1.inject)(codiac_ops_common_1.UserNameTenantCode)),
|
|
116
|
+
tslib_1.__param(1, (0, inversify_1.inject)(codiac_relay_1.RelayClient)),
|
|
117
|
+
tslib_1.__param(2, (0, inversify_1.inject)(ops_1.INTERFACES_CLI.IUserInputProvider)),
|
|
118
|
+
tslib_1.__param(3, (0, inversify_1.inject)(ops_1.INTERFACES_CLI.IOutputStyler)),
|
|
119
|
+
tslib_1.__param(4, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
|
|
120
|
+
tslib_1.__metadata("design:paramtypes", [codiac_ops_common_1.UserNameTenantCode,
|
|
121
|
+
codiac_relay_1.RelayClient, Object, Object, Object])
|
|
122
|
+
], ResourceConfiguratorBase);
|
|
123
|
+
exports.ResourceConfiguratorBase = ResourceConfiguratorBase;
|
|
124
|
+
//# sourceMappingURL=resource-configurator-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-configurator-base.js","sourceRoot":"","sources":["../../../src/sdk-adapters/shared/resource-configurator-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
|
|
2
|
-
import { LocalOps
|
|
2
|
+
import { LocalOps } from '../ops';
|
|
3
3
|
import { ProjectConfig } from "@codiac.io/codiac-relay-contracts";
|
|
4
4
|
import { IUserInputProvider } from '../ops';
|
|
5
|
+
import { ProjectContextRepo } from '../ops/data';
|
|
5
6
|
/** Acquires the build command sequence and output folder,
|
|
6
7
|
* and writes them to the codiac.json as needed.
|
|
7
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-configurator.js","sourceRoot":"","sources":["../../src/uilogic/build-configurator.ts"],"names":[],"mappings":";;;;AAAA,4BAA6B;AAC7B,kEAAiE;AAEjE,
|
|
1
|
+
{"version":3,"file":"build-configurator.js","sourceRoot":"","sources":["../../src/uilogic/build-configurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { interfaces } from "inversify";
|
|
2
|
-
import { RelayClient as GenRelayClient } from "../apis/codiac-relay";
|
|
3
2
|
import { LoginConfiguratorFactory } from "./cloud-resource-configurator-factory";
|
|
4
|
-
import {
|
|
3
|
+
import { RelayClient } from "../apis/codiac-relay";
|
|
5
4
|
import { CloudProviderEnum, CloudProviderUser, LogintoCloudProviderRequest } from "../apis/codiac-relay/contracts";
|
|
5
|
+
import { IOutputStyler, IUserInputProvider } from "../ops";
|
|
6
6
|
/** Prompts the user for a cloud resource provider,
|
|
7
7
|
* their credentials there, attempts a login,
|
|
8
8
|
* and then persists the credentials into the keyring under that tenant and provider.
|
|
@@ -11,11 +11,11 @@ import { CloudProviderEnum, CloudProviderUser, LogintoCloudProviderRequest } fro
|
|
|
11
11
|
* for the given provider if they are already authenticated.
|
|
12
12
|
*/
|
|
13
13
|
export declare class CloudProviderContextualizer {
|
|
14
|
-
private
|
|
14
|
+
private relayClient;
|
|
15
15
|
private loginUiFactory;
|
|
16
16
|
private _ui;
|
|
17
17
|
private _styler;
|
|
18
|
-
constructor(
|
|
18
|
+
constructor(relayClient: RelayClient, loginUiFactory: LoginConfiguratorFactory, _ui: IUserInputProvider, _styler: IOutputStyler);
|
|
19
19
|
takeDefaults: boolean;
|
|
20
20
|
private static isBootstrapped;
|
|
21
21
|
static bootstrap(ioc: interfaces.Container): void;
|
|
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.CloudProviderContextualizer = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const inversify_1 = require("inversify");
|
|
7
|
-
const codiac_relay_1 = require("../apis/codiac-relay");
|
|
8
7
|
const contracts_1 = require("@codiac.io/codiac-common/contracts");
|
|
9
8
|
const cloud_resource_configurator_factory_1 = require("./cloud-resource-configurator-factory");
|
|
10
|
-
const
|
|
9
|
+
const codiac_relay_1 = require("../apis/codiac-relay");
|
|
11
10
|
const contracts_2 = require("../apis/codiac-relay/contracts");
|
|
11
|
+
const sdk_1 = require("../sdk");
|
|
12
|
+
const ops_1 = require("../ops");
|
|
12
13
|
/** Prompts the user for a cloud resource provider,
|
|
13
14
|
* their credentials there, attempts a login,
|
|
14
15
|
* and then persists the credentials into the keyring under that tenant and provider.
|
|
@@ -17,8 +18,8 @@ const contracts_2 = require("../apis/codiac-relay/contracts");
|
|
|
17
18
|
* for the given provider if they are already authenticated.
|
|
18
19
|
*/
|
|
19
20
|
let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudProviderContextualizer {
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
21
|
+
constructor(relayClient, loginUiFactory, _ui, _styler) {
|
|
22
|
+
this.relayClient = relayClient;
|
|
22
23
|
this.loginUiFactory = loginUiFactory;
|
|
23
24
|
this._ui = _ui;
|
|
24
25
|
this._styler = _styler;
|
|
@@ -26,6 +27,13 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
|
|
|
26
27
|
}
|
|
27
28
|
static bootstrap(ioc) {
|
|
28
29
|
if (this.isBootstrapped !== true) {
|
|
30
|
+
let sdk = new sdk_1.CodiacSdkForCli(ioc);
|
|
31
|
+
// COMMENTED OUT BC THEYRE FUTURE AND THEY COLLIDE WITH EXISTING IOC REGISTRATIONS
|
|
32
|
+
// sdk.registerCspAdapter(AzureCliAdapter);
|
|
33
|
+
// sdk.registerCspAdapter(AwsCliAdapter);
|
|
34
|
+
// sdk.registerCspAdapter(DockerHubCliAdapter);
|
|
35
|
+
// sdk.registerCspAdapter(ArtifactHubCliAdapter);
|
|
36
|
+
// sdk.registerCspAdapter(LocalMachineCliAdapter);
|
|
29
37
|
cloud_resource_configurator_factory_1.LoginConfiguratorFactory.bootstrap(ioc);
|
|
30
38
|
if (!ioc.isBound(CloudProviderContextualizer_1)) {
|
|
31
39
|
ioc.bind(CloudProviderContextualizer_1).toSelf();
|
|
@@ -94,13 +102,13 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
|
|
|
94
102
|
// let regUser = await this.relayClient.getCurrentUserFor(providerCode);
|
|
95
103
|
let cachedCred;
|
|
96
104
|
// if (providerSubscriptionId) {
|
|
97
|
-
// let userResults = await this.
|
|
105
|
+
// let userResults = await this.RelayClient.Call.get_current_users_for({ providerCode: providerCode, providerSubscriptionId: providerSubscriptionId });
|
|
98
106
|
// if (userResults.error) throw userResults.error;
|
|
99
107
|
// regUser = userResults.output ? userResults.output[0] : undefined;
|
|
100
108
|
// } else {
|
|
101
109
|
let userResults = new contracts_1.ListResult(false);
|
|
102
110
|
if ((providerUserName == undefined || providerUserName.trim() == "") && (providerSecret == undefined || providerSecret.trim() == "")) { // Skip existing creds if they gave us a username and password
|
|
103
|
-
userResults = yield this.
|
|
111
|
+
userResults = yield this.relayClient.Call.get_current_users_for({ providerCode: providerCode, providerSubscriptionId: reqSubscriptionId });
|
|
104
112
|
if (userResults.error)
|
|
105
113
|
throw userResults.error;
|
|
106
114
|
}
|
|
@@ -137,7 +145,7 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
|
|
|
137
145
|
if (cachedCred && keep === true) {
|
|
138
146
|
this._ui.startSpinner(`Authenticating with ${providerCode}...`);
|
|
139
147
|
try {
|
|
140
|
-
const loginResult = yield this.
|
|
148
|
+
const loginResult = yield this.relayClient.Call.csp_login({ providerCode: providerCode, providerSubscription: cachedCred.subscriptionId }); // We already have creds, but let's validate with the service anyway (az cli is the only one who needs this bc it runs off a machine-user state and has to set the state on the local machine).
|
|
141
149
|
if (loginResult.error)
|
|
142
150
|
throw loginResult.error;
|
|
143
151
|
if (loginResult.output == undefined)
|
|
@@ -160,7 +168,14 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
|
|
|
160
168
|
let cspUser;
|
|
161
169
|
// if (suppressConfirmations)
|
|
162
170
|
let subx = (_b = cachedCred === null || cachedCred === void 0 ? void 0 : cachedCred.subscriptionId) !== null && _b !== void 0 ? _b : reqSubscriptionId;
|
|
163
|
-
|
|
171
|
+
let loginOptions = {
|
|
172
|
+
providerSubscriptionId: subx,
|
|
173
|
+
suppressConfirmations: suppressConfirmations,
|
|
174
|
+
providerUserName: providerUserName,
|
|
175
|
+
providerSecret: providerSecret,
|
|
176
|
+
proprietaryInput: proprietaryInput
|
|
177
|
+
};
|
|
178
|
+
[isAuthed, cspUser] = yield loginUi.promptToLogin(loginOptions);
|
|
164
179
|
if (!isAuthed)
|
|
165
180
|
throw new Error(`Login to ${providerCode} failed${providerUserName ? " for " + providerUserName : ""} ${subx ? " (subx:" + subx + ")" : ""}.`);
|
|
166
181
|
output = cspUser;
|
|
@@ -194,7 +209,7 @@ let CloudProviderContextualizer = CloudProviderContextualizer_1 = class CloudPro
|
|
|
194
209
|
var _a, _b, _c;
|
|
195
210
|
let output;
|
|
196
211
|
try {
|
|
197
|
-
let regUsers = yield this.
|
|
212
|
+
let regUsers = yield this.relayClient.Call.get_current_users_for({ providerCode: providerCode });
|
|
198
213
|
let regUser;
|
|
199
214
|
if (regUsers.output && (regUsers.output.length > 0)) {
|
|
200
215
|
if (regUsers.output.length == 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-provider-contextualizer.js","sourceRoot":"","sources":["../../src/uilogic/cloud-provider-contextualizer.ts"],"names":[],"mappings":";;;;;AAAA,yCAA2D;AAE3D,
|
|
1
|
+
{"version":3,"file":"cloud-provider-contextualizer.js","sourceRoot":"","sources":["../../src/uilogic/cloud-provider-contextualizer.ts"],"names":[],"mappings":"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"}
|