@codiac.io/codiac-cli 1.2.211 → 1.2.212
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 +4636 -4651
- package/bin/dev +16 -16
- package/bin/dev.cmd +2 -2
- package/bin/run +3 -3
- package/bin/run.cmd +3 -3
- package/codiac.json +9 -9
- package/dist/apis/codiac-api/common/api-client-base.d.ts +165 -165
- package/dist/apis/codiac-api/common/api-client-base.js +547 -547
- package/dist/apis/codiac-api/common/api-user-creds.d.ts +7 -7
- package/dist/apis/codiac-api/common/api-user-creds.js +18 -18
- package/dist/apis/codiac-api/common/config-loader.d.ts +6 -6
- package/dist/apis/codiac-api/common/config-loader.js +18 -18
- package/dist/apis/codiac-api/common/endpoint-spec.d.ts +17 -17
- package/dist/apis/codiac-api/common/endpoint-spec.js +27 -27
- package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +87 -87
- package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.js +367 -367
- package/dist/apis/codiac-api/common/security/auth-constants.d.ts +15 -15
- package/dist/apis/codiac-api/common/security/auth-constants.js +21 -21
- package/dist/apis/codiac-api/common/security/i-auth-client.d.ts +44 -44
- package/dist/apis/codiac-api/common/security/i-auth-client.js +2 -2
- package/dist/apis/codiac-api/common/security/token-holder.d.ts +13 -13
- package/dist/apis/codiac-api/common/security/token-holder.js +17 -17
- package/dist/apis/codiac-api/common/utils.d.ts +23 -23
- package/dist/apis/codiac-api/common/utils.js +82 -82
- package/dist/apis/codiac-api/contracts/index.d.ts +1 -1
- package/dist/apis/codiac-api/contracts/index.js +4 -4
- package/dist/apis/codiac-api/gen/client-config.d.ts +10 -10
- package/dist/apis/codiac-api/gen/client-config.js +28 -28
- package/dist/apis/codiac-api/gen/client.d.ts +1663 -1663
- package/dist/apis/codiac-api/gen/client.js +15629 -15629
- package/dist/apis/codiac-api/gen/contracts.d.ts +2722 -2722
- package/dist/apis/codiac-api/gen/contracts.js +402 -402
- package/dist/apis/codiac-api/index.d.ts +3 -3
- package/dist/apis/codiac-api/index.js +8 -8
- package/dist/apis/codiac-relay/common/api-client-base.d.ts +165 -165
- package/dist/apis/codiac-relay/common/api-client-base.js +547 -547
- package/dist/apis/codiac-relay/common/api-user-creds.d.ts +7 -7
- package/dist/apis/codiac-relay/common/api-user-creds.js +18 -18
- package/dist/apis/codiac-relay/common/config-loader.d.ts +6 -6
- package/dist/apis/codiac-relay/common/config-loader.js +18 -18
- package/dist/apis/codiac-relay/common/endpoint-spec.d.ts +17 -17
- package/dist/apis/codiac-relay/common/endpoint-spec.js +27 -27
- package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +87 -87
- package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.js +367 -367
- package/dist/apis/codiac-relay/common/security/auth-constants.d.ts +15 -15
- package/dist/apis/codiac-relay/common/security/auth-constants.js +21 -21
- package/dist/apis/codiac-relay/common/security/i-auth-client.d.ts +44 -44
- package/dist/apis/codiac-relay/common/security/i-auth-client.js +2 -2
- package/dist/apis/codiac-relay/common/security/token-holder.d.ts +13 -13
- package/dist/apis/codiac-relay/common/security/token-holder.js +17 -17
- package/dist/apis/codiac-relay/common/utils.d.ts +23 -23
- package/dist/apis/codiac-relay/common/utils.js +82 -82
- package/dist/apis/codiac-relay/contracts/index.d.ts +1 -1
- package/dist/apis/codiac-relay/contracts/index.js +4 -4
- package/dist/apis/codiac-relay/gen/client-config.d.ts +10 -10
- package/dist/apis/codiac-relay/gen/client-config.js +28 -28
- package/dist/apis/codiac-relay/gen/client.d.ts +244 -244
- package/dist/apis/codiac-relay/gen/client.js +1862 -1862
- package/dist/apis/codiac-relay/gen/contracts.d.ts +3113 -3113
- package/dist/apis/codiac-relay/gen/contracts.js +434 -434
- package/dist/apis/codiac-relay/index.d.ts +3 -3
- package/dist/apis/codiac-relay/index.js +8 -8
- package/dist/cli-common/ImagesList.js +66 -66
- package/dist/cli-common/argument-manager.d.ts +28 -28
- package/dist/cli-common/argument-manager.js +194 -194
- package/dist/cli-common/built-in-cli-user-input.d.ts +18 -18
- package/dist/cli-common/built-in-cli-user-input.js +309 -309
- package/dist/cli-common/cli-interfaces.js +6 -6
- package/dist/cli-common/command-base.d.ts +72 -72
- package/dist/cli-common/command-base.js +182 -182
- package/dist/cli-common/entities/index.d.ts +1 -1
- package/dist/cli-common/entities/index.js +4 -4
- package/dist/cli-common/entities/prompt-choice.d.ts +7 -7
- package/dist/cli-common/entities/prompt-choice.js +2 -2
- package/dist/cli-common/file-selector.d.ts +48 -48
- package/dist/cli-common/file-selector.js +186 -186
- package/dist/cli-common/i-user-input-provider.js +18 -18
- package/dist/cli-common/index.d.ts +4 -4
- package/dist/cli-common/index.js +10 -10
- package/dist/cli-common/mock-ui.d.ts +27 -27
- package/dist/cli-common/mock-ui.js +82 -82
- package/dist/cli-common/prompt-select-fuzzy.d.ts +19 -19
- package/dist/cli-common/prompt-select-fuzzy.js +118 -118
- package/dist/cli-common/tenant-contextualizer.js +435 -435
- package/dist/cli-common/test/tenant-contextualizer.spec.js +142 -142
- package/dist/cli-entities/output-format-enum.d.ts +7 -7
- package/dist/cli-entities/output-format-enum.js +11 -11
- package/dist/cli-entities/prompt-choice.js +5 -5
- package/dist/codiac-constants.d.ts +35 -35
- package/dist/codiac-constants.js +40 -40
- package/dist/codiac-entities/asset-binding.d.ts +12 -12
- package/dist/codiac-entities/asset-binding.js +17 -17
- package/dist/codiac-entities/azure-container-registry.d.ts +4 -4
- package/dist/codiac-entities/azure-container-registry.js +2 -2
- package/dist/codiac-entities/azure-service-principal.d.ts +23 -23
- package/dist/codiac-entities/azure-service-principal.js +23 -23
- package/dist/codiac-entities/cloud-account-ref.d.ts +28 -28
- package/dist/codiac-entities/cloud-account-ref.js +36 -36
- package/dist/codiac-entities/deployment-temp.js +132 -132
- package/dist/codiac-entities/i-cloud-account-ref.d.ts +5 -5
- package/dist/codiac-entities/i-cloud-account-ref.js +2 -2
- package/dist/command-base-enterprise.d.ts +121 -121
- package/dist/command-base-enterprise.js +523 -523
- package/dist/command-base-tenantless.d.ts +44 -44
- package/dist/command-base-tenantless.js +179 -179
- package/dist/commands/asset/create.d.ts +42 -42
- package/dist/commands/asset/create.js +475 -475
- package/dist/commands/asset/destroy.d.ts +20 -20
- package/dist/commands/asset/destroy.js +128 -128
- package/dist/commands/asset/helm.d.ts +23 -23
- package/dist/commands/asset/helm.js +152 -152
- package/dist/commands/asset/list.d.ts +28 -28
- package/dist/commands/asset/list.js +171 -171
- package/dist/commands/asset/probe/create.d.ts +38 -38
- package/dist/commands/asset/probe/create.js +186 -186
- package/dist/commands/asset/recycle.d.ts +23 -23
- package/dist/commands/asset/recycle.js +174 -174
- package/dist/commands/asset/view.d.ts +188 -188
- package/dist/commands/asset/view.js +1364 -1364
- package/dist/commands/asset/volume/create.d.ts +23 -23
- package/dist/commands/asset/volume/create.js +175 -175
- package/dist/commands/asset/volume/delete.d.ts +19 -19
- package/dist/commands/asset/volume/delete.js +111 -111
- package/dist/commands/asset/volume/list.d.ts +19 -19
- package/dist/commands/asset/volume/list.js +69 -69
- package/dist/commands/branch/current.d.ts +10 -10
- package/dist/commands/branch/current.js +33 -33
- package/dist/commands/branch/list.d.ts +15 -15
- package/dist/commands/branch/list.js +55 -55
- package/dist/commands/branch.d.ts +12 -12
- package/dist/commands/branch.js +41 -41
- package/dist/commands/build.d.ts +38 -38
- package/dist/commands/build.js +119 -119
- package/dist/commands/cabinet/create.d.ts +21 -21
- package/dist/commands/cabinet/create.js +107 -107
- package/dist/commands/cabinet/list.d.ts +23 -23
- package/dist/commands/cabinet/list.js +133 -133
- package/dist/commands/cabinet/obliterate.d.ts +20 -20
- package/dist/commands/cabinet/obliterate.js +82 -82
- package/dist/commands/cli.d.ts +10 -10
- package/dist/commands/cli.js +99 -99
- package/dist/commands/commit.d.ts +11 -11
- package/dist/commands/commit.js +39 -39
- package/dist/commands/config/add.d.ts +78 -78
- package/dist/commands/config/add.js +559 -559
- package/dist/commands/config/delete.d.ts +18 -18
- package/dist/commands/config/delete.js +118 -118
- package/dist/commands/config/deploy.d.ts +22 -22
- package/dist/commands/config/deploy.js +124 -124
- package/dist/commands/config/import.d.ts +27 -27
- package/dist/commands/config/import.js +195 -195
- package/dist/commands/config/view.d.ts +25 -25
- package/dist/commands/config/view.js +120 -120
- package/dist/commands/csp/login.d.ts +18 -18
- package/dist/commands/csp/login.js +122 -122
- package/dist/commands/csp/logout.d.ts +15 -15
- package/dist/commands/csp/logout.js +73 -73
- package/dist/commands/dep/create.d.ts +13 -13
- package/dist/commands/dep/create.js +40 -40
- package/dist/commands/dep/install.d.ts +9 -9
- package/dist/commands/dep/install.js +29 -29
- package/dist/commands/dep/list.d.ts +55 -55
- package/dist/commands/dep/list.js +97 -97
- package/dist/commands/dep/remove.d.ts +12 -12
- package/dist/commands/dep/remove.js +61 -61
- package/dist/commands/dep/source.d.ts +13 -13
- package/dist/commands/dep/source.js +82 -82
- package/dist/commands/dep/syncup.d.ts +11 -11
- package/dist/commands/dep/syncup.js +53 -53
- package/dist/commands/dep/unsource.d.ts +14 -14
- package/dist/commands/dep/unsource.js +67 -67
- package/dist/commands/dep/upgrade.d.ts +44 -44
- package/dist/commands/dep/upgrade.js +243 -243
- package/dist/commands/dep.d.ts +12 -12
- package/dist/commands/dep.js +50 -50
- package/dist/commands/deploy.d.ts +38 -38
- package/dist/commands/deploy.js +385 -385
- package/dist/commands/enterprise/create.d.ts +20 -20
- package/dist/commands/enterprise/create.js +97 -97
- package/dist/commands/enterprise/list.d.ts +14 -14
- package/dist/commands/enterprise/list.js +83 -83
- package/dist/commands/env/add.d.ts +22 -22
- package/dist/commands/env/add.js +199 -199
- package/dist/commands/environment/create.d.ts +19 -19
- package/dist/commands/environment/create.js +88 -88
- package/dist/commands/environment/list.d.ts +25 -25
- package/dist/commands/environment/list.js +157 -157
- package/dist/commands/filestore/capture.d.ts +31 -31
- package/dist/commands/filestore/capture.js +341 -341
- package/dist/commands/host/map.d.ts +33 -33
- package/dist/commands/host/map.js +346 -346
- package/dist/commands/identity/delete.d.ts +15 -15
- package/dist/commands/identity/delete.js +82 -82
- package/dist/commands/identity/list.d.ts +11 -11
- package/dist/commands/identity/list.js +42 -42
- package/dist/commands/identity.d.ts +22 -22
- package/dist/commands/identity.js +76 -76
- package/dist/commands/imageRegistry/capture.d.ts +27 -27
- package/dist/commands/imageRegistry/capture.js +159 -159
- package/dist/commands/imageRegistry/forget.d.ts +23 -23
- package/dist/commands/imageRegistry/forget.js +160 -160
- package/dist/commands/imageRegistry/pullSecret/set.d.ts +27 -27
- package/dist/commands/imageRegistry/pullSecret/set.js +299 -299
- package/dist/commands/imageRegistry/pullSecret/unset.d.ts +24 -24
- package/dist/commands/imageRegistry/pullSecret/unset.js +242 -242
- package/dist/commands/images/add.d.ts +25 -25
- package/dist/commands/images/add.js +75 -75
- package/dist/commands/images/list.d.ts +14 -14
- package/dist/commands/images/list.js +71 -71
- package/dist/commands/images/patch.d.ts +14 -14
- package/dist/commands/images/patch.js +92 -92
- package/dist/commands/images/remove.d.ts +12 -12
- package/dist/commands/images/remove.js +37 -37
- package/dist/commands/images/version/bump.d.ts +18 -18
- package/dist/commands/images/version/bump.js +60 -60
- package/dist/commands/images/version.d.ts +16 -16
- package/dist/commands/images/version.js +64 -64
- package/dist/commands/init.d.ts +17 -17
- package/dist/commands/init.js +130 -130
- package/dist/commands/kit/create.d.ts +25 -25
- package/dist/commands/kit/create.js +141 -141
- package/dist/commands/login.d.ts +22 -22
- package/dist/commands/login.js +92 -92
- package/dist/commands/logout.d.ts +8 -8
- package/dist/commands/logout.js +36 -36
- package/dist/commands/merge.d.ts +12 -12
- package/dist/commands/merge.js +42 -42
- package/dist/commands/noc/cluster/create.d.ts +28 -28
- package/dist/commands/noc/cluster/create.js +132 -132
- package/dist/commands/noc/cluster/deinit.d.ts +17 -17
- package/dist/commands/noc/cluster/deinit.js +116 -116
- package/dist/commands/noc/cluster/destroy.d.ts +20 -20
- package/dist/commands/noc/cluster/destroy.js +137 -137
- package/dist/commands/noc/cluster/forget.d.ts +16 -16
- package/dist/commands/noc/cluster/forget.js +136 -136
- package/dist/commands/noc/cluster/grant.d.ts +24 -24
- package/dist/commands/noc/cluster/grant.js +159 -159
- package/dist/commands/noc/cluster/init.d.ts +17 -17
- package/dist/commands/noc/cluster/init.js +116 -116
- package/dist/commands/noc/cluster/list.d.ts +21 -21
- package/dist/commands/noc/cluster/list.js +83 -83
- package/dist/commands/noc/cluster/recreate.d.ts +28 -28
- package/dist/commands/noc/cluster/recreate.js +185 -185
- package/dist/commands/pkg/add.d.ts +15 -15
- package/dist/commands/pkg/add.js +42 -42
- package/dist/commands/pkg/list.d.ts +9 -9
- package/dist/commands/pkg/list.js +32 -32
- package/dist/commands/pkg/patch.d.ts +13 -13
- package/dist/commands/pkg/patch.js +78 -78
- package/dist/commands/pkg/remove.d.ts +12 -12
- package/dist/commands/pkg/remove.js +69 -69
- package/dist/commands/portal.d.ts +11 -11
- package/dist/commands/portal.js +81 -81
- package/dist/commands/publish.d.ts +21 -21
- package/dist/commands/publish.js +51 -51
- package/dist/commands/pull.d.ts +13 -13
- package/dist/commands/pull.js +29 -29
- package/dist/commands/push.d.ts +13 -13
- package/dist/commands/push.js +29 -29
- package/dist/commands/run.d.ts +35 -35
- package/dist/commands/run.js +193 -193
- package/dist/commands/secretStore/capture.d.ts +27 -27
- package/dist/commands/secretStore/capture.js +174 -174
- package/dist/commands/secretStore/forget.d.ts +20 -20
- package/dist/commands/secretStore/forget.js +146 -146
- package/dist/commands/stage.d.ts +13 -13
- package/dist/commands/stage.js +64 -64
- package/dist/commands/stash.d.ts +13 -13
- package/dist/commands/stash.js +30 -30
- package/dist/commands/status.d.ts +12 -12
- package/dist/commands/status.js +48 -48
- package/dist/commands/stop.d.ts +10 -10
- package/dist/commands/stop.js +51 -51
- package/dist/commands/switch.d.ts +11 -11
- package/dist/commands/switch.js +41 -41
- package/dist/commands/sync.d.ts +14 -14
- package/dist/commands/sync.js +20 -20
- package/dist/commands/tenant/create.d.ts +27 -27
- package/dist/commands/tenant/create.js +119 -119
- package/dist/commands/tenant/switch.d.ts +24 -24
- package/dist/commands/tenant/switch.js +108 -108
- package/dist/commands/unstage.d.ts +12 -12
- package/dist/commands/unstage.js +57 -57
- package/dist/commands/whereami.d.ts +15 -15
- package/dist/commands/whereami.js +122 -122
- package/dist/commands/whoami.d.ts +8 -8
- package/dist/commands/whoami.js +39 -39
- package/dist/errors/NoMembershipError.d.ts +8 -8
- package/dist/errors/NoMembershipError.js +14 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.js +16 -16
- package/dist/log-update-wrapper.d.ts +24 -24
- package/dist/log-update-wrapper.js +28 -28
- package/dist/log4js-logger.d.ts +26 -26
- package/dist/log4js-logger.js +137 -137
- package/dist/ops/INTERFACES_CLI.d.ts +3 -3
- package/dist/ops/INTERFACES_CLI.js +7 -7
- package/dist/ops/LocalOps.d.ts +417 -417
- package/dist/ops/LocalOps.js +3121 -3121
- package/dist/ops/LocalOps.js.map +1 -1
- package/dist/ops/azure-container-registry-client/azure-container-registry-client.js +147 -147
- package/dist/ops/cli-path-walker.js +54 -54
- package/dist/ops/codiac-entities/dependency.d.ts +5 -5
- package/dist/ops/codiac-entities/dependency.js +10 -10
- package/dist/ops/codiac-entities/index.d.ts +1 -1
- package/dist/ops/codiac-entities/index.js +4 -4
- package/dist/ops/composite-image-registry-client.js +73 -73
- package/dist/ops/data/cli-context-repo.d.ts +61 -61
- package/dist/ops/data/cli-context-repo.js +269 -269
- package/dist/ops/data/index.d.ts +2 -2
- package/dist/ops/data/index.js +5 -5
- package/dist/ops/data/npm-config-repo.d.ts +13 -13
- package/dist/ops/data/npm-config-repo.js +64 -64
- package/dist/ops/docker-config.js +130 -130
- package/dist/ops/docker-constants.js +21 -21
- package/dist/ops/docker-credentials-store.js +237 -237
- package/dist/ops/docker-registry-api-client/docker-registry-api-client.js +288 -288
- package/dist/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -7
- package/dist/ops/docker-registry-api-client/entities/blob-sum.js +12 -12
- package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -5
- package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +9 -9
- package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -30
- package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +35 -35
- package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -55
- package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.js +51 -51
- package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -7
- package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.js +2 -2
- package/dist/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -31
- package/dist/ops/docker-registry-api-client/entities/image-repository.js +29 -29
- package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -8
- package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.js +13 -13
- package/dist/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -7
- package/dist/ops/docker-registry-api-client/entities/image-tag-list.js +12 -12
- package/dist/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -9
- package/dist/ops/docker-registry-api-client/entities/manifest-criteria.js +14 -14
- package/dist/ops/docker-registry-api-client/entities/manifest.d.ts +15 -15
- package/dist/ops/docker-registry-api-client/entities/manifest.js +20 -20
- package/dist/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -16
- package/dist/ops/docker-registry-api-client/entities/repository-criteria.js +23 -23
- package/dist/ops/docker-registry-api-client/entities/token-response.d.ts +15 -15
- package/dist/ops/docker-registry-api-client/entities/token-response.js +14 -14
- package/dist/ops/docker-registry-api-client/entities/token.d.ts +17 -17
- package/dist/ops/docker-registry-api-client/entities/token.js +21 -21
- package/dist/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -4
- package/dist/ops/docker-registry-api-client/entities/version-check-criteria.js +9 -9
- package/dist/ops/dx-constants.d.ts +26 -26
- package/dist/ops/dx-constants.js +42 -42
- package/dist/ops/entities/ImageBuildContext.d.ts +12 -12
- package/dist/ops/entities/ImageBuildContext.js +18 -18
- package/dist/ops/entities/PipelineContext.d.ts +21 -21
- package/dist/ops/entities/PipelineContext.js +22 -22
- package/dist/ops/entities/TenantContext.d.ts +10 -10
- package/dist/ops/entities/TenantContext.js +15 -15
- package/dist/ops/entities/ThaulConfig.js +29 -29
- package/dist/ops/entities/azure-service-principal.d.ts +23 -23
- package/dist/ops/entities/azure-service-principal.js +23 -23
- package/dist/ops/entities/better-logger.js +1 -1
- package/dist/ops/entities/branch.d.ts +13 -13
- package/dist/ops/entities/branch.js +15 -15
- package/dist/ops/entities/cli-config.d.ts +48 -48
- package/dist/ops/entities/cli-config.js +60 -60
- package/dist/ops/entities/docker-image.d.ts +60 -60
- package/dist/ops/entities/docker-image.js +2 -2
- package/dist/ops/entities/helm-spec.d.ts +15 -15
- package/dist/ops/entities/helm-spec.js +22 -22
- package/dist/ops/entities/index.d.ts +4 -4
- package/dist/ops/entities/index.js +11 -11
- package/dist/ops/entities/operation-meta.d.ts +8 -8
- package/dist/ops/entities/operation-meta.js +18 -18
- package/dist/ops/entities/scaffolding.d.ts +19 -19
- package/dist/ops/entities/scaffolding.js +20 -20
- package/dist/ops/extensions/azart-identity-adapter.d.ts +19 -19
- package/dist/ops/extensions/azart-identity-adapter.js +96 -96
- package/dist/ops/extensions/npm-identity-adapter-base.d.ts +13 -13
- package/dist/ops/extensions/npm-identity-adapter-base.js +2 -2
- package/dist/ops/extensions/npmjs-identity-adapter.d.ts +13 -13
- package/dist/ops/extensions/npmjs-identity-adapter.js +63 -63
- package/dist/ops/git-ops.d.ts +8 -8
- package/dist/ops/git-ops.js +13 -13
- package/dist/ops/i-client-for-image-registry.js +16 -16
- package/dist/ops/i-identity-handler.d.ts +33 -33
- package/dist/ops/i-identity-handler.js +164 -164
- package/dist/ops/i-output-styler.js +16 -16
- package/dist/ops/index.d.ts +12 -12
- package/dist/ops/index.js +14 -14
- package/dist/ops/json-utils.js +58 -58
- package/dist/ops/no-style-output-styler.js +29 -29
- package/dist/ops/oauth2-client.ts/oauth2-client.d.ts +23 -23
- package/dist/ops/oauth2-client.ts/oauth2-client.js +63 -63
- package/dist/ops/project-initializer.d.ts +36 -36
- package/dist/ops/project-initializer.js +218 -218
- package/dist/ops/scaffolding/base-scaffolding.d.ts +7 -7
- package/dist/ops/scaffolding/base-scaffolding.js +20 -20
- package/dist/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -7
- package/dist/ops/scaffolding/codiac-api-scaffolding.js +63 -63
- package/dist/ops/scaffolding/typescript-scaffolding.d.ts +15 -15
- package/dist/ops/scaffolding/typescript-scaffolding.js +162 -162
- package/dist/ops/test/mock-ui.d.ts +26 -26
- package/dist/ops/test/mock-ui.js +87 -87
- package/dist/ops/test/test-extensions.d.ts +13 -13
- package/dist/ops/test/test-extensions.js +70 -70
- package/dist/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -2
- package/dist/ops/test/when-a-recursive-file-search-is-run.spec.js +54 -54
- package/dist/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -2
- package/dist/ops/test/when-git-branchline-is-attempted.spec.js +37 -37
- package/dist/ops/test/when-versions-are-parsed.spec.d.ts +2 -2
- package/dist/ops/test/when-versions-are-parsed.spec.js +61 -61
- package/dist/ops/throwing-user-input-provider.js +36 -36
- package/dist/ops/workspace-versioner.d.ts +122 -122
- package/dist/ops/workspace-versioner.js +291 -291
- package/dist/prettify.d.ts +7 -7
- package/dist/prettify.js +23 -23
- package/dist/read-stdin.d.ts +2 -2
- package/dist/read-stdin.js +28 -28
- package/dist/relay/contracts/contracts.d.ts +207 -207
- package/dist/relay/contracts/contracts.js +229 -229
- package/dist/relay/extended-relay-client.d.ts +27 -27
- package/dist/relay/extended-relay-client.js +27 -27
- package/dist/relay/relay-container.d.ts +41 -41
- package/dist/relay/relay-container.js +297 -297
- package/dist/relay/wsclient/relay-socket-listener.d.ts +68 -68
- package/dist/relay/wsclient/relay-socket-listener.js +164 -164
- package/dist/relay/wsclient/relay-websocket-client.d.ts +33 -33
- package/dist/relay/wsclient/relay-websocket-client.js +178 -178
- package/dist/relay/wsclient/rx-websocket-subject.d.ts +25 -25
- package/dist/relay/wsclient/rx-websocket-subject.js +133 -133
- package/dist/relay/wsclient/socket-contracts.d.ts +22 -22
- package/dist/relay/wsclient/socket-contracts.js +2 -2
- package/dist/standard-probes.d.ts +5 -5
- package/dist/standard-probes.js +21 -21
- package/dist/uilogic/build-configurator.d.ts +21 -21
- package/dist/uilogic/build-configurator.js +110 -110
- package/dist/uilogic/cloud-provider-contextualizer.d.ts +46 -46
- package/dist/uilogic/cloud-provider-contextualizer.js +193 -193
- package/dist/uilogic/cloud-resource-configurator-factory.d.ts +41 -41
- package/dist/uilogic/cloud-resource-configurator-factory.js +157 -157
- package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +38 -38
- package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js +347 -347
- package/dist/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +77 -77
- package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +42 -42
- package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +247 -247
- package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +110 -110
- package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js +781 -781
- package/dist/uilogic/cloud-resource-configurators/azure-types.js +9 -9
- package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +24 -24
- package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +105 -105
- package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +16 -16
- package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.js +44 -44
- package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +18 -18
- package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +61 -61
- package/dist/uilogic/enterprise-contextualizer.d.ts +76 -76
- package/dist/uilogic/enterprise-contextualizer.js +670 -670
- package/dist/uilogic/environment-contextualizer.d.ts +15 -15
- package/dist/uilogic/environment-contextualizer.js +42 -42
- package/dist/uilogic/i-cluster-configurator.d.ts +9 -9
- package/dist/uilogic/i-cluster-configurator.js +2 -2
- package/dist/uilogic/i-login-configurator.d.ts +6 -6
- package/dist/uilogic/i-login-configurator.js +2 -2
- package/dist/uilogic/i-registry-configurator.d.ts +6 -6
- package/dist/uilogic/i-registry-configurator.js +2 -2
- package/dist/uilogic/i-secret-store-configurator.d.ts +7 -7
- package/dist/uilogic/i-secret-store-configurator.js +2 -2
- package/dist/uilogic/image-configurator.d.ts +133 -133
- package/dist/uilogic/image-configurator.js +577 -577
- package/dist/uilogic/image-contextualizer.d.ts +24 -24
- package/dist/uilogic/image-contextualizer.js +89 -89
- package/dist/uilogic/image-registry-contextualizer.d.ts +28 -28
- package/dist/uilogic/image-registry-contextualizer.js +126 -126
- package/dist/uilogic/index.d.ts +9 -9
- package/dist/uilogic/index.js +13 -13
- package/dist/uilogic/prompt-select-fuzzy.js +138 -138
- package/dist/uilogic/render-methods.d.ts +12 -12
- package/dist/uilogic/render-methods.js +64 -64
- package/dist/uilogic/tenant-contextualizer.d.ts +79 -79
- package/dist/uilogic/tenant-contextualizer.js +577 -577
- package/dist/user-context-loader.d.ts +60 -60
- package/dist/user-context-loader.js +183 -183
- package/oclif.manifest.json +1 -1
- package/package.json +151 -151
- package/scaffolding/api/.gitignore-scaffolding +68 -68
- package/scaffolding/api/.vscode/launch.json +16 -16
- package/scaffolding/api/.vscode/settings.json +7 -7
- package/scaffolding/api/.vscode/tasks.json +15 -15
- package/scaffolding/api/src/app-config.json +2 -2
- package/scaffolding/api/src/index.ts-scaffolding +13 -13
- package/scaffolding/api/src/myApiDef.ts-scaffolding +25 -25
- package/scaffolding/default/.gitignore-scaffolding +2 -2
- package/scaffolding/typescript/.gitignore-scaffolding +69 -69
- package/scaffolding/typescript/.vscode/launch.json +16 -16
- package/scaffolding/typescript/.vscode/settings.json +7 -7
- package/scaffolding/typescript/.vscode/tasks.json +15 -15
- package/lib/api-command-base.d.ts +0 -0
- package/lib/api-command-base.js +0 -52
- package/lib/api-command-base.js.map +0 -1
- package/lib/apis/codiac-api/common/api-client-base.d.ts +0 -165
- package/lib/apis/codiac-api/common/api-client-base.js +0 -548
- package/lib/apis/codiac-api/common/api-client-base.js.map +0 -1
- package/lib/apis/codiac-api/common/api-user-creds.d.ts +0 -7
- package/lib/apis/codiac-api/common/api-user-creds.js +0 -19
- package/lib/apis/codiac-api/common/api-user-creds.js.map +0 -1
- package/lib/apis/codiac-api/common/config-loader.d.ts +0 -6
- package/lib/apis/codiac-api/common/config-loader.js +0 -19
- package/lib/apis/codiac-api/common/config-loader.js.map +0 -1
- package/lib/apis/codiac-api/common/endpoint-spec.d.ts +0 -17
- package/lib/apis/codiac-api/common/endpoint-spec.js +0 -28
- package/lib/apis/codiac-api/common/endpoint-spec.js.map +0 -1
- package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +0 -87
- package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js +0 -368
- package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js.map +0 -1
- package/lib/apis/codiac-api/common/security/auth-constants.d.ts +0 -15
- package/lib/apis/codiac-api/common/security/auth-constants.js +0 -22
- package/lib/apis/codiac-api/common/security/auth-constants.js.map +0 -1
- package/lib/apis/codiac-api/common/security/i-auth-client.d.ts +0 -44
- package/lib/apis/codiac-api/common/security/i-auth-client.js +0 -3
- package/lib/apis/codiac-api/common/security/i-auth-client.js.map +0 -1
- package/lib/apis/codiac-api/common/security/token-holder.d.ts +0 -13
- package/lib/apis/codiac-api/common/security/token-holder.js +0 -18
- package/lib/apis/codiac-api/common/security/token-holder.js.map +0 -1
- package/lib/apis/codiac-api/common/utils.d.ts +0 -23
- package/lib/apis/codiac-api/common/utils.js +0 -83
- package/lib/apis/codiac-api/common/utils.js.map +0 -1
- package/lib/apis/codiac-api/contracts/index.d.ts +0 -1
- package/lib/apis/codiac-api/contracts/index.js +0 -5
- package/lib/apis/codiac-api/contracts/index.js.map +0 -1
- package/lib/apis/codiac-api/gen/client-config.d.ts +0 -10
- package/lib/apis/codiac-api/gen/client-config.js +0 -29
- package/lib/apis/codiac-api/gen/client-config.js.map +0 -1
- package/lib/apis/codiac-api/gen/client.d.ts +0 -1663
- package/lib/apis/codiac-api/gen/client.js +0 -15630
- package/lib/apis/codiac-api/gen/client.js.map +0 -1
- package/lib/apis/codiac-api/gen/contracts.d.ts +0 -2722
- package/lib/apis/codiac-api/gen/contracts.js +0 -403
- package/lib/apis/codiac-api/gen/contracts.js.map +0 -1
- package/lib/apis/codiac-api/index.d.ts +0 -3
- package/lib/apis/codiac-api/index.js +0 -9
- package/lib/apis/codiac-api/index.js.map +0 -1
- package/lib/apis/codiac-relay/common/api-client-base.d.ts +0 -165
- package/lib/apis/codiac-relay/common/api-client-base.js +0 -548
- package/lib/apis/codiac-relay/common/api-client-base.js.map +0 -1
- package/lib/apis/codiac-relay/common/api-user-creds.d.ts +0 -7
- package/lib/apis/codiac-relay/common/api-user-creds.js +0 -19
- package/lib/apis/codiac-relay/common/api-user-creds.js.map +0 -1
- package/lib/apis/codiac-relay/common/config-loader.d.ts +0 -6
- package/lib/apis/codiac-relay/common/config-loader.js +0 -19
- package/lib/apis/codiac-relay/common/config-loader.js.map +0 -1
- package/lib/apis/codiac-relay/common/endpoint-spec.d.ts +0 -17
- package/lib/apis/codiac-relay/common/endpoint-spec.js +0 -28
- package/lib/apis/codiac-relay/common/endpoint-spec.js.map +0 -1
- package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +0 -87
- package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js +0 -368
- package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js.map +0 -1
- package/lib/apis/codiac-relay/common/security/auth-constants.d.ts +0 -15
- package/lib/apis/codiac-relay/common/security/auth-constants.js +0 -22
- package/lib/apis/codiac-relay/common/security/auth-constants.js.map +0 -1
- package/lib/apis/codiac-relay/common/security/i-auth-client.d.ts +0 -44
- package/lib/apis/codiac-relay/common/security/i-auth-client.js +0 -3
- package/lib/apis/codiac-relay/common/security/i-auth-client.js.map +0 -1
- package/lib/apis/codiac-relay/common/security/token-holder.d.ts +0 -13
- package/lib/apis/codiac-relay/common/security/token-holder.js +0 -18
- package/lib/apis/codiac-relay/common/security/token-holder.js.map +0 -1
- package/lib/apis/codiac-relay/common/utils.d.ts +0 -23
- package/lib/apis/codiac-relay/common/utils.js +0 -83
- package/lib/apis/codiac-relay/common/utils.js.map +0 -1
- package/lib/apis/codiac-relay/contracts/index.d.ts +0 -1
- package/lib/apis/codiac-relay/contracts/index.js +0 -5
- package/lib/apis/codiac-relay/contracts/index.js.map +0 -1
- package/lib/apis/codiac-relay/gen/client-config.d.ts +0 -10
- package/lib/apis/codiac-relay/gen/client-config.js +0 -29
- package/lib/apis/codiac-relay/gen/client-config.js.map +0 -1
- package/lib/apis/codiac-relay/gen/client.d.ts +0 -244
- package/lib/apis/codiac-relay/gen/client.js +0 -1863
- package/lib/apis/codiac-relay/gen/client.js.map +0 -1
- package/lib/apis/codiac-relay/gen/contracts.d.ts +0 -3111
- package/lib/apis/codiac-relay/gen/contracts.js +0 -435
- package/lib/apis/codiac-relay/gen/contracts.js.map +0 -1
- package/lib/apis/codiac-relay/index.d.ts +0 -3
- package/lib/apis/codiac-relay/index.js +0 -9
- package/lib/apis/codiac-relay/index.js.map +0 -1
- package/lib/azure-rest-client.d.ts +0 -6
- package/lib/azure-rest-client.js +0 -36
- package/lib/azure-rest-client.js.map +0 -1
- package/lib/cli-common/ImagesList.d.ts +0 -0
- package/lib/cli-common/ImagesList.js +0 -67
- package/lib/cli-common/ImagesList.js.map +0 -1
- package/lib/cli-common/argument-manager.d.ts +0 -28
- package/lib/cli-common/argument-manager.js +0 -195
- package/lib/cli-common/argument-manager.js.map +0 -1
- package/lib/cli-common/built-in-cli-user-input.d.ts +0 -18
- package/lib/cli-common/built-in-cli-user-input.js +0 -310
- package/lib/cli-common/built-in-cli-user-input.js.map +0 -1
- package/lib/cli-common/cli-interfaces.d.ts +0 -0
- package/lib/cli-common/cli-interfaces.js +0 -7
- package/lib/cli-common/cli-interfaces.js.map +0 -1
- package/lib/cli-common/command-base.d.ts +0 -72
- package/lib/cli-common/command-base.js +0 -182
- package/lib/cli-common/command-base.js.map +0 -1
- package/lib/cli-common/entities/index.d.ts +0 -1
- package/lib/cli-common/entities/index.js +0 -5
- package/lib/cli-common/entities/index.js.map +0 -1
- package/lib/cli-common/entities/prompt-choice.d.ts +0 -7
- package/lib/cli-common/entities/prompt-choice.js +0 -3
- package/lib/cli-common/entities/prompt-choice.js.map +0 -1
- package/lib/cli-common/file-selector.d.ts +0 -48
- package/lib/cli-common/file-selector.js +0 -187
- package/lib/cli-common/file-selector.js.map +0 -1
- package/lib/cli-common/i-user-input-provider.d.ts +0 -0
- package/lib/cli-common/i-user-input-provider.js +0 -19
- package/lib/cli-common/i-user-input-provider.js.map +0 -1
- package/lib/cli-common/index.d.ts +0 -4
- package/lib/cli-common/index.js +0 -11
- package/lib/cli-common/index.js.map +0 -1
- package/lib/cli-common/mock-ui.d.ts +0 -27
- package/lib/cli-common/mock-ui.js +0 -83
- package/lib/cli-common/mock-ui.js.map +0 -1
- package/lib/cli-common/prompt-select-fuzzy.d.ts +0 -19
- package/lib/cli-common/prompt-select-fuzzy.js +0 -119
- package/lib/cli-common/prompt-select-fuzzy.js.map +0 -1
- package/lib/cli-common/tenant-contextualizer.d.ts +0 -0
- package/lib/cli-common/tenant-contextualizer.js +0 -436
- package/lib/cli-common/tenant-contextualizer.js.map +0 -1
- package/lib/cli-common/test/tenant-contextualizer.spec.d.ts +0 -0
- package/lib/cli-common/test/tenant-contextualizer.spec.js +0 -143
- package/lib/cli-common/test/tenant-contextualizer.spec.js.map +0 -1
- package/lib/cli-entities/output-format-enum.d.ts +0 -7
- package/lib/cli-entities/output-format-enum.js +0 -12
- package/lib/cli-entities/output-format-enum.js.map +0 -1
- package/lib/cli-entities/prompt-choice.d.ts +0 -0
- package/lib/cli-entities/prompt-choice.js +0 -6
- package/lib/cli-entities/prompt-choice.js.map +0 -1
- package/lib/codiac-constants.d.ts +0 -35
- package/lib/codiac-constants.js +0 -41
- package/lib/codiac-constants.js.map +0 -1
- package/lib/codiac-entities/asset-binding.d.ts +0 -12
- package/lib/codiac-entities/asset-binding.js +0 -18
- package/lib/codiac-entities/asset-binding.js.map +0 -1
- package/lib/codiac-entities/azure-container-registry.d.ts +0 -4
- package/lib/codiac-entities/azure-container-registry.js +0 -3
- package/lib/codiac-entities/azure-container-registry.js.map +0 -1
- package/lib/codiac-entities/azure-service-principal.d.ts +0 -23
- package/lib/codiac-entities/azure-service-principal.js +0 -24
- package/lib/codiac-entities/azure-service-principal.js.map +0 -1
- package/lib/codiac-entities/cloud-account-ref.d.ts +0 -28
- package/lib/codiac-entities/cloud-account-ref.js +0 -37
- package/lib/codiac-entities/cloud-account-ref.js.map +0 -1
- package/lib/codiac-entities/deployment-temp.d.ts +0 -0
- package/lib/codiac-entities/deployment-temp.js +0 -133
- package/lib/codiac-entities/deployment-temp.js.map +0 -1
- package/lib/codiac-entities/i-cloud-account-ref.d.ts +0 -5
- package/lib/codiac-entities/i-cloud-account-ref.js +0 -3
- package/lib/codiac-entities/i-cloud-account-ref.js.map +0 -1
- package/lib/command-base-enterprise.d.ts +0 -121
- package/lib/command-base-enterprise.js +0 -524
- package/lib/command-base-enterprise.js.map +0 -1
- package/lib/command-base-tenantless.d.ts +0 -44
- package/lib/command-base-tenantless.js +0 -180
- package/lib/command-base-tenantless.js.map +0 -1
- package/lib/commands/asset/create.d.ts +0 -42
- package/lib/commands/asset/create.js +0 -467
- package/lib/commands/asset/create.js.map +0 -1
- package/lib/commands/asset/destroy.d.ts +0 -20
- package/lib/commands/asset/destroy.js +0 -129
- package/lib/commands/asset/destroy.js.map +0 -1
- package/lib/commands/asset/helm.d.ts +0 -23
- package/lib/commands/asset/helm.js +0 -153
- package/lib/commands/asset/helm.js.map +0 -1
- package/lib/commands/asset/list.d.ts +0 -28
- package/lib/commands/asset/list.js +0 -172
- package/lib/commands/asset/list.js.map +0 -1
- package/lib/commands/asset/probe/create.d.ts +0 -38
- package/lib/commands/asset/probe/create.js +0 -187
- package/lib/commands/asset/probe/create.js.map +0 -1
- package/lib/commands/asset/recycle.d.ts +0 -23
- package/lib/commands/asset/recycle.js +0 -175
- package/lib/commands/asset/recycle.js.map +0 -1
- package/lib/commands/asset/view.d.ts +0 -188
- package/lib/commands/asset/view.js +0 -1365
- package/lib/commands/asset/view.js.map +0 -1
- package/lib/commands/asset/volume/create.d.ts +0 -23
- package/lib/commands/asset/volume/create.js +0 -176
- package/lib/commands/asset/volume/create.js.map +0 -1
- package/lib/commands/asset/volume/delete.d.ts +0 -19
- package/lib/commands/asset/volume/delete.js +0 -112
- package/lib/commands/asset/volume/delete.js.map +0 -1
- package/lib/commands/asset/volume/list.d.ts +0 -19
- package/lib/commands/asset/volume/list.js +0 -70
- package/lib/commands/asset/volume/list.js.map +0 -1
- package/lib/commands/branch/current.d.ts +0 -10
- package/lib/commands/branch/current.js +0 -34
- package/lib/commands/branch/current.js.map +0 -1
- package/lib/commands/branch/list.d.ts +0 -15
- package/lib/commands/branch/list.js +0 -56
- package/lib/commands/branch/list.js.map +0 -1
- package/lib/commands/branch.d.ts +0 -12
- package/lib/commands/branch.js +0 -42
- package/lib/commands/branch.js.map +0 -1
- package/lib/commands/build.d.ts +0 -38
- package/lib/commands/build.js +0 -120
- package/lib/commands/build.js.map +0 -1
- package/lib/commands/cabinet/create.d.ts +0 -21
- package/lib/commands/cabinet/create.js +0 -108
- package/lib/commands/cabinet/create.js.map +0 -1
- package/lib/commands/cabinet/list.d.ts +0 -23
- package/lib/commands/cabinet/list.js +0 -134
- package/lib/commands/cabinet/list.js.map +0 -1
- package/lib/commands/cabinet/obliterate.d.ts +0 -20
- package/lib/commands/cabinet/obliterate.js +0 -83
- package/lib/commands/cabinet/obliterate.js.map +0 -1
- package/lib/commands/cli.d.ts +0 -10
- package/lib/commands/cli.js +0 -100
- package/lib/commands/cli.js.map +0 -1
- package/lib/commands/commit.d.ts +0 -11
- package/lib/commands/commit.js +0 -40
- package/lib/commands/commit.js.map +0 -1
- package/lib/commands/config/add.d.ts +0 -78
- package/lib/commands/config/add.js +0 -560
- package/lib/commands/config/add.js.map +0 -1
- package/lib/commands/config/delete.d.ts +0 -18
- package/lib/commands/config/delete.js +0 -119
- package/lib/commands/config/delete.js.map +0 -1
- package/lib/commands/config/deploy.d.ts +0 -22
- package/lib/commands/config/deploy.js +0 -125
- package/lib/commands/config/deploy.js.map +0 -1
- package/lib/commands/config/import.d.ts +0 -27
- package/lib/commands/config/import.js +0 -196
- package/lib/commands/config/import.js.map +0 -1
- package/lib/commands/config/view.d.ts +0 -25
- package/lib/commands/config/view.js +0 -121
- package/lib/commands/config/view.js.map +0 -1
- package/lib/commands/csp/login.d.ts +0 -18
- package/lib/commands/csp/login.js +0 -123
- package/lib/commands/csp/login.js.map +0 -1
- package/lib/commands/csp/logout.d.ts +0 -15
- package/lib/commands/csp/logout.js +0 -74
- package/lib/commands/csp/logout.js.map +0 -1
- package/lib/commands/dep/create.d.ts +0 -13
- package/lib/commands/dep/create.js +0 -41
- package/lib/commands/dep/create.js.map +0 -1
- package/lib/commands/dep/install.d.ts +0 -9
- package/lib/commands/dep/install.js +0 -30
- package/lib/commands/dep/install.js.map +0 -1
- package/lib/commands/dep/list.d.ts +0 -55
- package/lib/commands/dep/list.js +0 -98
- package/lib/commands/dep/list.js.map +0 -1
- package/lib/commands/dep/remove.d.ts +0 -12
- package/lib/commands/dep/remove.js +0 -62
- package/lib/commands/dep/remove.js.map +0 -1
- package/lib/commands/dep/source.d.ts +0 -13
- package/lib/commands/dep/source.js +0 -83
- package/lib/commands/dep/source.js.map +0 -1
- package/lib/commands/dep/syncup.d.ts +0 -11
- package/lib/commands/dep/syncup.js +0 -54
- package/lib/commands/dep/syncup.js.map +0 -1
- package/lib/commands/dep/unsource.d.ts +0 -14
- package/lib/commands/dep/unsource.js +0 -68
- package/lib/commands/dep/unsource.js.map +0 -1
- package/lib/commands/dep/upgrade.d.ts +0 -44
- package/lib/commands/dep/upgrade.js +0 -244
- package/lib/commands/dep/upgrade.js.map +0 -1
- package/lib/commands/dep.d.ts +0 -12
- package/lib/commands/dep.js +0 -51
- package/lib/commands/dep.js.map +0 -1
- package/lib/commands/deploy.d.ts +0 -38
- package/lib/commands/deploy.js +0 -386
- package/lib/commands/deploy.js.map +0 -1
- package/lib/commands/enterprise/create.d.ts +0 -20
- package/lib/commands/enterprise/create.js +0 -98
- package/lib/commands/enterprise/create.js.map +0 -1
- package/lib/commands/enterprise/list.d.ts +0 -14
- package/lib/commands/enterprise/list.js +0 -84
- package/lib/commands/enterprise/list.js.map +0 -1
- package/lib/commands/env/add.d.ts +0 -22
- package/lib/commands/env/add.js +0 -200
- package/lib/commands/env/add.js.map +0 -1
- package/lib/commands/environment/create.d.ts +0 -19
- package/lib/commands/environment/create.js +0 -89
- package/lib/commands/environment/create.js.map +0 -1
- package/lib/commands/environment/list.d.ts +0 -25
- package/lib/commands/environment/list.js +0 -158
- package/lib/commands/environment/list.js.map +0 -1
- package/lib/commands/filestore/capture.d.ts +0 -31
- package/lib/commands/filestore/capture.js +0 -342
- package/lib/commands/filestore/capture.js.map +0 -1
- package/lib/commands/host/map.d.ts +0 -33
- package/lib/commands/host/map.js +0 -347
- package/lib/commands/host/map.js.map +0 -1
- package/lib/commands/identity/delete.d.ts +0 -15
- package/lib/commands/identity/delete.js +0 -83
- package/lib/commands/identity/delete.js.map +0 -1
- package/lib/commands/identity/list.d.ts +0 -11
- package/lib/commands/identity/list.js +0 -43
- package/lib/commands/identity/list.js.map +0 -1
- package/lib/commands/identity.d.ts +0 -22
- package/lib/commands/identity.js +0 -77
- package/lib/commands/identity.js.map +0 -1
- package/lib/commands/imageRegistry/capture.d.ts +0 -27
- package/lib/commands/imageRegistry/capture.js +0 -160
- package/lib/commands/imageRegistry/capture.js.map +0 -1
- package/lib/commands/imageRegistry/forget.d.ts +0 -23
- package/lib/commands/imageRegistry/forget.js +0 -161
- package/lib/commands/imageRegistry/forget.js.map +0 -1
- package/lib/commands/imageRegistry/pullSecret/set.d.ts +0 -27
- package/lib/commands/imageRegistry/pullSecret/set.js +0 -300
- package/lib/commands/imageRegistry/pullSecret/set.js.map +0 -1
- package/lib/commands/imageRegistry/pullSecret/unset.d.ts +0 -24
- package/lib/commands/imageRegistry/pullSecret/unset.js +0 -243
- package/lib/commands/imageRegistry/pullSecret/unset.js.map +0 -1
- package/lib/commands/images/add.d.ts +0 -25
- package/lib/commands/images/add.js +0 -76
- package/lib/commands/images/add.js.map +0 -1
- package/lib/commands/images/list.d.ts +0 -14
- package/lib/commands/images/list.js +0 -72
- package/lib/commands/images/list.js.map +0 -1
- package/lib/commands/images/patch.d.ts +0 -14
- package/lib/commands/images/patch.js +0 -93
- package/lib/commands/images/patch.js.map +0 -1
- package/lib/commands/images/remove.d.ts +0 -12
- package/lib/commands/images/remove.js +0 -38
- package/lib/commands/images/remove.js.map +0 -1
- package/lib/commands/images/version/bump.d.ts +0 -18
- package/lib/commands/images/version/bump.js +0 -61
- package/lib/commands/images/version/bump.js.map +0 -1
- package/lib/commands/images/version.d.ts +0 -16
- package/lib/commands/images/version.js +0 -65
- package/lib/commands/images/version.js.map +0 -1
- package/lib/commands/init.d.ts +0 -17
- package/lib/commands/init.js +0 -131
- package/lib/commands/init.js.map +0 -1
- package/lib/commands/kit/create.d.ts +0 -25
- package/lib/commands/kit/create.js +0 -142
- package/lib/commands/kit/create.js.map +0 -1
- package/lib/commands/login.d.ts +0 -22
- package/lib/commands/login.js +0 -93
- package/lib/commands/login.js.map +0 -1
- package/lib/commands/logout.d.ts +0 -8
- package/lib/commands/logout.js +0 -37
- package/lib/commands/logout.js.map +0 -1
- package/lib/commands/merge.d.ts +0 -12
- package/lib/commands/merge.js +0 -43
- package/lib/commands/merge.js.map +0 -1
- package/lib/commands/noc/cluster/create.d.ts +0 -28
- package/lib/commands/noc/cluster/create.js +0 -133
- package/lib/commands/noc/cluster/create.js.map +0 -1
- package/lib/commands/noc/cluster/deinit.d.ts +0 -17
- package/lib/commands/noc/cluster/deinit.js +0 -117
- package/lib/commands/noc/cluster/deinit.js.map +0 -1
- package/lib/commands/noc/cluster/destroy.d.ts +0 -20
- package/lib/commands/noc/cluster/destroy.js +0 -138
- package/lib/commands/noc/cluster/destroy.js.map +0 -1
- package/lib/commands/noc/cluster/forget.d.ts +0 -16
- package/lib/commands/noc/cluster/forget.js +0 -137
- package/lib/commands/noc/cluster/forget.js.map +0 -1
- package/lib/commands/noc/cluster/grant.d.ts +0 -24
- package/lib/commands/noc/cluster/grant.js +0 -160
- package/lib/commands/noc/cluster/grant.js.map +0 -1
- package/lib/commands/noc/cluster/init.d.ts +0 -17
- package/lib/commands/noc/cluster/init.js +0 -117
- package/lib/commands/noc/cluster/init.js.map +0 -1
- package/lib/commands/noc/cluster/list.d.ts +0 -21
- package/lib/commands/noc/cluster/list.js +0 -84
- package/lib/commands/noc/cluster/list.js.map +0 -1
- package/lib/commands/noc/cluster/recreate.d.ts +0 -28
- package/lib/commands/noc/cluster/recreate.js +0 -186
- package/lib/commands/noc/cluster/recreate.js.map +0 -1
- package/lib/commands/pkg/add.d.ts +0 -15
- package/lib/commands/pkg/add.js +0 -43
- package/lib/commands/pkg/add.js.map +0 -1
- package/lib/commands/pkg/list.d.ts +0 -9
- package/lib/commands/pkg/list.js +0 -33
- package/lib/commands/pkg/list.js.map +0 -1
- package/lib/commands/pkg/patch.d.ts +0 -13
- package/lib/commands/pkg/patch.js +0 -79
- package/lib/commands/pkg/patch.js.map +0 -1
- package/lib/commands/pkg/remove.d.ts +0 -12
- package/lib/commands/pkg/remove.js +0 -70
- package/lib/commands/pkg/remove.js.map +0 -1
- package/lib/commands/portal.d.ts +0 -11
- package/lib/commands/portal.js +0 -82
- package/lib/commands/portal.js.map +0 -1
- package/lib/commands/publish.d.ts +0 -21
- package/lib/commands/publish.js +0 -52
- package/lib/commands/publish.js.map +0 -1
- package/lib/commands/pull.d.ts +0 -13
- package/lib/commands/pull.js +0 -30
- package/lib/commands/pull.js.map +0 -1
- package/lib/commands/push.d.ts +0 -13
- package/lib/commands/push.js +0 -30
- package/lib/commands/push.js.map +0 -1
- package/lib/commands/run.d.ts +0 -35
- package/lib/commands/run.js +0 -194
- package/lib/commands/run.js.map +0 -1
- package/lib/commands/secretStore/capture.d.ts +0 -27
- package/lib/commands/secretStore/capture.js +0 -175
- package/lib/commands/secretStore/capture.js.map +0 -1
- package/lib/commands/secretStore/forget.d.ts +0 -20
- package/lib/commands/secretStore/forget.js +0 -147
- package/lib/commands/secretStore/forget.js.map +0 -1
- package/lib/commands/stage.d.ts +0 -13
- package/lib/commands/stage.js +0 -65
- package/lib/commands/stage.js.map +0 -1
- package/lib/commands/stash.d.ts +0 -13
- package/lib/commands/stash.js +0 -31
- package/lib/commands/stash.js.map +0 -1
- package/lib/commands/status.d.ts +0 -12
- package/lib/commands/status.js +0 -49
- package/lib/commands/status.js.map +0 -1
- package/lib/commands/stop.d.ts +0 -10
- package/lib/commands/stop.js +0 -52
- package/lib/commands/stop.js.map +0 -1
- package/lib/commands/switch.d.ts +0 -11
- package/lib/commands/switch.js +0 -42
- package/lib/commands/switch.js.map +0 -1
- package/lib/commands/sync.d.ts +0 -14
- package/lib/commands/sync.js +0 -21
- package/lib/commands/sync.js.map +0 -1
- package/lib/commands/tenant/create.d.ts +0 -27
- package/lib/commands/tenant/create.js +0 -120
- package/lib/commands/tenant/create.js.map +0 -1
- package/lib/commands/tenant/switch.d.ts +0 -24
- package/lib/commands/tenant/switch.js +0 -109
- package/lib/commands/tenant/switch.js.map +0 -1
- package/lib/commands/unstage.d.ts +0 -12
- package/lib/commands/unstage.js +0 -58
- package/lib/commands/unstage.js.map +0 -1
- package/lib/commands/view/dashboard.d.ts +0 -17
- package/lib/commands/view/dashboard.js +0 -88
- package/lib/commands/view/dashboard.js.map +0 -1
- package/lib/commands/view/pods.d.ts +0 -14
- package/lib/commands/view/pods.js +0 -88
- package/lib/commands/view/pods.js.map +0 -1
- package/lib/commands/whereami.d.ts +0 -15
- package/lib/commands/whereami.js +0 -123
- package/lib/commands/whereami.js.map +0 -1
- package/lib/commands/whoami.d.ts +0 -8
- package/lib/commands/whoami.js +0 -40
- package/lib/commands/whoami.js.map +0 -1
- package/lib/deployment.d.ts +0 -2
- package/lib/deployment.js +0 -7
- package/lib/deployment.js.map +0 -1
- package/lib/errors/NoMembershipError.d.ts +0 -8
- package/lib/errors/NoMembershipError.js +0 -15
- package/lib/errors/NoMembershipError.js.map +0 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -17
- package/lib/index.js.map +0 -1
- package/lib/k8s-command-base.d.ts +0 -60
- package/lib/k8s-command-base.js +0 -204
- package/lib/k8s-command-base.js.map +0 -1
- package/lib/log-update-wrapper.d.ts +0 -24
- package/lib/log-update-wrapper.js +0 -29
- package/lib/log-update-wrapper.js.map +0 -1
- package/lib/log4js-logger.d.ts +0 -26
- package/lib/log4js-logger.js +0 -138
- package/lib/log4js-logger.js.map +0 -1
- package/lib/ops/INTERFACES_CLI.d.ts +0 -3
- package/lib/ops/INTERFACES_CLI.js +0 -8
- package/lib/ops/INTERFACES_CLI.js.map +0 -1
- package/lib/ops/LocalOps.d.ts +0 -417
- package/lib/ops/LocalOps.js +0 -3122
- package/lib/ops/LocalOps.js.map +0 -1
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.d.ts +0 -0
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.js +0 -148
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.js.map +0 -1
- package/lib/ops/cli-path-walker.d.ts +0 -0
- package/lib/ops/cli-path-walker.js +0 -55
- package/lib/ops/cli-path-walker.js.map +0 -1
- package/lib/ops/codiac-entities/dependency.d.ts +0 -5
- package/lib/ops/codiac-entities/dependency.js +0 -11
- package/lib/ops/codiac-entities/dependency.js.map +0 -1
- package/lib/ops/codiac-entities/index.d.ts +0 -1
- package/lib/ops/codiac-entities/index.js +0 -5
- package/lib/ops/codiac-entities/index.js.map +0 -1
- package/lib/ops/composite-image-registry-client.d.ts +0 -0
- package/lib/ops/composite-image-registry-client.js +0 -74
- package/lib/ops/composite-image-registry-client.js.map +0 -1
- package/lib/ops/data/cli-context-repo.d.ts +0 -61
- package/lib/ops/data/cli-context-repo.js +0 -270
- package/lib/ops/data/cli-context-repo.js.map +0 -1
- package/lib/ops/data/index.d.ts +0 -2
- package/lib/ops/data/index.js +0 -6
- package/lib/ops/data/index.js.map +0 -1
- package/lib/ops/data/npm-config-repo.d.ts +0 -13
- package/lib/ops/data/npm-config-repo.js +0 -65
- package/lib/ops/data/npm-config-repo.js.map +0 -1
- package/lib/ops/docker-config.d.ts +0 -0
- package/lib/ops/docker-config.js +0 -131
- package/lib/ops/docker-config.js.map +0 -1
- package/lib/ops/docker-constants.d.ts +0 -0
- package/lib/ops/docker-constants.js +0 -22
- package/lib/ops/docker-constants.js.map +0 -1
- package/lib/ops/docker-credentials-store.d.ts +0 -0
- package/lib/ops/docker-credentials-store.js +0 -238
- package/lib/ops/docker-credentials-store.js.map +0 -1
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.d.ts +0 -0
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.js +0 -289
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/blob-sum.d.ts +0 -7
- package/lib/ops/docker-registry-api-client/entities/blob-sum.js +0 -13
- package/lib/ops/docker-registry-api-client/entities/blob-sum.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +0 -5
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +0 -10
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +0 -30
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +0 -36
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +0 -55
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js +0 -52
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +0 -7
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js +0 -3
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/image-repository.d.ts +0 -31
- package/lib/ops/docker-registry-api-client/entities/image-repository.js +0 -30
- package/lib/ops/docker-registry-api-client/entities/image-repository.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +0 -8
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js +0 -14
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.d.ts +0 -7
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.js +0 -13
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +0 -9
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js +0 -15
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/manifest.d.ts +0 -15
- package/lib/ops/docker-registry-api-client/entities/manifest.js +0 -21
- package/lib/ops/docker-registry-api-client/entities/manifest.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.d.ts +0 -16
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.js +0 -24
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/token-response.d.ts +0 -15
- package/lib/ops/docker-registry-api-client/entities/token-response.js +0 -15
- package/lib/ops/docker-registry-api-client/entities/token-response.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/token.d.ts +0 -17
- package/lib/ops/docker-registry-api-client/entities/token.js +0 -22
- package/lib/ops/docker-registry-api-client/entities/token.js.map +0 -1
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +0 -4
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js +0 -10
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js.map +0 -1
- package/lib/ops/dx-constants.d.ts +0 -26
- package/lib/ops/dx-constants.js +0 -43
- package/lib/ops/dx-constants.js.map +0 -1
- package/lib/ops/entities/ImageBuildContext.d.ts +0 -12
- package/lib/ops/entities/ImageBuildContext.js +0 -19
- package/lib/ops/entities/ImageBuildContext.js.map +0 -1
- package/lib/ops/entities/PipelineContext.d.ts +0 -21
- package/lib/ops/entities/PipelineContext.js +0 -23
- package/lib/ops/entities/PipelineContext.js.map +0 -1
- package/lib/ops/entities/TenantContext.d.ts +0 -10
- package/lib/ops/entities/TenantContext.js +0 -16
- package/lib/ops/entities/TenantContext.js.map +0 -1
- package/lib/ops/entities/ThaulConfig.d.ts +0 -0
- package/lib/ops/entities/ThaulConfig.js +0 -30
- package/lib/ops/entities/ThaulConfig.js.map +0 -1
- package/lib/ops/entities/azure-service-principal.d.ts +0 -23
- package/lib/ops/entities/azure-service-principal.js +0 -24
- package/lib/ops/entities/azure-service-principal.js.map +0 -1
- package/lib/ops/entities/better-logger.d.ts +0 -0
- package/lib/ops/entities/better-logger.js +0 -2
- package/lib/ops/entities/better-logger.js.map +0 -1
- package/lib/ops/entities/branch.d.ts +0 -13
- package/lib/ops/entities/branch.js +0 -16
- package/lib/ops/entities/branch.js.map +0 -1
- package/lib/ops/entities/cli-config.d.ts +0 -48
- package/lib/ops/entities/cli-config.js +0 -61
- package/lib/ops/entities/cli-config.js.map +0 -1
- package/lib/ops/entities/docker-image.d.ts +0 -60
- package/lib/ops/entities/docker-image.js +0 -3
- package/lib/ops/entities/docker-image.js.map +0 -1
- package/lib/ops/entities/helm-spec.d.ts +0 -15
- package/lib/ops/entities/helm-spec.js +0 -23
- package/lib/ops/entities/helm-spec.js.map +0 -1
- package/lib/ops/entities/index.d.ts +0 -4
- package/lib/ops/entities/index.js +0 -12
- package/lib/ops/entities/index.js.map +0 -1
- package/lib/ops/entities/operation-meta.d.ts +0 -8
- package/lib/ops/entities/operation-meta.js +0 -19
- package/lib/ops/entities/operation-meta.js.map +0 -1
- package/lib/ops/entities/scaffolding.d.ts +0 -19
- package/lib/ops/entities/scaffolding.js +0 -21
- package/lib/ops/entities/scaffolding.js.map +0 -1
- package/lib/ops/extensions/azart-identity-adapter.d.ts +0 -19
- package/lib/ops/extensions/azart-identity-adapter.js +0 -97
- package/lib/ops/extensions/azart-identity-adapter.js.map +0 -1
- package/lib/ops/extensions/npm-identity-adapter-base.d.ts +0 -13
- package/lib/ops/extensions/npm-identity-adapter-base.js +0 -3
- package/lib/ops/extensions/npm-identity-adapter-base.js.map +0 -1
- package/lib/ops/extensions/npmjs-identity-adapter.d.ts +0 -13
- package/lib/ops/extensions/npmjs-identity-adapter.js +0 -64
- package/lib/ops/extensions/npmjs-identity-adapter.js.map +0 -1
- package/lib/ops/git-ops.d.ts +0 -8
- package/lib/ops/git-ops.js +0 -14
- package/lib/ops/git-ops.js.map +0 -1
- package/lib/ops/i-client-for-image-registry.d.ts +0 -0
- package/lib/ops/i-client-for-image-registry.js +0 -17
- package/lib/ops/i-client-for-image-registry.js.map +0 -1
- package/lib/ops/i-identity-handler.d.ts +0 -33
- package/lib/ops/i-identity-handler.js +0 -165
- package/lib/ops/i-identity-handler.js.map +0 -1
- package/lib/ops/i-output-styler.d.ts +0 -0
- package/lib/ops/i-output-styler.js +0 -17
- package/lib/ops/i-output-styler.js.map +0 -1
- package/lib/ops/index.d.ts +0 -12
- package/lib/ops/index.js +0 -15
- package/lib/ops/index.js.map +0 -1
- package/lib/ops/json-utils.d.ts +0 -0
- package/lib/ops/json-utils.js +0 -59
- package/lib/ops/json-utils.js.map +0 -1
- package/lib/ops/no-style-output-styler.d.ts +0 -0
- package/lib/ops/no-style-output-styler.js +0 -30
- package/lib/ops/no-style-output-styler.js.map +0 -1
- package/lib/ops/oauth2-client.ts/oauth2-client.d.ts +0 -23
- package/lib/ops/oauth2-client.ts/oauth2-client.js +0 -64
- package/lib/ops/oauth2-client.ts/oauth2-client.js.map +0 -1
- package/lib/ops/project-initializer.d.ts +0 -36
- package/lib/ops/project-initializer.js +0 -219
- package/lib/ops/project-initializer.js.map +0 -1
- package/lib/ops/scaffolding/base-scaffolding.d.ts +0 -7
- package/lib/ops/scaffolding/base-scaffolding.js +0 -21
- package/lib/ops/scaffolding/base-scaffolding.js.map +0 -1
- package/lib/ops/scaffolding/codiac-api-scaffolding.d.ts +0 -7
- package/lib/ops/scaffolding/codiac-api-scaffolding.js +0 -64
- package/lib/ops/scaffolding/codiac-api-scaffolding.js.map +0 -1
- package/lib/ops/scaffolding/typescript-scaffolding.d.ts +0 -15
- package/lib/ops/scaffolding/typescript-scaffolding.js +0 -163
- package/lib/ops/scaffolding/typescript-scaffolding.js.map +0 -1
- package/lib/ops/test/mock-ui.d.ts +0 -26
- package/lib/ops/test/mock-ui.js +0 -88
- package/lib/ops/test/mock-ui.js.map +0 -1
- package/lib/ops/test/test-extensions.d.ts +0 -13
- package/lib/ops/test/test-extensions.js +0 -71
- package/lib/ops/test/test-extensions.js.map +0 -1
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +0 -2
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js +0 -55
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js.map +0 -1
- package/lib/ops/test/when-git-branchline-is-attempted.spec.d.ts +0 -2
- package/lib/ops/test/when-git-branchline-is-attempted.spec.js +0 -38
- package/lib/ops/test/when-git-branchline-is-attempted.spec.js.map +0 -1
- package/lib/ops/test/when-versions-are-parsed.spec.d.ts +0 -2
- package/lib/ops/test/when-versions-are-parsed.spec.js +0 -62
- package/lib/ops/test/when-versions-are-parsed.spec.js.map +0 -1
- package/lib/ops/throwing-user-input-provider.d.ts +0 -0
- package/lib/ops/throwing-user-input-provider.js +0 -37
- package/lib/ops/throwing-user-input-provider.js.map +0 -1
- package/lib/ops/workspace-versioner.d.ts +0 -122
- package/lib/ops/workspace-versioner.js +0 -292
- package/lib/ops/workspace-versioner.js.map +0 -1
- package/lib/prettify.d.ts +0 -7
- package/lib/prettify.js +0 -24
- package/lib/prettify.js.map +0 -1
- package/lib/read-stdin.d.ts +0 -2
- package/lib/read-stdin.js +0 -29
- package/lib/read-stdin.js.map +0 -1
- package/lib/relay/contracts/contracts.d.ts +0 -207
- package/lib/relay/contracts/contracts.js +0 -230
- package/lib/relay/contracts/contracts.js.map +0 -1
- package/lib/relay/data/aws-k8s-versions.d.ts +0 -6
- package/lib/relay/data/aws-k8s-versions.js +0 -16
- package/lib/relay/data/aws-k8s-versions.js.map +0 -1
- package/lib/relay/data/aws-node-types.d.ts +0 -37
- package/lib/relay/data/aws-node-types.js +0 -4246
- package/lib/relay/data/aws-node-types.js.map +0 -1
- package/lib/relay/data/aws-regions.d.ts +0 -6
- package/lib/relay/data/aws-regions.js +0 -34
- package/lib/relay/data/aws-regions.js.map +0 -1
- package/lib/relay/extended-relay-client.d.ts +0 -27
- package/lib/relay/extended-relay-client.js +0 -28
- package/lib/relay/extended-relay-client.js.map +0 -1
- package/lib/relay/relay-container.d.ts +0 -41
- package/lib/relay/relay-container.js +0 -298
- package/lib/relay/relay-container.js.map +0 -1
- package/lib/relay/wsclient/relay-socket-listener.d.ts +0 -68
- package/lib/relay/wsclient/relay-socket-listener.js +0 -165
- package/lib/relay/wsclient/relay-socket-listener.js.map +0 -1
- package/lib/relay/wsclient/relay-websocket-client.d.ts +0 -33
- package/lib/relay/wsclient/relay-websocket-client.js +0 -179
- package/lib/relay/wsclient/relay-websocket-client.js.map +0 -1
- package/lib/relay/wsclient/rx-websocket-subject.d.ts +0 -25
- package/lib/relay/wsclient/rx-websocket-subject.js +0 -134
- package/lib/relay/wsclient/rx-websocket-subject.js.map +0 -1
- package/lib/relay/wsclient/socket-contracts.d.ts +0 -22
- package/lib/relay/wsclient/socket-contracts.js +0 -3
- package/lib/relay/wsclient/socket-contracts.js.map +0 -1
- package/lib/standard-probes.d.ts +0 -5
- package/lib/standard-probes.js +0 -22
- package/lib/standard-probes.js.map +0 -1
- package/lib/uilogic/build-configurator.d.ts +0 -21
- package/lib/uilogic/build-configurator.js +0 -111
- package/lib/uilogic/build-configurator.js.map +0 -1
- package/lib/uilogic/cloud-provider-contextualizer.d.ts +0 -46
- package/lib/uilogic/cloud-provider-contextualizer.js +0 -194
- package/lib/uilogic/cloud-provider-contextualizer.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurator-factory.d.ts +0 -41
- package/lib/uilogic/cloud-resource-configurator-factory.js +0 -158
- package/lib/uilogic/cloud-resource-configurator-factory.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.d.ts +0 -11
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js +0 -16
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.d.ts +0 -5
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js +0 -536
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/aws-regions.d.ts +0 -10
- package/lib/uilogic/cloud-resource-configurators/aws-regions.js +0 -34
- package/lib/uilogic/cloud-resource-configurators/aws-regions.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +0 -38
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js +0 -348
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.d.ts +0 -0
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +0 -78
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +0 -42
- package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +0 -248
- package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +0 -110
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js +0 -782
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/azure-types.d.ts +0 -0
- package/lib/uilogic/cloud-resource-configurators/azure-types.js +0 -10
- package/lib/uilogic/cloud-resource-configurators/azure-types.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +0 -24
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +0 -106
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +0 -16
- package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js +0 -45
- package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js.map +0 -1
- package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +0 -18
- package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +0 -62
- package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js.map +0 -1
- package/lib/uilogic/enterprise-contextualizer.d.ts +0 -76
- package/lib/uilogic/enterprise-contextualizer.js +0 -671
- package/lib/uilogic/enterprise-contextualizer.js.map +0 -1
- package/lib/uilogic/environment-contextualizer.d.ts +0 -15
- package/lib/uilogic/environment-contextualizer.js +0 -43
- package/lib/uilogic/environment-contextualizer.js.map +0 -1
- package/lib/uilogic/i-cluster-configurator.d.ts +0 -9
- package/lib/uilogic/i-cluster-configurator.js +0 -3
- package/lib/uilogic/i-cluster-configurator.js.map +0 -1
- package/lib/uilogic/i-login-configurator.d.ts +0 -6
- package/lib/uilogic/i-login-configurator.js +0 -3
- package/lib/uilogic/i-login-configurator.js.map +0 -1
- package/lib/uilogic/i-registry-configurator.d.ts +0 -6
- package/lib/uilogic/i-registry-configurator.js +0 -3
- package/lib/uilogic/i-registry-configurator.js.map +0 -1
- package/lib/uilogic/i-secret-store-configurator.d.ts +0 -7
- package/lib/uilogic/i-secret-store-configurator.js +0 -3
- package/lib/uilogic/i-secret-store-configurator.js.map +0 -1
- package/lib/uilogic/image-configurator.d.ts +0 -133
- package/lib/uilogic/image-configurator.js +0 -578
- package/lib/uilogic/image-configurator.js.map +0 -1
- package/lib/uilogic/image-contextualizer.d.ts +0 -24
- package/lib/uilogic/image-contextualizer.js +0 -90
- package/lib/uilogic/image-contextualizer.js.map +0 -1
- package/lib/uilogic/image-registry-contextualizer.d.ts +0 -28
- package/lib/uilogic/image-registry-contextualizer.js +0 -127
- package/lib/uilogic/image-registry-contextualizer.js.map +0 -1
- package/lib/uilogic/index.d.ts +0 -9
- package/lib/uilogic/index.js +0 -14
- package/lib/uilogic/index.js.map +0 -1
- package/lib/uilogic/prompt-select-fuzzy.d.ts +0 -0
- package/lib/uilogic/prompt-select-fuzzy.js +0 -139
- package/lib/uilogic/prompt-select-fuzzy.js.map +0 -1
- package/lib/uilogic/render-methods.d.ts +0 -12
- package/lib/uilogic/render-methods.js +0 -65
- package/lib/uilogic/render-methods.js.map +0 -1
- package/lib/uilogic/tenant-contextualizer.d.ts +0 -79
- package/lib/uilogic/tenant-contextualizer.js +0 -578
- package/lib/uilogic/tenant-contextualizer.js.map +0 -1
- package/lib/user-context-loader.d.ts +0 -60
- package/lib/user-context-loader.js +0 -184
- package/lib/user-context-loader.js.map +0 -1
|
@@ -1,560 +1,560 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PROMPT_ME_DESIGNATOR = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
//import * as path from 'path';
|
|
6
|
-
const core_1 = require("@oclif/core");
|
|
7
|
-
const _ = require("lodash");
|
|
8
|
-
const codiac_relay_contracts_1 = require("@codiac.io/codiac-relay-contracts");
|
|
9
|
-
// import { Asset, ConfigDef, ConfigDefCriteria, ConfigDefTypesEnum, RootMap, ScopedSetting, ScopedSettingCriteria } from '@codiac.io/codiac-domain';
|
|
10
|
-
const contracts_1 = require("../../apis/codiac-api/contracts");
|
|
11
|
-
const command_base_enterprise_1 = require("../../command-base-enterprise");
|
|
12
|
-
const CodiacConstants = require("../../codiac-constants");
|
|
13
|
-
const path = require("path");
|
|
14
|
-
const render = require("../../uilogic/render-methods");
|
|
15
|
-
// const { selectFiles, COMPLETED, CANCELLED } = require('select-files-cli'); // gd js wo ts...
|
|
16
|
-
// const { selectFiles, COMPLETED, CANCELLED } = require('../../uilogic/file-selector'); // gd js wo ts...
|
|
17
|
-
/** The value provided as input that indicates
|
|
18
|
-
* a user's desire to be prompted with a list from which choose the value(s),
|
|
19
|
-
* instead of entering them manually or taking a default. */
|
|
20
|
-
exports.PROMPT_ME_DESIGNATOR = "?";
|
|
21
|
-
class ConfigAdd extends command_base_enterprise_1.CommandBaseEnterprise {
|
|
22
|
-
run() {
|
|
23
|
-
var _a;
|
|
24
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
try {
|
|
26
|
-
this.bootstrap();
|
|
27
|
-
const { args, flags } = yield this.parse(ConfigAdd);
|
|
28
|
-
(_a = this._relayContainer) === null || _a === void 0 ? void 0 : _a.ready$.subscribe((ready) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
var _b, _c, _d;
|
|
30
|
-
let partialConfigDef = {};
|
|
31
|
-
let partialSetting = {};
|
|
32
|
-
this._userCntx = yield this.establishTenantContext(this._userCntx);
|
|
33
|
-
let enterprise = (yield this.establishEnterpriseContext()).enterprise;
|
|
34
|
-
partialConfigDef.enterprise = enterprise.code;
|
|
35
|
-
partialSetting.enterprise = enterprise.code;
|
|
36
|
-
let rootMap = yield this.getRootMap(enterprise.code);
|
|
37
|
-
let confirmed = false;
|
|
38
|
-
do {
|
|
39
|
-
// 1. Select Asset
|
|
40
|
-
partialConfigDef.asset = yield this.promptForAsset(enterprise.assets);
|
|
41
|
-
// 2. Set Target File
|
|
42
|
-
let selectedFile = (yield this.promptForTargetFile(partialConfigDef.enterprise, partialConfigDef.asset));
|
|
43
|
-
partialConfigDef.targetFile = selectedFile.targetFile;
|
|
44
|
-
partialConfigDef.settings = selectedFile.settings;
|
|
45
|
-
// 3. Setting
|
|
46
|
-
partialSetting.setting = yield this.promptForSetting((_b = partialConfigDef.settings) !== null && _b !== void 0 ? _b : [], (_c = args.setting) !== null && _c !== void 0 ? _c : flags.setting);
|
|
47
|
-
let existingValues = (_d = partialConfigDef.settings) === null || _d === void 0 ? void 0 : _d.filter(s => s.setting === partialSetting.setting);
|
|
48
|
-
// 4. Scope
|
|
49
|
-
let selectedScope = yield this.promptForScope(partialConfigDef.enterprise, rootMap, existingValues);
|
|
50
|
-
partialSetting.scope = selectedScope.scope;
|
|
51
|
-
partialSetting.target = selectedScope.target;
|
|
52
|
-
// 5. Value
|
|
53
|
-
partialSetting.value = yield this.promptForValue({ setting: partialSetting.setting, scope: partialSetting.scope, target: partialSetting.target, enterprise: partialSetting.enterprise }, existingValues, rootMap);
|
|
54
|
-
// 6. Confirm or loop back around to enterprise
|
|
55
|
-
confirmed = yield this._ui.promptConfirm("confirm", "Apply? ");
|
|
56
|
-
} while (!confirmed);
|
|
57
|
-
let candidate = Object.assign({ setting: partialSetting.setting, value: partialSetting.value, targetFile: partialConfigDef.targetFile, asset: partialConfigDef.asset, enterprise: partialConfigDef.enterprise, scope: partialSetting.scope, target: partialSetting.target, description: partialSetting.description }, this.createAuditable());
|
|
58
|
-
yield this.upsertSetting(candidate);
|
|
59
|
-
/*
|
|
60
|
-
MarkStartHere("NEW WORKFLOW...");
|
|
61
|
-
|
|
62
|
-
1. Prompt for Asset
|
|
63
|
-
default = this._projUserCfg?.enterprise?.assetBindings?[0] ?? this._userCntx.currentEnterprise?.asset;
|
|
64
|
-
let aCntx = await this.establishAssetContext(enterprise, true);
|
|
65
|
-
|
|
66
|
-
2. Target File
|
|
67
|
-
(select from existing or AddNEw option)
|
|
68
|
-
if (addNew)
|
|
69
|
-
freehand prompt with "?" as default (enter "?" to browse)
|
|
70
|
-
enter rel path from container root (app root?)
|
|
71
|
-
|
|
72
|
-
3. Setting
|
|
73
|
-
select from existing
|
|
74
|
-
if file selected, merge and dim
|
|
75
|
-
(tree with "+newChild" at top of each branch) (How do you prevent selection of branch vs leaf?)
|
|
76
|
-
|
|
77
|
-
4. Scope ("Where will it apply?")
|
|
78
|
-
cabinet tree view with un-hydrated scopes dimmed, hydrated showing values
|
|
79
|
-
|
|
80
|
-
5. Value
|
|
81
|
-
(render pedigree)
|
|
82
|
-
default = flags.value ?? selectedFile.value ?? existing.value
|
|
83
|
-
|
|
84
|
-
6. Confirm or loop back around to enterprise
|
|
85
|
-
*/
|
|
86
|
-
// let cab = await this.establishCabinet(flags.cabinet, true);
|
|
87
|
-
// let configName = flags.file || CodiacConstants.DEFAULT_APP_SETTINGS_FILENAME;
|
|
88
|
-
// if (configName == PROMPT_ME_DESIGNATOR) {
|
|
89
|
-
// let confirmed = false;
|
|
90
|
-
// while (!confirmed) {
|
|
91
|
-
// // Step 1) select the distribution folder (aka: the build output folder)
|
|
92
|
-
// let folderOptions: FolderSelectionOptions = {
|
|
93
|
-
// root: this._projectRoot,
|
|
94
|
-
// startingPath: process.cwd(),
|
|
95
|
-
// };
|
|
96
|
-
// let distFolder = await this._ui.promptSelectFolder("distFolder", "Select the distribution folder (aka: the build output folder)...", folderOptions);
|
|
97
|
-
// // Step 2) select the config file within it.
|
|
98
|
-
// let options: FileSelectionOptions = {
|
|
99
|
-
// root: distFolder,
|
|
100
|
-
// startingPath: distFolder,
|
|
101
|
-
// extensions: ["json", "config", "yaml", "ini", "properties"],
|
|
102
|
-
// asRelative: true
|
|
103
|
-
// };
|
|
104
|
-
// configName = await this._ui.promptSelectFile("targetFile", "Select the target file...", options);
|
|
105
|
-
// confirmed = await this._ui.promptConfirm("targetFileCOnfirmation", `Target file: ${configName}`, true);
|
|
106
|
-
// }
|
|
107
|
-
// // this._ui.userMessage("Select the target file...")
|
|
108
|
-
// // let relativeTo = process.cwd();
|
|
109
|
-
// // let exts = ["json", "config", "yaml", "ini", "properties"];
|
|
110
|
-
// // let ptn = `\\.(${exts.join("|")})$`;
|
|
111
|
-
// // let rx = new RegExp(ptn, "i");
|
|
112
|
-
// // let options: any = {
|
|
113
|
-
// // multi: true,
|
|
114
|
-
// // clearConsole: false,
|
|
115
|
-
// // root: this._projectRoot
|
|
116
|
-
// // // fileFilter: (filename: string) => { return /\.(json|yaml|config|properties|ini)$/i.test(filename) } });
|
|
117
|
-
// // }
|
|
118
|
-
// // options.fileFilter = (fileName: string) => rx.test(fileName);
|
|
119
|
-
// // let fileResult = await selectFiles(options);
|
|
120
|
-
// // console.dir(fileResult);
|
|
121
|
-
// // if (fileResult.status == COMPLETED && fileResult.selectedFiles && fileResult.selectedFiles.length > 0) {
|
|
122
|
-
// // let selected = fileResult.selectedFiles[0];
|
|
123
|
-
// // let relPathName = path.relative(relativeTo, selected);
|
|
124
|
-
// // this._ui.userMessage(`Selected file: ${relPathName}`);
|
|
125
|
-
// // }
|
|
126
|
-
// }
|
|
127
|
-
// // 1 Get the list of available built in system settings
|
|
128
|
-
// // stub:
|
|
129
|
-
// this._appConfig = this._ops.loadConfig();
|
|
130
|
-
// let avails = await this.getAvailableSettings();
|
|
131
|
-
// // Prompt for setting if reqd
|
|
132
|
-
// let setting: string = args.setting || flags.setting;
|
|
133
|
-
// if (!setting) {
|
|
134
|
-
// let result = await inquirer.prompt({ type: 'list', name: 'setting', message: 'Setting to add:', choices: avails });
|
|
135
|
-
// setting = result.setting;
|
|
136
|
-
// }
|
|
137
|
-
// // this.log(result.setting);
|
|
138
|
-
// // PROMPT FOR VALUE (if reqd)
|
|
139
|
-
// let val: string;
|
|
140
|
-
// if (flags.value) {
|
|
141
|
-
// val = flags.value;
|
|
142
|
-
// } else {
|
|
143
|
-
// // TODO: this current value needs to support the scoped value set
|
|
144
|
-
// let currentValue = (this._appConfig) ? this._appConfig[setting] : undefined;
|
|
145
|
-
// let response = await inquirer.prompt({ type: 'input', name: 'settingValue', message: `Value for ${setting}: `, default: currentValue });
|
|
146
|
-
// val = response.settingValue;
|
|
147
|
-
// }
|
|
148
|
-
// if (flags.enterprise || flags.environment || flags.cabinet) {
|
|
149
|
-
// // WRITE SCOPED TO THE API
|
|
150
|
-
// let level: ScopeLevel = ScopeLevel.enterprise;
|
|
151
|
-
// let scopeName: string = "";
|
|
152
|
-
// if (flags.enterprise) {
|
|
153
|
-
// level = ScopeLevel.enterprise;
|
|
154
|
-
// scopeName = flags.enterprise;
|
|
155
|
-
// } else if (flags.environment) {
|
|
156
|
-
// level = ScopeLevel.environment;
|
|
157
|
-
// scopeName = flags.environment;
|
|
158
|
-
// } else if (flags.cabinet) {
|
|
159
|
-
// level = ScopeLevel.cabinet;
|
|
160
|
-
// scopeName = flags.cabinet;
|
|
161
|
-
// }
|
|
162
|
-
// this.writeSetting_Api(partialConfigDef.enterprise, partialConfigDef.asset, configName, setting, level, scopeName, val);
|
|
163
|
-
// } else {
|
|
164
|
-
// // WRITE UNSCOPED TO LOCAL
|
|
165
|
-
// this.writeSetting_local(setting, val);
|
|
166
|
-
// }
|
|
167
|
-
// this.log(`Applied ${configName} setting "${setting}" = "${val}"`);
|
|
168
|
-
}));
|
|
169
|
-
}
|
|
170
|
-
catch (err) {
|
|
171
|
-
this.handleError(err);
|
|
172
|
-
throw err;
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
promptForAsset(assets) {
|
|
177
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
178
|
-
try {
|
|
179
|
-
let choices = assets.map(a => { return { name: a.name, value: a.name }; });
|
|
180
|
-
let output = (yield this._ui.promptSelect("asset", "Asset: ", choices));
|
|
181
|
-
return output;
|
|
182
|
-
}
|
|
183
|
-
catch (err) {
|
|
184
|
-
throw err;
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
promptForValue(setting, existingValues, rootMap) {
|
|
189
|
-
var _a;
|
|
190
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
191
|
-
// let existingValues = partialConfigDef.settings?.filter(s => s.setting === setting.setting);
|
|
192
|
-
let pedigree = this.buildPedigreeFor(setting, existingValues, rootMap);
|
|
193
|
-
let renderPedigree = (pedigree) => {
|
|
194
|
-
if (pedigree === null || pedigree === void 0 ? void 0 : pedigree.parent)
|
|
195
|
-
renderPedigree(pedigree.parent);
|
|
196
|
-
if (pedigree.value !== undefined) {
|
|
197
|
-
this._ui.userMessage(`[in ${pedigree.scope}: ${pedigree.target}] = ${(pedigree.value === "") ? "\"\"" : pedigree.value}`);
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
if (setting.description)
|
|
201
|
-
this._ui.userMessage(setting.description);
|
|
202
|
-
if (pedigree)
|
|
203
|
-
renderPedigree(pedigree);
|
|
204
|
-
let existing = existingValues === null || existingValues === void 0 ? void 0 : existingValues.find(s => s.scope === setting.scope && s.target === setting.target);
|
|
205
|
-
let output = yield this._ui.prompt("value", `Value in ${setting.scope} ${setting.target}: `, false, (_a = setting.value) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.value);
|
|
206
|
-
return output;
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
/** Returns the recursive parent path of values for the given setting
|
|
210
|
-
* up through the enterprise scope.
|
|
211
|
-
* Returns undefined if the given setting is already scoped to enterprise.
|
|
212
|
-
*
|
|
213
|
-
* @param existingValues This MUST be filtered for this current setting (existing.setting == setting.setting).
|
|
214
|
-
* */
|
|
215
|
-
buildPedigreeFor(setting, existingValues, rootMap) {
|
|
216
|
-
try {
|
|
217
|
-
let pedigree;
|
|
218
|
-
if (setting.scope !== codiac_relay_contracts_1.ScopeLevel.enterprise) {
|
|
219
|
-
let ent = rootMap.enterprises.find(e => e.name === setting.enterprise);
|
|
220
|
-
if (ent == undefined) {
|
|
221
|
-
throw new Error(`No enterprise found named [${setting.enterprise}]`);
|
|
222
|
-
}
|
|
223
|
-
let entSetting = existingValues === null || existingValues === void 0 ? void 0 : existingValues.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.enterprise && s.target === ent.name);
|
|
224
|
-
let entPedigree = { scope: codiac_relay_contracts_1.ScopeLevel.enterprise, target: setting.enterprise };
|
|
225
|
-
if (entSetting === null || entSetting === void 0 ? void 0 : entSetting.value) {
|
|
226
|
-
entPedigree.value = entSetting.value;
|
|
227
|
-
}
|
|
228
|
-
if (setting.scope === codiac_relay_contracts_1.ScopeLevel.cabinet) {
|
|
229
|
-
let env = ent === null || ent === void 0 ? void 0 : ent.environments.find(e => e.cabinets.find(c => c.name === setting.target));
|
|
230
|
-
if (!env) {
|
|
231
|
-
throw new Error(`No environment found containing the cabinet [${setting.target}]`);
|
|
232
|
-
}
|
|
233
|
-
pedigree = { scope: codiac_relay_contracts_1.ScopeLevel.environment, target: env.name, parent: entPedigree };
|
|
234
|
-
let envSetting = existingValues === null || existingValues === void 0 ? void 0 : existingValues.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.environment && s.target === (env === null || env === void 0 ? void 0 : env.name));
|
|
235
|
-
if (envSetting) {
|
|
236
|
-
pedigree.value = envSetting.value;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
else if (setting.scope === codiac_relay_contracts_1.ScopeLevel.environment) {
|
|
240
|
-
pedigree = entPedigree;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
return pedigree;
|
|
244
|
-
}
|
|
245
|
-
catch (err) {
|
|
246
|
-
throw err;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
promptForScope(enterprise, rootMap, existings) {
|
|
250
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
251
|
-
try {
|
|
252
|
-
let output;
|
|
253
|
-
// render cab tree with all lines selectable
|
|
254
|
-
let cabTree = this.buildCabinetTree(rootMap, existings);
|
|
255
|
-
let choices = this.buildSelectChoicesFrom(cabTree);
|
|
256
|
-
let delimited = (yield this._ui.promptSelect("scope", "Apply to: ", choices, undefined, false));
|
|
257
|
-
let parts = delimited.split("|");
|
|
258
|
-
output = { scope: parts[0], target: parts[1] };
|
|
259
|
-
return output;
|
|
260
|
-
}
|
|
261
|
-
catch (err) {
|
|
262
|
-
throw (err);
|
|
263
|
-
}
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
buildSelectChoicesFrom(tree) {
|
|
267
|
-
try {
|
|
268
|
-
let choices = [];
|
|
269
|
-
// the value is no good here - need scope and target both available
|
|
270
|
-
render.renderStringTree(tree, (txt, item) => choices.push({ name: txt, value: item.value }));
|
|
271
|
-
// // This is one way to do it
|
|
272
|
-
// for (let item of tree) {
|
|
273
|
-
//
|
|
274
|
-
// let thisChoice: PromptChoice = { name: item.text, value: item.text };
|
|
275
|
-
// choices.push(thisChoice);
|
|
276
|
-
//
|
|
277
|
-
// if (item.children && item.children.length > 0) {
|
|
278
|
-
// let children = this.buildSelectChoicesFrom(item.children);
|
|
279
|
-
// choices.push(...children);
|
|
280
|
-
// }
|
|
281
|
-
// }
|
|
282
|
-
return choices;
|
|
283
|
-
}
|
|
284
|
-
catch (err) {
|
|
285
|
-
throw err;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
/** sets each value to "scope|target".
|
|
289
|
-
*
|
|
290
|
-
* This is MOSTLY a COPY-PASTE from the CabinetList command!!! This view is prob gonna be pretty common - consider promoting it to a shared utility. */
|
|
291
|
-
buildCabinetTree(rootMap, existings) {
|
|
292
|
-
var _a, _b, _c, _d;
|
|
293
|
-
let tree = [];
|
|
294
|
-
for (let ent of rootMap.enterprises) {
|
|
295
|
-
let entBranch = { text: `${ent.name} enterprise:`, value: `${codiac_relay_contracts_1.ScopeLevel.enterprise}|${ent.name}` };
|
|
296
|
-
let entSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.enterprise && s.target === ent.name);
|
|
297
|
-
if (entSetting !== undefined) {
|
|
298
|
-
let valueSuffix = this.ellipsis(35, (_a = entSetting.value) !== null && _a !== void 0 ? _a : "[set to undefined]");
|
|
299
|
-
valueSuffix = `(${valueSuffix})`;
|
|
300
|
-
entBranch.text = entBranch.text.concat(" ", this._styler.dim(valueSuffix));
|
|
301
|
-
}
|
|
302
|
-
for (let env of _.sortBy(ent.environments, e => e.sequence, e => e.name)) {
|
|
303
|
-
let envBranch = { text: `${env.name}`, value: `${codiac_relay_contracts_1.ScopeLevel.environment}|${env.name}` };
|
|
304
|
-
let envSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.environment && s.target === env.name);
|
|
305
|
-
if (envSetting !== undefined) {
|
|
306
|
-
let valueSuffix = this.ellipsis(35, (_b = envSetting.value) !== null && _b !== void 0 ? _b : "[set to undefined]");
|
|
307
|
-
valueSuffix = `(${valueSuffix})`;
|
|
308
|
-
envBranch.text = envBranch.text.concat(" ", this._styler.dim(valueSuffix));
|
|
309
|
-
}
|
|
310
|
-
for (let cab of env.cabinets) {
|
|
311
|
-
// let cwg = rootMap.clusters.find(c => c.name === cab.cluster);
|
|
312
|
-
// let clusterDesc = cwg ? ` (${cab.cluster}, ${cwg.provider} ${cwg.locationName})` : "";
|
|
313
|
-
let cabBranch = {
|
|
314
|
-
text: `${cab.name}`,
|
|
315
|
-
value: `${codiac_relay_contracts_1.ScopeLevel.cabinet}|${cab.name}`
|
|
316
|
-
};
|
|
317
|
-
let cabSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.cabinet && s.target === cab.name);
|
|
318
|
-
if (cabSetting !== undefined) {
|
|
319
|
-
let valueSuffix = this.ellipsis(35, (_c = cabSetting.value) !== null && _c !== void 0 ? _c : "[set to undefined]");
|
|
320
|
-
valueSuffix = `(${valueSuffix})`;
|
|
321
|
-
cabBranch.text = cabBranch.text.concat(" ", this._styler.dim(valueSuffix));
|
|
322
|
-
}
|
|
323
|
-
if (envBranch.children === undefined)
|
|
324
|
-
envBranch.children = [];
|
|
325
|
-
(_d = envBranch.children) === null || _d === void 0 ? void 0 : _d.push(cabBranch);
|
|
326
|
-
}
|
|
327
|
-
if (entBranch.children === undefined)
|
|
328
|
-
entBranch.children = [];
|
|
329
|
-
entBranch.children.push(envBranch);
|
|
330
|
-
}
|
|
331
|
-
tree.push(entBranch);
|
|
332
|
-
}
|
|
333
|
-
return tree;
|
|
334
|
-
}
|
|
335
|
-
/** Truncates the string to the given length with an ellipses as suffix */
|
|
336
|
-
ellipsis(maxLength, value) {
|
|
337
|
-
let output = value;
|
|
338
|
-
if (output.length > maxLength) {
|
|
339
|
-
let ellipsis = "..."; // Rather use the ellipsis character but String.fromCharCode(133) is returning a problematic character.
|
|
340
|
-
output = output.slice(0, maxLength - 1 - ellipsis.length).concat(ellipsis);
|
|
341
|
-
}
|
|
342
|
-
return output;
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
*
|
|
346
|
-
* Use this inquirer plugin for navigating the object structure:
|
|
347
|
-
* https://github.com/insightfuls/inquirer-tree-prompt
|
|
348
|
-
*
|
|
349
|
-
* See if this file tree selector could be fashioned to do the same:
|
|
350
|
-
* https://github.com/anc95/inquirer-file-tree-selection
|
|
351
|
-
*
|
|
352
|
-
* @param existing
|
|
353
|
-
* @param defaultSetting
|
|
354
|
-
*/
|
|
355
|
-
promptForSetting(existing, defaultSetting) {
|
|
356
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
357
|
-
try {
|
|
358
|
-
let setting;
|
|
359
|
-
// TODO: render a tree of settings (cant select the branches, just the leaf nodes)
|
|
360
|
-
if (existing.length > 0) {
|
|
361
|
-
// let choices = existing.map(s => { return { name: s.setting, value: s.setting }; });
|
|
362
|
-
let choices = _.uniq(existing.map(s => s.setting));
|
|
363
|
-
choices.push(CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW);
|
|
364
|
-
setting = (yield this._ui.promptSelect("settingSelect", "Setting: ", choices));
|
|
365
|
-
}
|
|
366
|
-
if (setting === CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW || setting === undefined) {
|
|
367
|
-
setting = (yield this._ui.prompt("settingFreehand", "Setting (use '.' for hierarchy): "));
|
|
368
|
-
}
|
|
369
|
-
if (existing.find(s => s.setting === setting)) {
|
|
370
|
-
// matched an existing setting afterall
|
|
371
|
-
}
|
|
372
|
-
// ----------------------------------------------------------------------------------------------
|
|
373
|
-
// // Try to implement un-selectable options...
|
|
374
|
-
// let settings = ["bill", "sam", "tom", "harry"];
|
|
375
|
-
// let choices: any[] = settings.map(s => { return { name: s, value: s }; });
|
|
376
|
-
// // choices.push({ name: "some branch", value: new inquirer.Separator("--I am a branch") });
|
|
377
|
-
// choices.push(new inquirer.Separator("--I am a branch"));
|
|
378
|
-
// choices.push({ name: "sally", value: "sally" });
|
|
379
|
-
// choices.push({ name: "Sue", value: "Sue" });
|
|
380
|
-
// choices.push({ name: "Suzy", value: "Suzy" });
|
|
381
|
-
// let nada = await this._ui.promptSelect("test", "try this", choices);
|
|
382
|
-
// ----------------------------------------------------------------------------------------------
|
|
383
|
-
return setting;
|
|
384
|
-
}
|
|
385
|
-
catch (err) {
|
|
386
|
-
throw err;
|
|
387
|
-
}
|
|
388
|
-
});
|
|
389
|
-
}
|
|
390
|
-
/** Copy of this method is in config:view */
|
|
391
|
-
promptForTargetFile(enterprise, asset) {
|
|
392
|
-
var _a, _b;
|
|
393
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
394
|
-
try {
|
|
395
|
-
let crit = {
|
|
396
|
-
asset: asset,
|
|
397
|
-
enterprise: enterprise,
|
|
398
|
-
type: contracts_1.ConfigDefTypesEnum.file
|
|
399
|
-
};
|
|
400
|
-
let cfgResult = yield this._codiacApi.Call.getConfigDefs(crit, { projection: { pathsExcluded: [], pathsIncluded: ["settings", "targetFile", "format"] } });
|
|
401
|
-
if (cfgResult.error)
|
|
402
|
-
throw cfgResult.error;
|
|
403
|
-
let configs = (_a = cfgResult.output) !== null && _a !== void 0 ? _a : [];
|
|
404
|
-
let choices = configs.map(c => { return { name: c.targetFile, value: c.targetFile }; });
|
|
405
|
-
choices.push({ name: CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW, value: CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW });
|
|
406
|
-
let output; // Pick<ConfigDef, "targetFile" | "settings">;
|
|
407
|
-
let settingsInLocalFile;
|
|
408
|
-
let selected = (yield this._ui.promptSelect("fileExisting", "File: ", choices));
|
|
409
|
-
if (selected === CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW) {
|
|
410
|
-
selected = (yield this._ui.prompt("filefreehand", "Path from image root: ('?' to browse): "));
|
|
411
|
-
if (selected === "?") {
|
|
412
|
-
let localPath = (yield this._ui.promptSelectFile("filebrowse", "Select file: ", { asRelative: true }));
|
|
413
|
-
settingsInLocalFile = yield this.extractSettingsFromFile(localPath);
|
|
414
|
-
let filename = path.basename(localPath);
|
|
415
|
-
let pathInImage = path.dirname(localPath);
|
|
416
|
-
this._ui.userMessage(`Target file: ${this._styler.hilite(filename)}`);
|
|
417
|
-
pathInImage = (yield this._ui.prompt("pathinimage", "Path from image root: ", true, pathInImage));
|
|
418
|
-
selected = path.posix.join(pathInImage, filename);
|
|
419
|
-
}
|
|
420
|
-
else {
|
|
421
|
-
// the user free-handed the targetFile field
|
|
422
|
-
// this._ui.userMessage(`Target file: ${this._styler.hilite(selected)}`);
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
output = {
|
|
426
|
-
targetFile: selected,
|
|
427
|
-
settings: (_b = configs.find(c => c.targetFile === selected)) === null || _b === void 0 ? void 0 : _b.settings, // in case it matches a config we pulled down
|
|
428
|
-
};
|
|
429
|
-
return output;
|
|
430
|
-
}
|
|
431
|
-
catch (err) {
|
|
432
|
-
throw err;
|
|
433
|
-
}
|
|
434
|
-
});
|
|
435
|
-
}
|
|
436
|
-
extractSettingsFromFile(relativeFilePath) {
|
|
437
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
438
|
-
try {
|
|
439
|
-
let output = [];
|
|
440
|
-
// gotta determmine the file format and parse it.
|
|
441
|
-
// This logic prob needs to come from the domain or from the relay.
|
|
442
|
-
/** let format = getDefaultDataFormat(localPath);
|
|
443
|
-
* let extracted: Object | undefined;
|
|
444
|
-
* do {
|
|
445
|
-
* try {
|
|
446
|
-
* format = format ?? (await this.promptForFormat());
|
|
447
|
-
* extracted = tryDeserialize(file, format);
|
|
448
|
-
* } catch(err) {
|
|
449
|
-
* this._ui.UserMessage(`Error parsing as ${format}: ${err.message ?? ""}`);
|
|
450
|
-
* format = undefined;
|
|
451
|
-
* }
|
|
452
|
-
* } while (!extracted);
|
|
453
|
-
*
|
|
454
|
-
* output = this.convertToStringParents(extracted);
|
|
455
|
-
*/
|
|
456
|
-
return output;
|
|
457
|
-
}
|
|
458
|
-
catch (err) {
|
|
459
|
-
throw err;
|
|
460
|
-
}
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
|
-
writeSetting_Api(enterprise, assetName, configName, setting, scopeLevel, scopeName, val) {
|
|
464
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
465
|
-
try {
|
|
466
|
-
let settingObj = Object.assign({ setting: setting, value: val, targetFile: configName, asset: assetName, enterprise: enterprise, scope: scopeLevel, target: scopeName }, this.createAuditable());
|
|
467
|
-
return this.upsertSetting(settingObj);
|
|
468
|
-
}
|
|
469
|
-
catch (err) {
|
|
470
|
-
throw err;
|
|
471
|
-
}
|
|
472
|
-
});
|
|
473
|
-
}
|
|
474
|
-
upsertSetting(settingObj) {
|
|
475
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
476
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
477
|
-
try {
|
|
478
|
-
// TODO: Look to enterprise context instead.
|
|
479
|
-
// let enterprise = /* this._cfg.enterprise || */ this._projCfg.tenantCode;
|
|
480
|
-
// TODO: Look to asset context instead - and if none, fail and call for "$ cod asset:set"
|
|
481
|
-
// let assetName = this._projCfg.name; // this needs to be taken from an image definition. (AssetBinding[] needs to be added to each ImageExport)
|
|
482
|
-
// NOTE: We could bind a config to an image name,
|
|
483
|
-
// and then allow for an Asset scope to set values on it...
|
|
484
|
-
let crit = {
|
|
485
|
-
enterprise: settingObj.enterprise,
|
|
486
|
-
asset: settingObj.asset,
|
|
487
|
-
targetFile: settingObj.targetFile,
|
|
488
|
-
scope: settingObj.scope,
|
|
489
|
-
target: settingObj.target,
|
|
490
|
-
setting: settingObj.setting
|
|
491
|
-
};
|
|
492
|
-
// TODO: Replace this with an upsert based on: enterprise, asset, configName, scopeLevel, scopeName, and setting
|
|
493
|
-
let check = yield this._codiacApi.ScopedSetting.tryReadMany(crit);
|
|
494
|
-
let resultSetting;
|
|
495
|
-
if (check.success && check.output && check.output.length > 0) {
|
|
496
|
-
settingObj.id = check.output[0].id;
|
|
497
|
-
resultSetting = yield this._codiacApi.ScopedSetting.tryUpdate(settingObj);
|
|
498
|
-
}
|
|
499
|
-
else {
|
|
500
|
-
resultSetting = yield this._codiacApi.ScopedSetting.tryCreate(settingObj);
|
|
501
|
-
}
|
|
502
|
-
if (resultSetting.success) {
|
|
503
|
-
this.logger.notice(`Successfully saved setting [${settingObj.setting}] for ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
504
|
-
this._ui.userMessage(`Successfully saved setting [${settingObj.setting}] for ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
505
|
-
}
|
|
506
|
-
else if (resultSetting.error) {
|
|
507
|
-
this.logger.error(`Error saving setting [${settingObj.setting}]: ${resultSetting.message || ""}; ${resultSetting.error.message || resultSetting.error.stack}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
508
|
-
this._ui.userMessage(`Error saving setting [${settingObj.setting}]: ${resultSetting.message || ""}; ${resultSetting.error.message || resultSetting.error.stack}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
509
|
-
}
|
|
510
|
-
else {
|
|
511
|
-
this.logger.warn(`Failed without error to save setting [${settingObj.setting}]: ${resultSetting.message || ""}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
512
|
-
this._ui.userMessage(`Failed without error to save setting [${settingObj.setting}]: ${resultSetting.message || ""}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
513
|
-
}
|
|
514
|
-
resolve();
|
|
515
|
-
}
|
|
516
|
-
catch (err) {
|
|
517
|
-
reject(err);
|
|
518
|
-
}
|
|
519
|
-
}));
|
|
520
|
-
});
|
|
521
|
-
}
|
|
522
|
-
writeSetting_local(setting, value) {
|
|
523
|
-
// Write the available setting
|
|
524
|
-
if (!this._appConfig) {
|
|
525
|
-
this._appConfig = {};
|
|
526
|
-
}
|
|
527
|
-
_.set(this._appConfig, setting, value);
|
|
528
|
-
// this._appConfig[setting] = val.settingValue;
|
|
529
|
-
this._ops.writeConfig(this._appConfig);
|
|
530
|
-
}
|
|
531
|
-
/** Retrieves the list of app config settings that are not yet explicitly declared in the app config file itself */
|
|
532
|
-
getAvailableSettings() {
|
|
533
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
534
|
-
let avails = this._ops.loadConfigKeys(this.config.root);
|
|
535
|
-
let unset = avails;
|
|
536
|
-
// Remove any settings already explicitly called from the app-config.
|
|
537
|
-
if (this._appConfig) {
|
|
538
|
-
let keys = _.keys(this._appConfig);
|
|
539
|
-
unset = _.pull(avails, ...keys);
|
|
540
|
-
}
|
|
541
|
-
return unset;
|
|
542
|
-
});
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
exports.default = ConfigAdd;
|
|
546
|
-
ConfigAdd.description = 'Adds a key value pair to the app config';
|
|
547
|
-
ConfigAdd.aliases = ['config:set', 'cfg:add'];
|
|
548
|
-
ConfigAdd.flags = {
|
|
549
|
-
help: core_1.Flags.help({ char: 'h' }),
|
|
550
|
-
setting: core_1.Flags.string({ char: 's', required: false, description: "The config key (in dotpath/JSONPath), relative to the root of the config." }),
|
|
551
|
-
value: core_1.Flags.string({ char: 'v', required: false, description: "The actual concrete data to be applied as the setting value." }),
|
|
552
|
-
enterprise: core_1.Flags.string({ char: 'n', exclusive: ["environment", "cabinet"], description: 'The name of the enterprise to which this value is to apply.' }),
|
|
553
|
-
environment: core_1.Flags.string({ char: 'e', exclusive: ["enterprise", "cabinet"], description: 'The name of the environment to which this value is to apply.' }),
|
|
554
|
-
cabinet: core_1.Flags.string({ char: 'c', exclusive: ["enterprise", "environment"], description: 'The name of the cabinet to which this value is to apply.' }),
|
|
555
|
-
file: core_1.Flags.string({ char: 'f', description: 'The path-name to the file to which the settings are written, relative to the root of the Codiac project.' })
|
|
556
|
-
};
|
|
557
|
-
ConfigAdd.args = {
|
|
558
|
-
setting: core_1.Args.string({ description: 'The key for the config setting to add' })
|
|
559
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROMPT_ME_DESIGNATOR = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
//import * as path from 'path';
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const _ = require("lodash");
|
|
8
|
+
const codiac_relay_contracts_1 = require("@codiac.io/codiac-relay-contracts");
|
|
9
|
+
// import { Asset, ConfigDef, ConfigDefCriteria, ConfigDefTypesEnum, RootMap, ScopedSetting, ScopedSettingCriteria } from '@codiac.io/codiac-domain';
|
|
10
|
+
const contracts_1 = require("../../apis/codiac-api/contracts");
|
|
11
|
+
const command_base_enterprise_1 = require("../../command-base-enterprise");
|
|
12
|
+
const CodiacConstants = require("../../codiac-constants");
|
|
13
|
+
const path = require("path");
|
|
14
|
+
const render = require("../../uilogic/render-methods");
|
|
15
|
+
// const { selectFiles, COMPLETED, CANCELLED } = require('select-files-cli'); // gd js wo ts...
|
|
16
|
+
// const { selectFiles, COMPLETED, CANCELLED } = require('../../uilogic/file-selector'); // gd js wo ts...
|
|
17
|
+
/** The value provided as input that indicates
|
|
18
|
+
* a user's desire to be prompted with a list from which choose the value(s),
|
|
19
|
+
* instead of entering them manually or taking a default. */
|
|
20
|
+
exports.PROMPT_ME_DESIGNATOR = "?";
|
|
21
|
+
class ConfigAdd extends command_base_enterprise_1.CommandBaseEnterprise {
|
|
22
|
+
run() {
|
|
23
|
+
var _a;
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
try {
|
|
26
|
+
this.bootstrap();
|
|
27
|
+
const { args, flags } = yield this.parse(ConfigAdd);
|
|
28
|
+
(_a = this._relayContainer) === null || _a === void 0 ? void 0 : _a.ready$.subscribe((ready) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
var _b, _c, _d;
|
|
30
|
+
let partialConfigDef = {};
|
|
31
|
+
let partialSetting = {};
|
|
32
|
+
this._userCntx = yield this.establishTenantContext(this._userCntx);
|
|
33
|
+
let enterprise = (yield this.establishEnterpriseContext()).enterprise;
|
|
34
|
+
partialConfigDef.enterprise = enterprise.code;
|
|
35
|
+
partialSetting.enterprise = enterprise.code;
|
|
36
|
+
let rootMap = yield this.getRootMap(enterprise.code);
|
|
37
|
+
let confirmed = false;
|
|
38
|
+
do {
|
|
39
|
+
// 1. Select Asset
|
|
40
|
+
partialConfigDef.asset = yield this.promptForAsset(enterprise.assets);
|
|
41
|
+
// 2. Set Target File
|
|
42
|
+
let selectedFile = (yield this.promptForTargetFile(partialConfigDef.enterprise, partialConfigDef.asset));
|
|
43
|
+
partialConfigDef.targetFile = selectedFile.targetFile;
|
|
44
|
+
partialConfigDef.settings = selectedFile.settings;
|
|
45
|
+
// 3. Setting
|
|
46
|
+
partialSetting.setting = yield this.promptForSetting((_b = partialConfigDef.settings) !== null && _b !== void 0 ? _b : [], (_c = args.setting) !== null && _c !== void 0 ? _c : flags.setting);
|
|
47
|
+
let existingValues = (_d = partialConfigDef.settings) === null || _d === void 0 ? void 0 : _d.filter(s => s.setting === partialSetting.setting);
|
|
48
|
+
// 4. Scope
|
|
49
|
+
let selectedScope = yield this.promptForScope(partialConfigDef.enterprise, rootMap, existingValues);
|
|
50
|
+
partialSetting.scope = selectedScope.scope;
|
|
51
|
+
partialSetting.target = selectedScope.target;
|
|
52
|
+
// 5. Value
|
|
53
|
+
partialSetting.value = yield this.promptForValue({ setting: partialSetting.setting, scope: partialSetting.scope, target: partialSetting.target, enterprise: partialSetting.enterprise }, existingValues, rootMap);
|
|
54
|
+
// 6. Confirm or loop back around to enterprise
|
|
55
|
+
confirmed = yield this._ui.promptConfirm("confirm", "Apply? ");
|
|
56
|
+
} while (!confirmed);
|
|
57
|
+
let candidate = Object.assign({ setting: partialSetting.setting, value: partialSetting.value, targetFile: partialConfigDef.targetFile, asset: partialConfigDef.asset, enterprise: partialConfigDef.enterprise, scope: partialSetting.scope, target: partialSetting.target, description: partialSetting.description }, this.createAuditable());
|
|
58
|
+
yield this.upsertSetting(candidate);
|
|
59
|
+
/*
|
|
60
|
+
MarkStartHere("NEW WORKFLOW...");
|
|
61
|
+
|
|
62
|
+
1. Prompt for Asset
|
|
63
|
+
default = this._projUserCfg?.enterprise?.assetBindings?[0] ?? this._userCntx.currentEnterprise?.asset;
|
|
64
|
+
let aCntx = await this.establishAssetContext(enterprise, true);
|
|
65
|
+
|
|
66
|
+
2. Target File
|
|
67
|
+
(select from existing or AddNEw option)
|
|
68
|
+
if (addNew)
|
|
69
|
+
freehand prompt with "?" as default (enter "?" to browse)
|
|
70
|
+
enter rel path from container root (app root?)
|
|
71
|
+
|
|
72
|
+
3. Setting
|
|
73
|
+
select from existing
|
|
74
|
+
if file selected, merge and dim
|
|
75
|
+
(tree with "+newChild" at top of each branch) (How do you prevent selection of branch vs leaf?)
|
|
76
|
+
|
|
77
|
+
4. Scope ("Where will it apply?")
|
|
78
|
+
cabinet tree view with un-hydrated scopes dimmed, hydrated showing values
|
|
79
|
+
|
|
80
|
+
5. Value
|
|
81
|
+
(render pedigree)
|
|
82
|
+
default = flags.value ?? selectedFile.value ?? existing.value
|
|
83
|
+
|
|
84
|
+
6. Confirm or loop back around to enterprise
|
|
85
|
+
*/
|
|
86
|
+
// let cab = await this.establishCabinet(flags.cabinet, true);
|
|
87
|
+
// let configName = flags.file || CodiacConstants.DEFAULT_APP_SETTINGS_FILENAME;
|
|
88
|
+
// if (configName == PROMPT_ME_DESIGNATOR) {
|
|
89
|
+
// let confirmed = false;
|
|
90
|
+
// while (!confirmed) {
|
|
91
|
+
// // Step 1) select the distribution folder (aka: the build output folder)
|
|
92
|
+
// let folderOptions: FolderSelectionOptions = {
|
|
93
|
+
// root: this._projectRoot,
|
|
94
|
+
// startingPath: process.cwd(),
|
|
95
|
+
// };
|
|
96
|
+
// let distFolder = await this._ui.promptSelectFolder("distFolder", "Select the distribution folder (aka: the build output folder)...", folderOptions);
|
|
97
|
+
// // Step 2) select the config file within it.
|
|
98
|
+
// let options: FileSelectionOptions = {
|
|
99
|
+
// root: distFolder,
|
|
100
|
+
// startingPath: distFolder,
|
|
101
|
+
// extensions: ["json", "config", "yaml", "ini", "properties"],
|
|
102
|
+
// asRelative: true
|
|
103
|
+
// };
|
|
104
|
+
// configName = await this._ui.promptSelectFile("targetFile", "Select the target file...", options);
|
|
105
|
+
// confirmed = await this._ui.promptConfirm("targetFileCOnfirmation", `Target file: ${configName}`, true);
|
|
106
|
+
// }
|
|
107
|
+
// // this._ui.userMessage("Select the target file...")
|
|
108
|
+
// // let relativeTo = process.cwd();
|
|
109
|
+
// // let exts = ["json", "config", "yaml", "ini", "properties"];
|
|
110
|
+
// // let ptn = `\\.(${exts.join("|")})$`;
|
|
111
|
+
// // let rx = new RegExp(ptn, "i");
|
|
112
|
+
// // let options: any = {
|
|
113
|
+
// // multi: true,
|
|
114
|
+
// // clearConsole: false,
|
|
115
|
+
// // root: this._projectRoot
|
|
116
|
+
// // // fileFilter: (filename: string) => { return /\.(json|yaml|config|properties|ini)$/i.test(filename) } });
|
|
117
|
+
// // }
|
|
118
|
+
// // options.fileFilter = (fileName: string) => rx.test(fileName);
|
|
119
|
+
// // let fileResult = await selectFiles(options);
|
|
120
|
+
// // console.dir(fileResult);
|
|
121
|
+
// // if (fileResult.status == COMPLETED && fileResult.selectedFiles && fileResult.selectedFiles.length > 0) {
|
|
122
|
+
// // let selected = fileResult.selectedFiles[0];
|
|
123
|
+
// // let relPathName = path.relative(relativeTo, selected);
|
|
124
|
+
// // this._ui.userMessage(`Selected file: ${relPathName}`);
|
|
125
|
+
// // }
|
|
126
|
+
// }
|
|
127
|
+
// // 1 Get the list of available built in system settings
|
|
128
|
+
// // stub:
|
|
129
|
+
// this._appConfig = this._ops.loadConfig();
|
|
130
|
+
// let avails = await this.getAvailableSettings();
|
|
131
|
+
// // Prompt for setting if reqd
|
|
132
|
+
// let setting: string = args.setting || flags.setting;
|
|
133
|
+
// if (!setting) {
|
|
134
|
+
// let result = await inquirer.prompt({ type: 'list', name: 'setting', message: 'Setting to add:', choices: avails });
|
|
135
|
+
// setting = result.setting;
|
|
136
|
+
// }
|
|
137
|
+
// // this.log(result.setting);
|
|
138
|
+
// // PROMPT FOR VALUE (if reqd)
|
|
139
|
+
// let val: string;
|
|
140
|
+
// if (flags.value) {
|
|
141
|
+
// val = flags.value;
|
|
142
|
+
// } else {
|
|
143
|
+
// // TODO: this current value needs to support the scoped value set
|
|
144
|
+
// let currentValue = (this._appConfig) ? this._appConfig[setting] : undefined;
|
|
145
|
+
// let response = await inquirer.prompt({ type: 'input', name: 'settingValue', message: `Value for ${setting}: `, default: currentValue });
|
|
146
|
+
// val = response.settingValue;
|
|
147
|
+
// }
|
|
148
|
+
// if (flags.enterprise || flags.environment || flags.cabinet) {
|
|
149
|
+
// // WRITE SCOPED TO THE API
|
|
150
|
+
// let level: ScopeLevel = ScopeLevel.enterprise;
|
|
151
|
+
// let scopeName: string = "";
|
|
152
|
+
// if (flags.enterprise) {
|
|
153
|
+
// level = ScopeLevel.enterprise;
|
|
154
|
+
// scopeName = flags.enterprise;
|
|
155
|
+
// } else if (flags.environment) {
|
|
156
|
+
// level = ScopeLevel.environment;
|
|
157
|
+
// scopeName = flags.environment;
|
|
158
|
+
// } else if (flags.cabinet) {
|
|
159
|
+
// level = ScopeLevel.cabinet;
|
|
160
|
+
// scopeName = flags.cabinet;
|
|
161
|
+
// }
|
|
162
|
+
// this.writeSetting_Api(partialConfigDef.enterprise, partialConfigDef.asset, configName, setting, level, scopeName, val);
|
|
163
|
+
// } else {
|
|
164
|
+
// // WRITE UNSCOPED TO LOCAL
|
|
165
|
+
// this.writeSetting_local(setting, val);
|
|
166
|
+
// }
|
|
167
|
+
// this.log(`Applied ${configName} setting "${setting}" = "${val}"`);
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
catch (err) {
|
|
171
|
+
this.handleError(err);
|
|
172
|
+
throw err;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
promptForAsset(assets) {
|
|
177
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
178
|
+
try {
|
|
179
|
+
let choices = assets.map(a => { return { name: a.name, value: a.name }; });
|
|
180
|
+
let output = (yield this._ui.promptSelect("asset", "Asset: ", choices));
|
|
181
|
+
return output;
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
throw err;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
promptForValue(setting, existingValues, rootMap) {
|
|
189
|
+
var _a;
|
|
190
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
// let existingValues = partialConfigDef.settings?.filter(s => s.setting === setting.setting);
|
|
192
|
+
let pedigree = this.buildPedigreeFor(setting, existingValues, rootMap);
|
|
193
|
+
let renderPedigree = (pedigree) => {
|
|
194
|
+
if (pedigree === null || pedigree === void 0 ? void 0 : pedigree.parent)
|
|
195
|
+
renderPedigree(pedigree.parent);
|
|
196
|
+
if (pedigree.value !== undefined) {
|
|
197
|
+
this._ui.userMessage(`[in ${pedigree.scope}: ${pedigree.target}] = ${(pedigree.value === "") ? "\"\"" : pedigree.value}`);
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
if (setting.description)
|
|
201
|
+
this._ui.userMessage(setting.description);
|
|
202
|
+
if (pedigree)
|
|
203
|
+
renderPedigree(pedigree);
|
|
204
|
+
let existing = existingValues === null || existingValues === void 0 ? void 0 : existingValues.find(s => s.scope === setting.scope && s.target === setting.target);
|
|
205
|
+
let output = yield this._ui.prompt("value", `Value in ${setting.scope} ${setting.target}: `, false, (_a = setting.value) !== null && _a !== void 0 ? _a : existing === null || existing === void 0 ? void 0 : existing.value);
|
|
206
|
+
return output;
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
/** Returns the recursive parent path of values for the given setting
|
|
210
|
+
* up through the enterprise scope.
|
|
211
|
+
* Returns undefined if the given setting is already scoped to enterprise.
|
|
212
|
+
*
|
|
213
|
+
* @param existingValues This MUST be filtered for this current setting (existing.setting == setting.setting).
|
|
214
|
+
* */
|
|
215
|
+
buildPedigreeFor(setting, existingValues, rootMap) {
|
|
216
|
+
try {
|
|
217
|
+
let pedigree;
|
|
218
|
+
if (setting.scope !== codiac_relay_contracts_1.ScopeLevel.enterprise) {
|
|
219
|
+
let ent = rootMap.enterprises.find(e => e.name === setting.enterprise);
|
|
220
|
+
if (ent == undefined) {
|
|
221
|
+
throw new Error(`No enterprise found named [${setting.enterprise}]`);
|
|
222
|
+
}
|
|
223
|
+
let entSetting = existingValues === null || existingValues === void 0 ? void 0 : existingValues.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.enterprise && s.target === ent.name);
|
|
224
|
+
let entPedigree = { scope: codiac_relay_contracts_1.ScopeLevel.enterprise, target: setting.enterprise };
|
|
225
|
+
if (entSetting === null || entSetting === void 0 ? void 0 : entSetting.value) {
|
|
226
|
+
entPedigree.value = entSetting.value;
|
|
227
|
+
}
|
|
228
|
+
if (setting.scope === codiac_relay_contracts_1.ScopeLevel.cabinet) {
|
|
229
|
+
let env = ent === null || ent === void 0 ? void 0 : ent.environments.find(e => e.cabinets.find(c => c.name === setting.target));
|
|
230
|
+
if (!env) {
|
|
231
|
+
throw new Error(`No environment found containing the cabinet [${setting.target}]`);
|
|
232
|
+
}
|
|
233
|
+
pedigree = { scope: codiac_relay_contracts_1.ScopeLevel.environment, target: env.name, parent: entPedigree };
|
|
234
|
+
let envSetting = existingValues === null || existingValues === void 0 ? void 0 : existingValues.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.environment && s.target === (env === null || env === void 0 ? void 0 : env.name));
|
|
235
|
+
if (envSetting) {
|
|
236
|
+
pedigree.value = envSetting.value;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (setting.scope === codiac_relay_contracts_1.ScopeLevel.environment) {
|
|
240
|
+
pedigree = entPedigree;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return pedigree;
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
throw err;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
promptForScope(enterprise, rootMap, existings) {
|
|
250
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
251
|
+
try {
|
|
252
|
+
let output;
|
|
253
|
+
// render cab tree with all lines selectable
|
|
254
|
+
let cabTree = this.buildCabinetTree(rootMap, existings);
|
|
255
|
+
let choices = this.buildSelectChoicesFrom(cabTree);
|
|
256
|
+
let delimited = (yield this._ui.promptSelect("scope", "Apply to: ", choices, undefined, false));
|
|
257
|
+
let parts = delimited.split("|");
|
|
258
|
+
output = { scope: parts[0], target: parts[1] };
|
|
259
|
+
return output;
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
throw (err);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
buildSelectChoicesFrom(tree) {
|
|
267
|
+
try {
|
|
268
|
+
let choices = [];
|
|
269
|
+
// the value is no good here - need scope and target both available
|
|
270
|
+
render.renderStringTree(tree, (txt, item) => choices.push({ name: txt, value: item.value }));
|
|
271
|
+
// // This is one way to do it
|
|
272
|
+
// for (let item of tree) {
|
|
273
|
+
//
|
|
274
|
+
// let thisChoice: PromptChoice = { name: item.text, value: item.text };
|
|
275
|
+
// choices.push(thisChoice);
|
|
276
|
+
//
|
|
277
|
+
// if (item.children && item.children.length > 0) {
|
|
278
|
+
// let children = this.buildSelectChoicesFrom(item.children);
|
|
279
|
+
// choices.push(...children);
|
|
280
|
+
// }
|
|
281
|
+
// }
|
|
282
|
+
return choices;
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
throw err;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/** sets each value to "scope|target".
|
|
289
|
+
*
|
|
290
|
+
* This is MOSTLY a COPY-PASTE from the CabinetList command!!! This view is prob gonna be pretty common - consider promoting it to a shared utility. */
|
|
291
|
+
buildCabinetTree(rootMap, existings) {
|
|
292
|
+
var _a, _b, _c, _d;
|
|
293
|
+
let tree = [];
|
|
294
|
+
for (let ent of rootMap.enterprises) {
|
|
295
|
+
let entBranch = { text: `${ent.name} enterprise:`, value: `${codiac_relay_contracts_1.ScopeLevel.enterprise}|${ent.name}` };
|
|
296
|
+
let entSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.enterprise && s.target === ent.name);
|
|
297
|
+
if (entSetting !== undefined) {
|
|
298
|
+
let valueSuffix = this.ellipsis(35, (_a = entSetting.value) !== null && _a !== void 0 ? _a : "[set to undefined]");
|
|
299
|
+
valueSuffix = `(${valueSuffix})`;
|
|
300
|
+
entBranch.text = entBranch.text.concat(" ", this._styler.dim(valueSuffix));
|
|
301
|
+
}
|
|
302
|
+
for (let env of _.sortBy(ent.environments, e => e.sequence, e => e.name)) {
|
|
303
|
+
let envBranch = { text: `${env.name}`, value: `${codiac_relay_contracts_1.ScopeLevel.environment}|${env.name}` };
|
|
304
|
+
let envSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.environment && s.target === env.name);
|
|
305
|
+
if (envSetting !== undefined) {
|
|
306
|
+
let valueSuffix = this.ellipsis(35, (_b = envSetting.value) !== null && _b !== void 0 ? _b : "[set to undefined]");
|
|
307
|
+
valueSuffix = `(${valueSuffix})`;
|
|
308
|
+
envBranch.text = envBranch.text.concat(" ", this._styler.dim(valueSuffix));
|
|
309
|
+
}
|
|
310
|
+
for (let cab of env.cabinets) {
|
|
311
|
+
// let cwg = rootMap.clusters.find(c => c.name === cab.cluster);
|
|
312
|
+
// let clusterDesc = cwg ? ` (${cab.cluster}, ${cwg.provider} ${cwg.locationName})` : "";
|
|
313
|
+
let cabBranch = {
|
|
314
|
+
text: `${cab.name}`,
|
|
315
|
+
value: `${codiac_relay_contracts_1.ScopeLevel.cabinet}|${cab.name}`
|
|
316
|
+
};
|
|
317
|
+
let cabSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.cabinet && s.target === cab.name);
|
|
318
|
+
if (cabSetting !== undefined) {
|
|
319
|
+
let valueSuffix = this.ellipsis(35, (_c = cabSetting.value) !== null && _c !== void 0 ? _c : "[set to undefined]");
|
|
320
|
+
valueSuffix = `(${valueSuffix})`;
|
|
321
|
+
cabBranch.text = cabBranch.text.concat(" ", this._styler.dim(valueSuffix));
|
|
322
|
+
}
|
|
323
|
+
if (envBranch.children === undefined)
|
|
324
|
+
envBranch.children = [];
|
|
325
|
+
(_d = envBranch.children) === null || _d === void 0 ? void 0 : _d.push(cabBranch);
|
|
326
|
+
}
|
|
327
|
+
if (entBranch.children === undefined)
|
|
328
|
+
entBranch.children = [];
|
|
329
|
+
entBranch.children.push(envBranch);
|
|
330
|
+
}
|
|
331
|
+
tree.push(entBranch);
|
|
332
|
+
}
|
|
333
|
+
return tree;
|
|
334
|
+
}
|
|
335
|
+
/** Truncates the string to the given length with an ellipses as suffix */
|
|
336
|
+
ellipsis(maxLength, value) {
|
|
337
|
+
let output = value;
|
|
338
|
+
if (output.length > maxLength) {
|
|
339
|
+
let ellipsis = "..."; // Rather use the ellipsis character but String.fromCharCode(133) is returning a problematic character.
|
|
340
|
+
output = output.slice(0, maxLength - 1 - ellipsis.length).concat(ellipsis);
|
|
341
|
+
}
|
|
342
|
+
return output;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
*
|
|
346
|
+
* Use this inquirer plugin for navigating the object structure:
|
|
347
|
+
* https://github.com/insightfuls/inquirer-tree-prompt
|
|
348
|
+
*
|
|
349
|
+
* See if this file tree selector could be fashioned to do the same:
|
|
350
|
+
* https://github.com/anc95/inquirer-file-tree-selection
|
|
351
|
+
*
|
|
352
|
+
* @param existing
|
|
353
|
+
* @param defaultSetting
|
|
354
|
+
*/
|
|
355
|
+
promptForSetting(existing, defaultSetting) {
|
|
356
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
357
|
+
try {
|
|
358
|
+
let setting;
|
|
359
|
+
// TODO: render a tree of settings (cant select the branches, just the leaf nodes)
|
|
360
|
+
if (existing.length > 0) {
|
|
361
|
+
// let choices = existing.map(s => { return { name: s.setting, value: s.setting }; });
|
|
362
|
+
let choices = _.uniq(existing.map(s => s.setting));
|
|
363
|
+
choices.push(CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW);
|
|
364
|
+
setting = (yield this._ui.promptSelect("settingSelect", "Setting: ", choices));
|
|
365
|
+
}
|
|
366
|
+
if (setting === CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW || setting === undefined) {
|
|
367
|
+
setting = (yield this._ui.prompt("settingFreehand", "Setting (use '.' for hierarchy): "));
|
|
368
|
+
}
|
|
369
|
+
if (existing.find(s => s.setting === setting)) {
|
|
370
|
+
// matched an existing setting afterall
|
|
371
|
+
}
|
|
372
|
+
// ----------------------------------------------------------------------------------------------
|
|
373
|
+
// // Try to implement un-selectable options...
|
|
374
|
+
// let settings = ["bill", "sam", "tom", "harry"];
|
|
375
|
+
// let choices: any[] = settings.map(s => { return { name: s, value: s }; });
|
|
376
|
+
// // choices.push({ name: "some branch", value: new inquirer.Separator("--I am a branch") });
|
|
377
|
+
// choices.push(new inquirer.Separator("--I am a branch"));
|
|
378
|
+
// choices.push({ name: "sally", value: "sally" });
|
|
379
|
+
// choices.push({ name: "Sue", value: "Sue" });
|
|
380
|
+
// choices.push({ name: "Suzy", value: "Suzy" });
|
|
381
|
+
// let nada = await this._ui.promptSelect("test", "try this", choices);
|
|
382
|
+
// ----------------------------------------------------------------------------------------------
|
|
383
|
+
return setting;
|
|
384
|
+
}
|
|
385
|
+
catch (err) {
|
|
386
|
+
throw err;
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
/** Copy of this method is in config:view */
|
|
391
|
+
promptForTargetFile(enterprise, asset) {
|
|
392
|
+
var _a, _b;
|
|
393
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
394
|
+
try {
|
|
395
|
+
let crit = {
|
|
396
|
+
asset: asset,
|
|
397
|
+
enterprise: enterprise,
|
|
398
|
+
type: contracts_1.ConfigDefTypesEnum.file
|
|
399
|
+
};
|
|
400
|
+
let cfgResult = yield this._codiacApi.Call.getConfigDefs(crit, { projection: { pathsExcluded: [], pathsIncluded: ["settings", "targetFile", "format"] } });
|
|
401
|
+
if (cfgResult.error)
|
|
402
|
+
throw cfgResult.error;
|
|
403
|
+
let configs = (_a = cfgResult.output) !== null && _a !== void 0 ? _a : [];
|
|
404
|
+
let choices = configs.map(c => { return { name: c.targetFile, value: c.targetFile }; });
|
|
405
|
+
choices.push({ name: CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW, value: CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW });
|
|
406
|
+
let output; // Pick<ConfigDef, "targetFile" | "settings">;
|
|
407
|
+
let settingsInLocalFile;
|
|
408
|
+
let selected = (yield this._ui.promptSelect("fileExisting", "File: ", choices));
|
|
409
|
+
if (selected === CodiacConstants.CliConstants.CHOICE_VALUE_FOR_NEW) {
|
|
410
|
+
selected = (yield this._ui.prompt("filefreehand", "Path from image root: ('?' to browse): "));
|
|
411
|
+
if (selected === "?") {
|
|
412
|
+
let localPath = (yield this._ui.promptSelectFile("filebrowse", "Select file: ", { asRelative: true }));
|
|
413
|
+
settingsInLocalFile = yield this.extractSettingsFromFile(localPath);
|
|
414
|
+
let filename = path.basename(localPath);
|
|
415
|
+
let pathInImage = path.dirname(localPath);
|
|
416
|
+
this._ui.userMessage(`Target file: ${this._styler.hilite(filename)}`);
|
|
417
|
+
pathInImage = (yield this._ui.prompt("pathinimage", "Path from image root: ", true, pathInImage));
|
|
418
|
+
selected = path.posix.join(pathInImage, filename);
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
// the user free-handed the targetFile field
|
|
422
|
+
// this._ui.userMessage(`Target file: ${this._styler.hilite(selected)}`);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
output = {
|
|
426
|
+
targetFile: selected,
|
|
427
|
+
settings: (_b = configs.find(c => c.targetFile === selected)) === null || _b === void 0 ? void 0 : _b.settings, // in case it matches a config we pulled down
|
|
428
|
+
};
|
|
429
|
+
return output;
|
|
430
|
+
}
|
|
431
|
+
catch (err) {
|
|
432
|
+
throw err;
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
extractSettingsFromFile(relativeFilePath) {
|
|
437
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
438
|
+
try {
|
|
439
|
+
let output = [];
|
|
440
|
+
// gotta determmine the file format and parse it.
|
|
441
|
+
// This logic prob needs to come from the domain or from the relay.
|
|
442
|
+
/** let format = getDefaultDataFormat(localPath);
|
|
443
|
+
* let extracted: Object | undefined;
|
|
444
|
+
* do {
|
|
445
|
+
* try {
|
|
446
|
+
* format = format ?? (await this.promptForFormat());
|
|
447
|
+
* extracted = tryDeserialize(file, format);
|
|
448
|
+
* } catch(err) {
|
|
449
|
+
* this._ui.UserMessage(`Error parsing as ${format}: ${err.message ?? ""}`);
|
|
450
|
+
* format = undefined;
|
|
451
|
+
* }
|
|
452
|
+
* } while (!extracted);
|
|
453
|
+
*
|
|
454
|
+
* output = this.convertToStringParents(extracted);
|
|
455
|
+
*/
|
|
456
|
+
return output;
|
|
457
|
+
}
|
|
458
|
+
catch (err) {
|
|
459
|
+
throw err;
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
writeSetting_Api(enterprise, assetName, configName, setting, scopeLevel, scopeName, val) {
|
|
464
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
465
|
+
try {
|
|
466
|
+
let settingObj = Object.assign({ setting: setting, value: val, targetFile: configName, asset: assetName, enterprise: enterprise, scope: scopeLevel, target: scopeName }, this.createAuditable());
|
|
467
|
+
return this.upsertSetting(settingObj);
|
|
468
|
+
}
|
|
469
|
+
catch (err) {
|
|
470
|
+
throw err;
|
|
471
|
+
}
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
upsertSetting(settingObj) {
|
|
475
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
476
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
477
|
+
try {
|
|
478
|
+
// TODO: Look to enterprise context instead.
|
|
479
|
+
// let enterprise = /* this._cfg.enterprise || */ this._projCfg.tenantCode;
|
|
480
|
+
// TODO: Look to asset context instead - and if none, fail and call for "$ cod asset:set"
|
|
481
|
+
// let assetName = this._projCfg.name; // this needs to be taken from an image definition. (AssetBinding[] needs to be added to each ImageExport)
|
|
482
|
+
// NOTE: We could bind a config to an image name,
|
|
483
|
+
// and then allow for an Asset scope to set values on it...
|
|
484
|
+
let crit = {
|
|
485
|
+
enterprise: settingObj.enterprise,
|
|
486
|
+
asset: settingObj.asset,
|
|
487
|
+
targetFile: settingObj.targetFile,
|
|
488
|
+
scope: settingObj.scope,
|
|
489
|
+
target: settingObj.target,
|
|
490
|
+
setting: settingObj.setting
|
|
491
|
+
};
|
|
492
|
+
// TODO: Replace this with an upsert based on: enterprise, asset, configName, scopeLevel, scopeName, and setting
|
|
493
|
+
let check = yield this._codiacApi.ScopedSetting.tryReadMany(crit);
|
|
494
|
+
let resultSetting;
|
|
495
|
+
if (check.success && check.output && check.output.length > 0) {
|
|
496
|
+
settingObj.id = check.output[0].id;
|
|
497
|
+
resultSetting = yield this._codiacApi.ScopedSetting.tryUpdate(settingObj);
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
resultSetting = yield this._codiacApi.ScopedSetting.tryCreate(settingObj);
|
|
501
|
+
}
|
|
502
|
+
if (resultSetting.success) {
|
|
503
|
+
this.logger.notice(`Successfully saved setting [${settingObj.setting}] for ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
504
|
+
this._ui.userMessage(`Successfully saved setting [${settingObj.setting}] for ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
505
|
+
}
|
|
506
|
+
else if (resultSetting.error) {
|
|
507
|
+
this.logger.error(`Error saving setting [${settingObj.setting}]: ${resultSetting.message || ""}; ${resultSetting.error.message || resultSetting.error.stack}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
508
|
+
this._ui.userMessage(`Error saving setting [${settingObj.setting}]: ${resultSetting.message || ""}; ${resultSetting.error.message || resultSetting.error.stack}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
this.logger.warn(`Failed without error to save setting [${settingObj.setting}]: ${resultSetting.message || ""}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
512
|
+
this._ui.userMessage(`Failed without error to save setting [${settingObj.setting}]: ${resultSetting.message || ""}; For ${settingObj.scope} [${settingObj.target}] in ${settingObj.enterprise}/${settingObj.asset} config [${settingObj.targetFile}]`);
|
|
513
|
+
}
|
|
514
|
+
resolve();
|
|
515
|
+
}
|
|
516
|
+
catch (err) {
|
|
517
|
+
reject(err);
|
|
518
|
+
}
|
|
519
|
+
}));
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
writeSetting_local(setting, value) {
|
|
523
|
+
// Write the available setting
|
|
524
|
+
if (!this._appConfig) {
|
|
525
|
+
this._appConfig = {};
|
|
526
|
+
}
|
|
527
|
+
_.set(this._appConfig, setting, value);
|
|
528
|
+
// this._appConfig[setting] = val.settingValue;
|
|
529
|
+
this._ops.writeConfig(this._appConfig);
|
|
530
|
+
}
|
|
531
|
+
/** Retrieves the list of app config settings that are not yet explicitly declared in the app config file itself */
|
|
532
|
+
getAvailableSettings() {
|
|
533
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
534
|
+
let avails = this._ops.loadConfigKeys(this.config.root);
|
|
535
|
+
let unset = avails;
|
|
536
|
+
// Remove any settings already explicitly called from the app-config.
|
|
537
|
+
if (this._appConfig) {
|
|
538
|
+
let keys = _.keys(this._appConfig);
|
|
539
|
+
unset = _.pull(avails, ...keys);
|
|
540
|
+
}
|
|
541
|
+
return unset;
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
exports.default = ConfigAdd;
|
|
546
|
+
ConfigAdd.description = 'Adds a key value pair to the app config';
|
|
547
|
+
ConfigAdd.aliases = ['config:set', 'cfg:add'];
|
|
548
|
+
ConfigAdd.flags = {
|
|
549
|
+
help: core_1.Flags.help({ char: 'h' }),
|
|
550
|
+
setting: core_1.Flags.string({ char: 's', required: false, description: "The config key (in dotpath/JSONPath), relative to the root of the config." }),
|
|
551
|
+
value: core_1.Flags.string({ char: 'v', required: false, description: "The actual concrete data to be applied as the setting value." }),
|
|
552
|
+
enterprise: core_1.Flags.string({ char: 'n', exclusive: ["environment", "cabinet"], description: 'The name of the enterprise to which this value is to apply.' }),
|
|
553
|
+
environment: core_1.Flags.string({ char: 'e', exclusive: ["enterprise", "cabinet"], description: 'The name of the environment to which this value is to apply.' }),
|
|
554
|
+
cabinet: core_1.Flags.string({ char: 'c', exclusive: ["enterprise", "environment"], description: 'The name of the cabinet to which this value is to apply.' }),
|
|
555
|
+
file: core_1.Flags.string({ char: 'f', description: 'The path-name to the file to which the settings are written, relative to the root of the Codiac project.' })
|
|
556
|
+
};
|
|
557
|
+
ConfigAdd.args = {
|
|
558
|
+
setting: core_1.Args.string({ description: 'The key for the config setting to add' })
|
|
559
|
+
};
|
|
560
560
|
//# sourceMappingURL=add.js.map
|