@cloudbase/cli 2.3.1 → 2.3.2
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/lib/auth/index.js +18 -0
- package/lib/auth/login.js +91 -0
- package/lib/auth/logout.js +20 -0
- package/lib/commands/account/index.js +18 -0
- package/lib/commands/account/login.js +206 -0
- package/lib/commands/account/logout.js +55 -0
- package/lib/commands/common.js +221 -0
- package/lib/commands/env/base.js +127 -0
- package/lib/commands/env/domain.js +221 -0
- package/lib/commands/env/index.js +19 -0
- package/lib/commands/env/login.js +270 -0
- package/lib/commands/framework/index.js +196 -0
- package/lib/commands/functions/alias/getRoute.js +98 -0
- package/lib/commands/functions/alias/index.js +18 -0
- package/lib/commands/functions/alias/setRoute.js +100 -0
- package/lib/commands/functions/code-download.js +123 -0
- package/lib/commands/functions/code-update.js +95 -0
- package/lib/commands/functions/concurrency/delete.js +70 -0
- package/lib/commands/functions/concurrency/index.js +19 -0
- package/lib/commands/functions/concurrency/list.js +81 -0
- package/lib/commands/functions/concurrency/set.js +72 -0
- package/lib/commands/functions/config-update.js +102 -0
- package/lib/commands/functions/copy.js +85 -0
- package/lib/commands/functions/delete.js +102 -0
- package/lib/commands/functions/deploy.js +294 -0
- package/lib/commands/functions/detail.js +168 -0
- package/lib/commands/functions/index.js +33 -0
- package/lib/commands/functions/invoke.js +141 -0
- package/lib/commands/functions/layer/bind.js +190 -0
- package/lib/commands/functions/layer/common.js +12 -0
- package/lib/commands/functions/layer/create.js +77 -0
- package/lib/commands/functions/layer/delete.js +91 -0
- package/lib/commands/functions/layer/download.js +109 -0
- package/lib/commands/functions/layer/index.js +23 -0
- package/lib/commands/functions/layer/list.js +112 -0
- package/lib/commands/functions/layer/sort.js +100 -0
- package/lib/commands/functions/list.js +94 -0
- package/lib/commands/functions/log.js +154 -0
- package/lib/commands/functions/run.js +240 -0
- package/lib/commands/functions/trigger-create.js +101 -0
- package/lib/commands/functions/trigger-delete.js +123 -0
- package/lib/commands/functions/version/index.js +18 -0
- package/lib/commands/functions/version/list.js +96 -0
- package/lib/commands/functions/version/publish.js +70 -0
- package/lib/commands/gateway/create.js +127 -0
- package/lib/commands/gateway/delete.js +110 -0
- package/lib/commands/gateway/domain.js +201 -0
- package/lib/commands/gateway/index.js +21 -0
- package/lib/commands/gateway/list.js +106 -0
- package/lib/commands/gateway/switch.js +141 -0
- package/lib/commands/helpers/index.js +19 -0
- package/lib/commands/helpers/init.js +394 -0
- package/lib/commands/helpers/new.js +129 -0
- package/lib/commands/helpers/open.js +89 -0
- package/lib/commands/hosting/hosting.js +377 -0
- package/lib/commands/hosting/index.js +17 -0
- package/lib/commands/index.js +29 -0
- package/lib/commands/lowcode/app.js +217 -0
- package/lib/commands/lowcode/comps.js +373 -0
- package/lib/commands/lowcode/index.js +18 -0
- package/lib/commands/lowcode/utils.js +83 -0
- package/lib/commands/run/delete.js +101 -0
- package/lib/commands/run/image/common.js +12 -0
- package/lib/commands/run/image/delete.js +90 -0
- package/lib/commands/run/image/download.js +85 -0
- package/lib/commands/run/image/index.js +21 -0
- package/lib/commands/run/image/list.js +103 -0
- package/lib/commands/run/image/upload.js +113 -0
- package/lib/commands/run/index.js +22 -0
- package/lib/commands/run/list.js +103 -0
- package/lib/commands/run/service/config.js +112 -0
- package/lib/commands/run/service/deploy.js +154 -0
- package/lib/commands/run/service/index.js +20 -0
- package/lib/commands/run/service/list.js +115 -0
- package/lib/commands/run/service/update.js +140 -0
- package/lib/commands/run/standalonegateway/common.js +12 -0
- package/lib/commands/run/standalonegateway/create.js +105 -0
- package/lib/commands/run/standalonegateway/destroy.js +81 -0
- package/lib/commands/run/standalonegateway/index.js +21 -0
- package/lib/commands/run/standalonegateway/list.js +77 -0
- package/lib/commands/run/standalonegateway/package.js +86 -0
- package/lib/commands/run/standalonegateway/turn.js +86 -0
- package/lib/commands/run/version/common.js +12 -0
- package/lib/commands/run/version/create.js +328 -0
- package/lib/commands/run/version/delete.js +89 -0
- package/lib/commands/run/version/index.js +21 -0
- package/lib/commands/run/version/list.js +108 -0
- package/lib/commands/run/version/modify.js +141 -0
- package/lib/commands/run/version/update.js +350 -0
- package/lib/commands/smart.js +123 -0
- package/lib/commands/storage/index.js +17 -0
- package/lib/commands/storage/storage.js +510 -0
- package/lib/commands/third/index.js +17 -0
- package/lib/commands/third/thirdAttach.js +77 -0
- package/lib/completion/index.js +15 -0
- package/lib/constant.js +141 -0
- package/lib/decorators/captureError.js +30 -0
- package/lib/decorators/constants.js +15 -0
- package/lib/decorators/deprecate.js +17 -0
- package/lib/decorators/guard.js +35 -0
- package/lib/decorators/index.js +25 -0
- package/lib/decorators/injectParams.js +58 -0
- package/lib/decorators/params/common.js +16 -0
- package/lib/decorators/params/index.js +34 -0
- package/lib/env/domain.js +42 -0
- package/lib/env/index.js +80 -0
- package/lib/env/login.js +78 -0
- package/lib/error.js +17 -0
- package/lib/function/alias.js +53 -0
- package/lib/function/base.js +222 -0
- package/lib/function/code.js +52 -0
- package/lib/function/concurrency.js +69 -0
- package/lib/function/create.js +71 -0
- package/lib/function/delete.js +52 -0
- package/lib/function/index.js +27 -0
- package/lib/function/layer/attach.js +64 -0
- package/lib/function/layer/create.js +61 -0
- package/lib/function/layer/delete.js +24 -0
- package/lib/function/layer/download.js +55 -0
- package/lib/function/layer/index.js +23 -0
- package/lib/function/layer/list.js +35 -0
- package/lib/function/layer/sort.js +25 -0
- package/lib/function/trigger.js +105 -0
- package/lib/function/update.js +40 -0
- package/lib/function/version.js +51 -0
- package/lib/function/vpc.js +35 -0
- package/lib/gateway/index.js +136 -0
- package/lib/help.js +53 -0
- package/lib/hosting.js +243 -0
- package/lib/index.js +13 -0
- package/lib/logger.js +19 -0
- package/lib/run/delete.js +22 -0
- package/lib/run/image/build.js +37 -0
- package/lib/run/image/delete.js +22 -0
- package/lib/run/image/index.js +20 -0
- package/lib/run/image/info.js +29 -0
- package/lib/run/image/list.js +30 -0
- package/lib/run/index.js +23 -0
- package/lib/run/list.js +39 -0
- package/lib/run/repo.js +31 -0
- package/lib/run/service/common.js +270 -0
- package/lib/run/service/config.js +69 -0
- package/lib/run/service/deployPackage.js +82 -0
- package/lib/run/service/index.js +22 -0
- package/lib/run/service/list.js +31 -0
- package/lib/run/service/showLogs.js +116 -0
- package/lib/run/service/update.js +83 -0
- package/lib/run/standalonegateway/create.js +32 -0
- package/lib/run/standalonegateway/destroy.js +28 -0
- package/lib/run/standalonegateway/index.js +21 -0
- package/lib/run/standalonegateway/list.js +44 -0
- package/lib/run/standalonegateway/package/index.js +17 -0
- package/lib/run/standalonegateway/package/list.js +32 -0
- package/lib/run/standalonegateway/turn/index.js +18 -0
- package/lib/run/standalonegateway/turn/off.js +28 -0
- package/lib/run/standalonegateway/turn/on.js +28 -0
- package/lib/run/version/create.js +50 -0
- package/lib/run/version/delete.js +23 -0
- package/lib/run/version/index.js +22 -0
- package/lib/run/version/list.js +24 -0
- package/lib/run/version/modify.js +24 -0
- package/lib/run/version/repo.js +33 -0
- package/lib/run/version/update.js +39 -0
- package/lib/storage.js +124 -0
- package/lib/third/index.js +25 -0
- package/lib/types.js +12 -0
- package/lib/utils/auth.js +28 -0
- package/lib/utils/checkTcbrEnv.js +75 -0
- package/lib/utils/cli-table.js +18 -0
- package/lib/utils/commonParamsCheck.js +48 -0
- package/lib/utils/config.js +51 -0
- package/lib/utils/debug-logger.js +30 -0
- package/lib/utils/env.js +220 -0
- package/lib/utils/fs/del.js +11 -0
- package/lib/utils/fs/index.js +87 -0
- package/lib/utils/function-packer.js +86 -0
- package/lib/utils/index.js +37 -0
- package/lib/utils/log.js +85 -0
- package/lib/utils/net/cloud-api-request.js +63 -0
- package/lib/utils/net/credential.js +60 -0
- package/lib/utils/net/http-request.js +107 -0
- package/lib/utils/net/index.js +21 -0
- package/lib/utils/net/manager-service.js +51 -0
- package/lib/utils/net/proxy.js +9 -0
- package/lib/utils/notice.js +37 -0
- package/lib/utils/output/highlight.js +11 -0
- package/lib/utils/output/index.js +19 -0
- package/lib/utils/output/link.js +16 -0
- package/lib/utils/output/loading.js +68 -0
- package/lib/utils/parallel.js +65 -0
- package/lib/utils/platform/index.js +19 -0
- package/lib/utils/platform/mac.js +37 -0
- package/lib/utils/platform/os.js +59 -0
- package/lib/utils/platform/port.js +26 -0
- package/lib/utils/progress-bar.js +43 -0
- package/lib/utils/prompt/index.js +17 -0
- package/lib/utils/prompt/select.js +52 -0
- package/lib/utils/reporter/agree.js +31 -0
- package/lib/utils/reporter/download.js +37 -0
- package/lib/utils/reporter/index.js +19 -0
- package/lib/utils/reporter/usage.js +32 -0
- package/lib/utils/store/auth.js +58 -0
- package/lib/utils/store/common.js +8 -0
- package/lib/utils/store/db.js +78 -0
- package/lib/utils/store/index.js +21 -0
- package/lib/utils/store/usage.js +9 -0
- package/lib/utils/tcbrApi/callTcbrApi.js +38 -0
- package/lib/utils/tcbrApi/index.js +17 -0
- package/lib/utils/template.js +130 -0
- package/lib/utils/tools/encoding.js +13 -0
- package/lib/utils/tools/index.js +20 -0
- package/lib/utils/tools/object.js +28 -0
- package/lib/utils/tools/time.js +49 -0
- package/lib/utils/tools/uid.js +25 -0
- package/lib/utils/validator.js +64 -0
- package/package.json +3 -3
- package/types/auth/index.d.ts +2 -0
- package/types/auth/login.d.ts +20 -0
- package/types/auth/logout.d.ts +1 -0
- package/types/commands/account/index.d.ts +2 -0
- package/types/commands/account/login.d.ts +15 -0
- package/types/commands/account/logout.d.ts +12 -0
- package/types/commands/common.d.ts +36 -0
- package/types/commands/env/base.d.ts +27 -0
- package/types/commands/env/domain.d.ts +53 -0
- package/types/commands/env/index.d.ts +3 -0
- package/types/commands/env/login.d.ts +47 -0
- package/types/commands/framework/index.d.ts +42 -0
- package/types/commands/functions/alias/getRoute.d.ts +13 -0
- package/types/commands/functions/alias/index.d.ts +2 -0
- package/types/commands/functions/alias/setRoute.d.ts +13 -0
- package/types/commands/functions/code-download.d.ts +18 -0
- package/types/commands/functions/code-update.d.ts +18 -0
- package/types/commands/functions/concurrency/delete.d.ts +13 -0
- package/types/commands/functions/concurrency/index.d.ts +3 -0
- package/types/commands/functions/concurrency/list.d.ts +13 -0
- package/types/commands/functions/concurrency/set.d.ts +13 -0
- package/types/commands/functions/config-update.d.ts +19 -0
- package/types/commands/functions/copy.d.ts +15 -0
- package/types/commands/functions/delete.d.ts +14 -0
- package/types/commands/functions/deploy.d.ts +21 -0
- package/types/commands/functions/detail.d.ts +16 -0
- package/types/commands/functions/index.d.ts +17 -0
- package/types/commands/functions/invoke.d.ts +15 -0
- package/types/commands/functions/layer/bind.d.ts +35 -0
- package/types/commands/functions/layer/common.d.ts +8 -0
- package/types/commands/functions/layer/create.d.ts +18 -0
- package/types/commands/functions/layer/delete.d.ts +18 -0
- package/types/commands/functions/layer/download.d.ts +18 -0
- package/types/commands/functions/layer/index.d.ts +7 -0
- package/types/commands/functions/layer/list.d.ts +19 -0
- package/types/commands/functions/layer/sort.d.ts +18 -0
- package/types/commands/functions/list.d.ts +14 -0
- package/types/commands/functions/log.d.ts +15 -0
- package/types/commands/functions/run.d.ts +17 -0
- package/types/commands/functions/trigger-create.d.ts +18 -0
- package/types/commands/functions/trigger-delete.d.ts +18 -0
- package/types/commands/functions/version/index.d.ts +2 -0
- package/types/commands/functions/version/list.d.ts +13 -0
- package/types/commands/functions/version/publish.d.ts +13 -0
- package/types/commands/gateway/create.d.ts +14 -0
- package/types/commands/gateway/delete.d.ts +14 -0
- package/types/commands/gateway/domain.d.ts +47 -0
- package/types/commands/gateway/index.d.ts +5 -0
- package/types/commands/gateway/list.d.ts +15 -0
- package/types/commands/gateway/switch.d.ts +31 -0
- package/types/commands/helpers/index.d.ts +3 -0
- package/types/commands/helpers/init.d.ts +22 -0
- package/types/commands/helpers/new.d.ts +17 -0
- package/types/commands/helpers/open.d.ts +11 -0
- package/types/commands/hosting/hosting.d.ts +66 -0
- package/types/commands/hosting/index.d.ts +1 -0
- package/types/commands/index.d.ts +13 -0
- package/types/commands/lowcode/app.d.ts +42 -0
- package/types/commands/lowcode/comps.d.ts +77 -0
- package/types/commands/lowcode/index.d.ts +2 -0
- package/types/commands/lowcode/utils.d.ts +9 -0
- package/types/commands/run/delete.d.ts +13 -0
- package/types/commands/run/image/common.d.ts +8 -0
- package/types/commands/run/image/delete.d.ts +17 -0
- package/types/commands/run/image/download.d.ts +17 -0
- package/types/commands/run/image/index.d.ts +5 -0
- package/types/commands/run/image/list.d.ts +17 -0
- package/types/commands/run/image/upload.d.ts +17 -0
- package/types/commands/run/index.d.ts +6 -0
- package/types/commands/run/list.d.ts +13 -0
- package/types/commands/run/service/config.d.ts +14 -0
- package/types/commands/run/service/deploy.d.ts +13 -0
- package/types/commands/run/service/index.d.ts +4 -0
- package/types/commands/run/service/list.d.ts +13 -0
- package/types/commands/run/service/update.d.ts +13 -0
- package/types/commands/run/standalonegateway/common.d.ts +8 -0
- package/types/commands/run/standalonegateway/create.d.ts +17 -0
- package/types/commands/run/standalonegateway/destroy.d.ts +17 -0
- package/types/commands/run/standalonegateway/index.d.ts +5 -0
- package/types/commands/run/standalonegateway/list.d.ts +17 -0
- package/types/commands/run/standalonegateway/package.d.ts +17 -0
- package/types/commands/run/standalonegateway/turn.d.ts +17 -0
- package/types/commands/run/version/common.d.ts +8 -0
- package/types/commands/run/version/create.d.ts +17 -0
- package/types/commands/run/version/delete.d.ts +17 -0
- package/types/commands/run/version/index.d.ts +5 -0
- package/types/commands/run/version/list.d.ts +17 -0
- package/types/commands/run/version/modify.d.ts +17 -0
- package/types/commands/run/version/update.d.ts +17 -0
- package/types/commands/smart.d.ts +1 -0
- package/types/commands/storage/index.d.ts +1 -0
- package/types/commands/storage/storage.d.ts +106 -0
- package/types/commands/third/index.d.ts +1 -0
- package/types/commands/third/thirdAttach.d.ts +15 -0
- package/types/completion/index.d.ts +4 -0
- package/types/constant.d.ts +71 -0
- package/types/decorators/captureError.d.ts +1 -0
- package/types/decorators/constants.d.ts +11 -0
- package/types/decorators/deprecate.d.ts +4 -0
- package/types/decorators/guard.d.ts +5 -0
- package/types/decorators/index.d.ts +7 -0
- package/types/decorators/injectParams.d.ts +1 -0
- package/types/decorators/params/common.d.ts +4 -0
- package/types/decorators/params/index.d.ts +8 -0
- package/types/env/domain.d.ts +11 -0
- package/types/env/index.d.ts +12 -0
- package/types/env/login.d.ts +16 -0
- package/types/error.d.ts +20 -0
- package/types/function/alias.d.ts +3 -0
- package/types/function/base.d.ts +31 -0
- package/types/function/code.d.ts +9 -0
- package/types/function/concurrency.d.ts +4 -0
- package/types/function/create.d.ts +3 -0
- package/types/function/delete.d.ts +8 -0
- package/types/function/index.d.ts +11 -0
- package/types/function/layer/attach.d.ts +9 -0
- package/types/function/layer/create.d.ts +7 -0
- package/types/function/layer/delete.d.ts +5 -0
- package/types/function/layer/download.d.ts +8 -0
- package/types/function/layer/index.d.ts +7 -0
- package/types/function/layer/list.d.ts +9 -0
- package/types/function/layer/sort.d.ts +10 -0
- package/types/function/trigger.d.ts +5 -0
- package/types/function/update.d.ts +2 -0
- package/types/function/version.d.ts +3 -0
- package/types/function/vpc.d.ts +2 -0
- package/types/gateway/index.d.ts +18 -0
- package/types/help.d.ts +1 -0
- package/types/hosting.d.ts +35 -0
- package/types/index.d.ts +4 -0
- package/types/logger.d.ts +3 -0
- package/types/run/delete.d.ts +2 -0
- package/types/run/image/build.d.ts +10 -0
- package/types/run/image/delete.d.ts +2 -0
- package/types/run/image/index.d.ts +4 -0
- package/types/run/image/info.d.ts +1 -0
- package/types/run/image/list.d.ts +3 -0
- package/types/run/index.d.ts +7 -0
- package/types/run/list.d.ts +2 -0
- package/types/run/repo.d.ts +5 -0
- package/types/run/service/common.d.ts +42 -0
- package/types/run/service/config.d.ts +23 -0
- package/types/run/service/deployPackage.d.ts +11 -0
- package/types/run/service/index.d.ts +6 -0
- package/types/run/service/list.d.ts +2 -0
- package/types/run/service/showLogs.d.ts +2 -0
- package/types/run/service/update.d.ts +3 -0
- package/types/run/standalonegateway/create.d.ts +2 -0
- package/types/run/standalonegateway/destroy.d.ts +2 -0
- package/types/run/standalonegateway/index.d.ts +5 -0
- package/types/run/standalonegateway/list.d.ts +2 -0
- package/types/run/standalonegateway/package/index.d.ts +1 -0
- package/types/run/standalonegateway/package/list.d.ts +2 -0
- package/types/run/standalonegateway/turn/index.d.ts +2 -0
- package/types/run/standalonegateway/turn/off.d.ts +2 -0
- package/types/run/standalonegateway/turn/on.d.ts +2 -0
- package/types/run/version/create.d.ts +10 -0
- package/types/run/version/delete.d.ts +2 -0
- package/types/run/version/index.d.ts +6 -0
- package/types/run/version/list.d.ts +2 -0
- package/types/run/version/modify.d.ts +2 -0
- package/types/run/version/repo.d.ts +10 -0
- package/types/run/version/update.d.ts +6 -0
- package/types/storage.d.ts +34 -0
- package/types/third/index.d.ts +1 -0
- package/types/types.d.ts +590 -0
- package/types/utils/auth.d.ts +3 -0
- package/types/utils/checkTcbrEnv.d.ts +3 -0
- package/types/utils/cli-table.d.ts +2 -0
- package/types/utils/commonParamsCheck.d.ts +3 -0
- package/types/utils/config.d.ts +26 -0
- package/types/utils/debug-logger.d.ts +1 -0
- package/types/utils/env.d.ts +5 -0
- package/types/utils/fs/del.d.ts +1 -0
- package/types/utils/fs/index.d.ts +7 -0
- package/types/utils/function-packer.d.ts +18 -0
- package/types/utils/index.d.ts +21 -0
- package/types/utils/log.d.ts +22 -0
- package/types/utils/net/cloud-api-request.d.ts +9 -0
- package/types/utils/net/credential.d.ts +5 -0
- package/types/utils/net/http-request.d.ts +8 -0
- package/types/utils/net/index.d.ts +5 -0
- package/types/utils/net/manager-service.d.ts +4 -0
- package/types/utils/net/proxy.d.ts +1 -0
- package/types/utils/notice.d.ts +1 -0
- package/types/utils/output/highlight.d.ts +1 -0
- package/types/utils/output/index.d.ts +3 -0
- package/types/utils/output/link.d.ts +1 -0
- package/types/utils/output/loading.d.ts +18 -0
- package/types/utils/parallel.d.ts +11 -0
- package/types/utils/platform/index.d.ts +3 -0
- package/types/utils/platform/mac.d.ts +2 -0
- package/types/utils/platform/os.d.ts +2 -0
- package/types/utils/platform/port.d.ts +1 -0
- package/types/utils/progress-bar.d.ts +1 -0
- package/types/utils/prompt/index.d.ts +1 -0
- package/types/utils/prompt/select.d.ts +4 -0
- package/types/utils/reporter/agree.d.ts +1 -0
- package/types/utils/reporter/download.d.ts +1 -0
- package/types/utils/reporter/index.d.ts +3 -0
- package/types/utils/reporter/usage.d.ts +1 -0
- package/types/utils/store/auth.d.ts +8 -0
- package/types/utils/store/common.d.ts +2 -0
- package/types/utils/store/db.d.ts +15 -0
- package/types/utils/store/index.d.ts +5 -0
- package/types/utils/store/usage.d.ts +2 -0
- package/types/utils/tcbrApi/callTcbrApi.d.ts +1 -0
- package/types/utils/tcbrApi/index.d.ts +1 -0
- package/types/utils/template.d.ts +8 -0
- package/types/utils/tools/encoding.d.ts +1 -0
- package/types/utils/tools/index.d.ts +4 -0
- package/types/utils/tools/object.d.ts +1 -0
- package/types/utils/tools/time.d.ts +2 -0
- package/types/utils/tools/uid.d.ts +2 -0
- package/types/utils/validator.d.ts +9 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.validateTcrImageURL = exports.getAuthorizedTcrInstance = exports.tcbrServiceOptions = exports.mergeEnvParams = exports.parseEnvParams = exports.extractPolicyDetails = exports.convertNumber = exports.describeWxCloudBaseRunReleaseOrder = exports.describeCloudRunServerDetail = void 0;
|
|
13
|
+
const utils_1 = require("../../utils");
|
|
14
|
+
const types_1 = require("../../types");
|
|
15
|
+
const toolbox_1 = require("@cloudbase/toolbox");
|
|
16
|
+
const index_1 = require("./index");
|
|
17
|
+
const __1 = require("..");
|
|
18
|
+
const constant_1 = require("../../constant");
|
|
19
|
+
const tcbService = utils_1.CloudApiService.getInstance('tcb');
|
|
20
|
+
const tcrCloudApiService = new utils_1.CloudApiService('tcr', {}, '2019-09-24');
|
|
21
|
+
const describeCloudRunServerDetail = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
return yield (0, utils_1.callTcbrApi)('DescribeCloudRunServerDetail', {
|
|
23
|
+
EnvId: options.envId,
|
|
24
|
+
ServerName: options.serviceName,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
exports.describeCloudRunServerDetail = describeCloudRunServerDetail;
|
|
28
|
+
function describeWxCloudBaseRunReleaseOrder(options) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const res = yield tcbService.request('DescribeWxCloudBaseRunReleaseOrder', {
|
|
31
|
+
EnvId: options.envId,
|
|
32
|
+
ServerName: options.serviceName
|
|
33
|
+
});
|
|
34
|
+
return res;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
exports.describeWxCloudBaseRunReleaseOrder = describeWxCloudBaseRunReleaseOrder;
|
|
38
|
+
const convertNumber = (item) => {
|
|
39
|
+
if (isNaN(Number(item))) {
|
|
40
|
+
throw new toolbox_1.CloudBaseError(`${item} 必须为数字`);
|
|
41
|
+
}
|
|
42
|
+
return Number(item);
|
|
43
|
+
};
|
|
44
|
+
exports.convertNumber = convertNumber;
|
|
45
|
+
const extractPolicyDetails = (policyDetails) => {
|
|
46
|
+
return policyDetails.split('&').map(condition => {
|
|
47
|
+
let [type, threshold] = [condition.split('=')[0], Number(condition.split('=')[1])];
|
|
48
|
+
if (isNaN(threshold) || !['cpu', 'mem'].includes(type)) {
|
|
49
|
+
throw new toolbox_1.CloudBaseError('请输入合法的缩扩容配置');
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
PolicyType: type,
|
|
53
|
+
PolicyThreshold: threshold
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
exports.extractPolicyDetails = extractPolicyDetails;
|
|
58
|
+
const parseEnvParams = (envParams) => {
|
|
59
|
+
return envParams.split('&').reduce((acc, cur) => {
|
|
60
|
+
const [key, value] = cur.split('=');
|
|
61
|
+
acc[key] = value;
|
|
62
|
+
return acc;
|
|
63
|
+
}, {});
|
|
64
|
+
};
|
|
65
|
+
exports.parseEnvParams = parseEnvParams;
|
|
66
|
+
const mergeEnvParams = (curEnvParams, preEnvParams) => {
|
|
67
|
+
const curEnv = (0, exports.parseEnvParams)(curEnvParams);
|
|
68
|
+
const preEnv = preEnvParams ? JSON.parse(preEnvParams) : {};
|
|
69
|
+
const curEnvKeys = Object.keys(curEnv);
|
|
70
|
+
Object.entries(preEnv).forEach(([key, value]) => {
|
|
71
|
+
if (!curEnvKeys.includes(key)) {
|
|
72
|
+
curEnv[key] = value;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return JSON.stringify(curEnv);
|
|
76
|
+
};
|
|
77
|
+
exports.mergeEnvParams = mergeEnvParams;
|
|
78
|
+
function checkRequiredParams(options) {
|
|
79
|
+
if (!options.envId) {
|
|
80
|
+
throw new toolbox_1.CloudBaseError('请使用 -e 或 --envId 指定环境ID');
|
|
81
|
+
}
|
|
82
|
+
if (!options.serviceName) {
|
|
83
|
+
throw new toolbox_1.CloudBaseError('请使用 -s 或 --serviceName 指定服务名');
|
|
84
|
+
}
|
|
85
|
+
if (!options.containerPort) {
|
|
86
|
+
throw new toolbox_1.CloudBaseError('请使用 --containerPort 指定监听端口号');
|
|
87
|
+
}
|
|
88
|
+
if (!options.isCreated && !options.path && !options.custom_image) {
|
|
89
|
+
throw new toolbox_1.CloudBaseError('请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL');
|
|
90
|
+
}
|
|
91
|
+
if (options.isCreated && !options.path && !options.custom_image && !options.library_image && !options.image) {
|
|
92
|
+
throw new toolbox_1.CloudBaseError('请使用 --path 指定代码根目录或 --custom_image 指定 TCR 镜像 URL 或 --library_image 指定线上镜像 tag ');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function tcbrServiceOptions(options, isCreated, defaultOverride, previousServerConfig) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
let { noConfirm: _noConfirm = false, override: _override = (defaultOverride || false), envId, serviceName, path, cpu, mem, minNum, maxNum, policyDetails, customLogs, envParams, containerPort, remark, targetDir, dockerfile, image, custom_image, library_image, log_type, json: _json = false } = options;
|
|
98
|
+
checkRequiredParams({
|
|
99
|
+
envId,
|
|
100
|
+
serviceName,
|
|
101
|
+
containerPort,
|
|
102
|
+
isCreated,
|
|
103
|
+
path,
|
|
104
|
+
custom_image,
|
|
105
|
+
library_image,
|
|
106
|
+
image
|
|
107
|
+
});
|
|
108
|
+
containerPort = Number(containerPort);
|
|
109
|
+
const deployByImage = Boolean(custom_image || library_image || image);
|
|
110
|
+
const DeployInfo = {
|
|
111
|
+
DeployType: deployByImage ? types_1.DEPLOY_TYPE.IMAGE : types_1.DEPLOY_TYPE.PACKAGE,
|
|
112
|
+
DeployRemark: remark || '',
|
|
113
|
+
ReleaseType: 'FULL'
|
|
114
|
+
};
|
|
115
|
+
let { cpuConverted, memConverted, maxNumConverted, minNumConverted } = (0, utils_1.parseOptionalParams)({
|
|
116
|
+
cpu,
|
|
117
|
+
mem,
|
|
118
|
+
maxNum,
|
|
119
|
+
minNum
|
|
120
|
+
});
|
|
121
|
+
if (log_type && log_type !== "none") {
|
|
122
|
+
throw new toolbox_1.CloudBaseError('日志类型 log_type 只能为 none,如需自定义日志,请前往控制台配置');
|
|
123
|
+
}
|
|
124
|
+
const defaultLogType = "none";
|
|
125
|
+
const newServiceOptions = {
|
|
126
|
+
ServerName: serviceName,
|
|
127
|
+
EnvId: envId,
|
|
128
|
+
ServerConfig: {
|
|
129
|
+
EnvId: envId,
|
|
130
|
+
MaxNum: (0, utils_1.parseInputParam)(maxNumConverted, _override, exports.convertNumber, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.MaxNum, 50),
|
|
131
|
+
MinNum: (0, utils_1.parseInputParam)(minNumConverted, _override, exports.convertNumber, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.MinNum, 0),
|
|
132
|
+
BuildDir: (0, utils_1.parseInputParam)(targetDir, _override, null, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.BuildDir, '.'),
|
|
133
|
+
Cpu: (0, utils_1.parseInputParam)(cpuConverted, _override, null, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.Cpu, 0.5),
|
|
134
|
+
Mem: (0, utils_1.parseInputParam)(memConverted, _override, null, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.Mem, 1),
|
|
135
|
+
OpenAccessTypes: ['PUBLIC'],
|
|
136
|
+
ServerName: serviceName,
|
|
137
|
+
InitialDelaySeconds: 2,
|
|
138
|
+
CustomLogs: (0, utils_1.parseInputParam)(customLogs, _override, null, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.CustomLogs, 'stdout'),
|
|
139
|
+
CreateTime: (previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.CreateTime) || (new Date()).toLocaleString().replace(/\//g, '-'),
|
|
140
|
+
PolicyDetails: (0, utils_1.parseInputParam)(policyDetails, _override, exports.extractPolicyDetails, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.PolicyDetails, constant_1.DEFAULT_CPU_MEM_SET),
|
|
141
|
+
EnvParams: (0, utils_1.parseInputParam)(envParams, _override, exports.mergeEnvParams, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.EnvParams, '', previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.EnvParams),
|
|
142
|
+
Port: containerPort,
|
|
143
|
+
HasDockerfile: true,
|
|
144
|
+
Dockerfile: dockerfile || 'Dockerfile',
|
|
145
|
+
LogType: (0, utils_1.parseInputParam)(log_type, _override, null, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.LogType, defaultLogType),
|
|
146
|
+
LogSetId: previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.LogSetId,
|
|
147
|
+
LogTopicId: previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.LogTopicId,
|
|
148
|
+
LogParseType: previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.LogParseType,
|
|
149
|
+
},
|
|
150
|
+
DeployInfo: Object.assign({}, DeployInfo)
|
|
151
|
+
};
|
|
152
|
+
if (DeployInfo.DeployType === types_1.DEPLOY_TYPE.PACKAGE) {
|
|
153
|
+
const { PackageName, PackageVersion } = yield (0, index_1.packageDeploy)({
|
|
154
|
+
envId,
|
|
155
|
+
serviceName,
|
|
156
|
+
filePath: path,
|
|
157
|
+
});
|
|
158
|
+
DeployInfo.PackageName = PackageName;
|
|
159
|
+
DeployInfo.PackageVersion = PackageVersion;
|
|
160
|
+
}
|
|
161
|
+
else if (DeployInfo.DeployType === types_1.DEPLOY_TYPE.IMAGE) {
|
|
162
|
+
if (custom_image) {
|
|
163
|
+
const authorizedTcrInstances = yield getAuthorizedTcrInstance(envId);
|
|
164
|
+
if (!authorizedTcrInstances) {
|
|
165
|
+
const link = `https://console.cloud.tencent.com/tcbr/env?/tcbr/env=&envId=${envId}`;
|
|
166
|
+
throw new toolbox_1.CloudBaseError(`您还未授权 tcr 实例,请先到控制台授权:${(0, utils_1.genClickableLink)(link)}`);
|
|
167
|
+
}
|
|
168
|
+
yield validateTcrImageURL(authorizedTcrInstances, custom_image);
|
|
169
|
+
DeployInfo.ImageUrl = custom_image;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
const imageList = yield (0, __1.listImage)({
|
|
173
|
+
envId,
|
|
174
|
+
serviceName
|
|
175
|
+
});
|
|
176
|
+
if (library_image) {
|
|
177
|
+
const imageInfo = imageList.find(({ Tag }) => Tag === library_image);
|
|
178
|
+
if (!imageInfo) {
|
|
179
|
+
throw new toolbox_1.CloudBaseError(`镜像 ${library_image} 不存在`);
|
|
180
|
+
}
|
|
181
|
+
DeployInfo.ImageUrl = imageInfo.ImageUrl;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
throw new toolbox_1.CloudBaseError('暂不支持 --image 参数,请使用 --custom_image 指定 tcr 镜像 URL 或 --library_image 指定线上镜像 tag');
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
newServiceOptions.DeployInfo = Object.assign({}, DeployInfo);
|
|
189
|
+
return newServiceOptions;
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
exports.tcbrServiceOptions = tcbrServiceOptions;
|
|
193
|
+
function getAuthorizedTcrInstance(envId) {
|
|
194
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
195
|
+
let { data: { TcrInstances: authorizedTcrInstances } } = yield (0, utils_1.callTcbrApi)('DescribeTcrInstances', {
|
|
196
|
+
EnvId: envId
|
|
197
|
+
});
|
|
198
|
+
return authorizedTcrInstances;
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
exports.getAuthorizedTcrInstance = getAuthorizedTcrInstance;
|
|
202
|
+
function validateTcrImageURL(authorizedTcrInstances, imageUrl) {
|
|
203
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
+
const errMsg = '镜像URL解析失败,请检查输入的镜像URL是否正确';
|
|
205
|
+
try {
|
|
206
|
+
const host = imageUrl.split('/')[0];
|
|
207
|
+
const namespace = imageUrl.split('/')[1];
|
|
208
|
+
const name = `${namespace}/${imageUrl.split('/')[2].split(':')[0]}`;
|
|
209
|
+
const tag = imageUrl.split('/')[2].split(':')[1];
|
|
210
|
+
const filteredInstances = authorizedTcrInstances === null || authorizedTcrInstances === void 0 ? void 0 : authorizedTcrInstances.filter(({ Domain }) => host === Domain);
|
|
211
|
+
if (!(filteredInstances === null || filteredInstances === void 0 ? void 0 : filteredInstances.length)) {
|
|
212
|
+
throw new toolbox_1.CloudBaseError(errMsg);
|
|
213
|
+
}
|
|
214
|
+
const reposUnderSpecifiedRegistry = [];
|
|
215
|
+
for (const registry of filteredInstances) {
|
|
216
|
+
const repos = [];
|
|
217
|
+
let { Id: registryId, Domain: domain } = registry;
|
|
218
|
+
const limit = 100;
|
|
219
|
+
let curIndex = 1;
|
|
220
|
+
let totalCount = 0;
|
|
221
|
+
do {
|
|
222
|
+
const rsp = yield tcrCloudApiService.request('DescribeRepositories', {
|
|
223
|
+
RegistryId: registryId,
|
|
224
|
+
Offset: curIndex,
|
|
225
|
+
Limit: limit
|
|
226
|
+
});
|
|
227
|
+
repos.push(...rsp.RepositoryList);
|
|
228
|
+
curIndex += 1;
|
|
229
|
+
totalCount = rsp.TotalCount;
|
|
230
|
+
} while (repos.length < totalCount);
|
|
231
|
+
reposUnderSpecifiedRegistry.push({ registryId, domain, repos });
|
|
232
|
+
}
|
|
233
|
+
const filteredRepos = [];
|
|
234
|
+
for (const repo of reposUnderSpecifiedRegistry) {
|
|
235
|
+
const { registryId, repos } = repo;
|
|
236
|
+
filteredRepos.push(...repos.filter(({ Name }) => Name === name));
|
|
237
|
+
if (!(filteredRepos === null || filteredRepos === void 0 ? void 0 : filteredRepos.length)) {
|
|
238
|
+
throw new toolbox_1.CloudBaseError(errMsg);
|
|
239
|
+
}
|
|
240
|
+
filteredRepos.forEach(item => { item.registryId = registryId; });
|
|
241
|
+
}
|
|
242
|
+
for (const repoItem of filteredRepos) {
|
|
243
|
+
const { Name, Namespace, registryId } = repoItem;
|
|
244
|
+
const images = [];
|
|
245
|
+
const limit = 100;
|
|
246
|
+
let curIndex = 1;
|
|
247
|
+
let totalCount = 0;
|
|
248
|
+
do {
|
|
249
|
+
const rsp = yield tcrCloudApiService.request('DescribeImages', {
|
|
250
|
+
RegistryId: registryId,
|
|
251
|
+
NamespaceName: Namespace,
|
|
252
|
+
RepositoryName: Name.split(`${Namespace}/`)[1],
|
|
253
|
+
Offset: curIndex,
|
|
254
|
+
Limit: limit
|
|
255
|
+
});
|
|
256
|
+
images.push(...rsp.ImageInfoList);
|
|
257
|
+
curIndex += 1;
|
|
258
|
+
totalCount = rsp.TotalCount;
|
|
259
|
+
} while (images.length < totalCount);
|
|
260
|
+
if (!images.some(({ ImageVersion }) => ImageVersion === tag)) {
|
|
261
|
+
throw new toolbox_1.CloudBaseError(errMsg);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
catch (e) {
|
|
266
|
+
throw new toolbox_1.CloudBaseError(errMsg);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
exports.validateTcrImageURL = validateTcrImageURL;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.updateCloudRunServerConfig = exports.tcbrServiceConfigOptions = void 0;
|
|
13
|
+
const toolbox_1 = require("@cloudbase/toolbox");
|
|
14
|
+
const common_1 = require("./common");
|
|
15
|
+
const utils_1 = require("../../utils");
|
|
16
|
+
function tcbrServiceConfigOptions(options) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
let { serviceName, envId, cpu, mem, minNum, maxNum, policyDetails, customLogs, envParams, } = options;
|
|
19
|
+
if (!envId) {
|
|
20
|
+
throw new toolbox_1.CloudBaseError('必须使用 -e 或 --envId 指定环境ID');
|
|
21
|
+
}
|
|
22
|
+
if (!serviceName) {
|
|
23
|
+
throw new toolbox_1.CloudBaseError('必须使用 -s 或 --serviceName 指定服务名');
|
|
24
|
+
}
|
|
25
|
+
let { cpuConverted, memConverted, maxNumConverted, minNumConverted } = (0, utils_1.parseOptionalParams)({
|
|
26
|
+
cpu,
|
|
27
|
+
mem,
|
|
28
|
+
maxNum,
|
|
29
|
+
minNum
|
|
30
|
+
});
|
|
31
|
+
const serviceInfo = yield (0, common_1.describeCloudRunServerDetail)({
|
|
32
|
+
envId,
|
|
33
|
+
serviceName
|
|
34
|
+
});
|
|
35
|
+
if (serviceInfo instanceof Error && serviceInfo['code'] === 'InvalidParameter') {
|
|
36
|
+
throw new toolbox_1.CloudBaseError(`服务不存在,请检查服务名是否正确或到控制台 ${(0, utils_1.genClickableLink)('https://console.cloud.tencent.com/tcbr')} 创建服务`);
|
|
37
|
+
}
|
|
38
|
+
const { ServerConfig: previousServerConfig } = serviceInfo.data;
|
|
39
|
+
const newServiceOptions = {
|
|
40
|
+
EnvId: envId,
|
|
41
|
+
ServerName: serviceName,
|
|
42
|
+
OpenAccessTypes: previousServerConfig.OpenAccessTypes,
|
|
43
|
+
Cpu: cpuConverted || previousServerConfig.Cpu,
|
|
44
|
+
Mem: memConverted || previousServerConfig.Mem,
|
|
45
|
+
MinNum: minNumConverted || previousServerConfig.MinNum,
|
|
46
|
+
MaxNum: maxNumConverted || previousServerConfig.MaxNum,
|
|
47
|
+
PolicyDetails: policyDetails ? (0, common_1.extractPolicyDetails)(policyDetails) : previousServerConfig.PolicyDetails,
|
|
48
|
+
CustomLogs: customLogs || previousServerConfig.CustomLogs,
|
|
49
|
+
EnvParams: envParams ? (0, common_1.mergeEnvParams)(envParams, previousServerConfig === null || previousServerConfig === void 0 ? void 0 : previousServerConfig.EnvParams) : previousServerConfig.EnvParams,
|
|
50
|
+
InitialDelaySeconds: 2,
|
|
51
|
+
CreateTime: previousServerConfig.CreateTime,
|
|
52
|
+
Port: previousServerConfig.Port,
|
|
53
|
+
HasDockerfile: true,
|
|
54
|
+
Dockerfile: previousServerConfig.Dockerfile,
|
|
55
|
+
BuildDir: previousServerConfig.BuildDir,
|
|
56
|
+
};
|
|
57
|
+
return newServiceOptions;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
exports.tcbrServiceConfigOptions = tcbrServiceConfigOptions;
|
|
61
|
+
function updateCloudRunServerConfig(options) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
return yield (0, utils_1.callTcbrApi)('UpdateCloudRunServerConfig', {
|
|
64
|
+
EnvId: options.envId,
|
|
65
|
+
ServerBaseConfig: options.ServerBaseConfig,
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
exports.updateCloudRunServerConfig = updateCloudRunServerConfig;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.packageDeploy = void 0;
|
|
39
|
+
const path_1 = __importDefault(require("path"));
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const __1 = require("..");
|
|
42
|
+
const toolbox_1 = require("@cloudbase/toolbox");
|
|
43
|
+
function packageDeploy(options) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
let { envId, serviceName, filePath, fileToIgnore } = options;
|
|
46
|
+
let { PackageName, PackageVersion, UploadUrl, UploadHeaders } = yield (0, __1.createBuild)({
|
|
47
|
+
envId,
|
|
48
|
+
serviceName
|
|
49
|
+
});
|
|
50
|
+
const loading = (0, toolbox_1.loadingFactory)();
|
|
51
|
+
const zipFile = `.tcbr_${serviceName}_${Date.now()}.zip`;
|
|
52
|
+
const dstPath = path_1.default.join(process.cwd(), zipFile);
|
|
53
|
+
try {
|
|
54
|
+
if (fs.statSync(filePath).isDirectory()) {
|
|
55
|
+
loading.start('正在压缩文件…');
|
|
56
|
+
yield (0, toolbox_1.zipDir)(filePath, dstPath, fileToIgnore);
|
|
57
|
+
loading.succeed('压缩文件完成');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (error.code === 'ENOENT') {
|
|
62
|
+
throw new toolbox_1.CloudBaseError('找不到指定文件夹,请检查文件路径是否正确');
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
throw new toolbox_1.CloudBaseError(error.message);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
return yield (0, toolbox_1.execWithLoading)(() => __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
yield (0, __1.uploadZip)(zipFile, UploadUrl, UploadHeaders[0]);
|
|
71
|
+
return { PackageName, PackageVersion };
|
|
72
|
+
}), {
|
|
73
|
+
startTip: '\n正在上传代码包...',
|
|
74
|
+
failTip: '上传代码包失败,请稍后重试'
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
yield fs.promises.unlink(dstPath);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
exports.packageDeploy = packageDeploy;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./list"), exports);
|
|
18
|
+
__exportStar(require("./showLogs"), exports);
|
|
19
|
+
__exportStar(require("./deployPackage"), exports);
|
|
20
|
+
__exportStar(require("./common"), exports);
|
|
21
|
+
__exportStar(require("./update"), exports);
|
|
22
|
+
__exportStar(require("./config"), exports);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.listService = void 0;
|
|
13
|
+
const utils_1 = require("../../utils");
|
|
14
|
+
const tcbService = utils_1.CloudApiService.getInstance('tcb');
|
|
15
|
+
const listService = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const { data: { ServerList: serverList } } = yield (0, utils_1.callTcbrApi)('DescribeCloudRunServers', {
|
|
17
|
+
EnvId: options.envId,
|
|
18
|
+
});
|
|
19
|
+
const { CloudBaseRunServerSet: serverSet } = yield tcbService.request('DescribeCloudBaseRunServers', {
|
|
20
|
+
EnvId: options.envId,
|
|
21
|
+
Offset: 0,
|
|
22
|
+
Limit: options.limit || 100
|
|
23
|
+
});
|
|
24
|
+
if (!serverList.length)
|
|
25
|
+
return [];
|
|
26
|
+
const serverInfo = serverList.map(serverItem => {
|
|
27
|
+
return Object.assign(Object.assign({}, serverItem), { CreatedTime: serverSet.find((item) => item.ServerName === serverItem.ServerName).CreatedTime });
|
|
28
|
+
});
|
|
29
|
+
return serverInfo;
|
|
30
|
+
});
|
|
31
|
+
exports.listService = listService;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.getLogs = exports.getBuildStatus = void 0;
|
|
16
|
+
const utils_1 = require("../../utils");
|
|
17
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
18
|
+
function getBuildStatus(envId, serviceName) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const { data: deployRes } = yield (0, utils_1.callTcbrApi)('DescribeCloudRunDeployRecord', {
|
|
21
|
+
EnvId: envId,
|
|
22
|
+
ServerName: serviceName,
|
|
23
|
+
});
|
|
24
|
+
if (deployRes === null || deployRes === void 0 ? void 0 : deployRes.DeployRecords) {
|
|
25
|
+
if ((deployRes === null || deployRes === void 0 ? void 0 : deployRes.DeployRecords[0].Status) === "deploying") {
|
|
26
|
+
return Promise.resolve('pending');
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return Promise.resolve('completed');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return Promise.resolve('pending');
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
exports.getBuildStatus = getBuildStatus;
|
|
38
|
+
function getBuildId(envId, serviceName) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const { data: deployRes } = yield (0, utils_1.callTcbrApi)('DescribeCloudRunDeployRecord', {
|
|
41
|
+
EnvId: envId,
|
|
42
|
+
ServerName: serviceName,
|
|
43
|
+
});
|
|
44
|
+
if (deployRes === null || deployRes === void 0 ? void 0 : deployRes.DeployRecords) {
|
|
45
|
+
if (deployRes.DeployRecords[0].Status !== 'deploying') {
|
|
46
|
+
return Promise.resolve(deployRes.DeployRecords[0].BuildId);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function getRunId(envId, serviceName) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
const timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
const { data: deployRes } = yield (0, utils_1.callTcbrApi)('DescribeCloudRunDeployRecord', {
|
|
56
|
+
EnvId: envId,
|
|
57
|
+
ServerName: serviceName,
|
|
58
|
+
});
|
|
59
|
+
if (deployRes === null || deployRes === void 0 ? void 0 : deployRes.DeployRecords) {
|
|
60
|
+
clearInterval(timer);
|
|
61
|
+
resolve(deployRes.DeployRecords[0].RunId);
|
|
62
|
+
}
|
|
63
|
+
}), 3000);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function showProcessLogs(envId, runId, serviceName) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
return new Promise(resolve => {
|
|
70
|
+
const timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
if ((yield getBuildStatus(envId, serviceName)) === 'completed') {
|
|
72
|
+
clearInterval(timer);
|
|
73
|
+
resolve();
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const { data: processLogs } = yield (0, utils_1.callTcbrApi)('DescribeCloudRunProcessLog', {
|
|
77
|
+
EnvId: envId,
|
|
78
|
+
RunId: runId,
|
|
79
|
+
});
|
|
80
|
+
if (processLogs === null || processLogs === void 0 ? void 0 : processLogs.Logs) {
|
|
81
|
+
console.log(processLogs === null || processLogs === void 0 ? void 0 : processLogs.Logs.join('\n'));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}), 5000);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function showBuildLogs(envId, serviceName, serverVersion = '', offset = 0) {
|
|
89
|
+
var _a, _b;
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const buildId = yield getBuildId(envId, serviceName);
|
|
92
|
+
const { data } = yield (0, utils_1.callTcbrApi)('DescribeCloudRunBuildLog', {
|
|
93
|
+
EnvId: envId,
|
|
94
|
+
BuildId: buildId,
|
|
95
|
+
ServerName: serviceName,
|
|
96
|
+
ServerVersion: serverVersion || '',
|
|
97
|
+
Offset: offset || 0,
|
|
98
|
+
});
|
|
99
|
+
if ((_a = data === null || data === void 0 ? void 0 : data.Log) === null || _a === void 0 ? void 0 : _a.Text) {
|
|
100
|
+
console.log((_b = data === null || data === void 0 ? void 0 : data.Log) === null || _b === void 0 ? void 0 : _b.Text);
|
|
101
|
+
}
|
|
102
|
+
return Promise.resolve();
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function getLogs(options) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const runId = yield getRunId(options.envId, options.serviceName);
|
|
108
|
+
console.log(chalk_1.default.blue('============ 日志开始 ==============='));
|
|
109
|
+
yield showProcessLogs(options.envId, runId, options.serviceName);
|
|
110
|
+
if ((yield getBuildStatus(options.envId, options.serviceName)) === 'completed') {
|
|
111
|
+
yield showBuildLogs(options.envId, options.serviceName);
|
|
112
|
+
}
|
|
113
|
+
console.log(chalk_1.default.blue('============ 日志结束 ==============='));
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
exports.getLogs = getLogs;
|