@cloudbase/cli 2.0.12 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/.history/.gitignore_20220624162613 +84 -0
  2. package/.history/.gitignore_20220627114054 +86 -0
  3. package/.history/package_20220711204706.json +88 -0
  4. package/.history/package_20220711204818.json +88 -0
  5. package/.history/package_20220712151717.json +88 -0
  6. package/.history/package_20220712212537.json +88 -0
  7. package/.history/package_20220722205058.json +88 -0
  8. package/.history/package_20220726110155.json +88 -0
  9. package/.history/package_20220726110201.json +88 -0
  10. package/.history/package_20220728110905.json +88 -0
  11. package/.history/package_20220728110936.json +88 -0
  12. package/.history/package_20220728111531.json +89 -0
  13. package/.history/package_20220728111810.json +89 -0
  14. package/.history/src/commands/lowcode/app_20220728111717.ts +52 -0
  15. package/{src/commands/lowcode/app.ts → .history/src/commands/lowcode/app_20220728112031.ts} +2 -2
  16. package/{src/index.ts → .history/src/index_20220624162613.ts} +0 -0
  17. package/.history/src/index_20220627113609.ts +15 -0
  18. package/.history/src/index_20220627114102.ts +13 -0
  19. package/.vscode/launch.json +10 -0
  20. package/bin/cloudbase.js +0 -0
  21. package/bin/tcb.js +5 -5
  22. package/lib/commands/account/login.js +3 -6
  23. package/lib/commands/env/index.js +0 -1
  24. package/lib/commands/lowcode/app.js +1 -1
  25. package/lib/commands/run/index.js +0 -1
  26. package/lib/commands/run/service/deploy.js +6 -1
  27. package/lib/commands/run/service/index.js +0 -1
  28. package/lib/commands/run/service/update.js +4 -0
  29. package/lib/constant.js +15 -1
  30. package/lib/env/index.js +1 -11
  31. package/lib/run/index.js +0 -1
  32. package/lib/run/service/common.js +20 -7
  33. package/lib/run/service/config.js +2 -3
  34. package/lib/run/service/deployPackage.js +2 -9
  35. package/lib/run/service/index.js +0 -1
  36. package/lib/run/service/update.js +1 -1
  37. package/lib/utils/debug-logger.js +30 -0
  38. package/lib/utils/net/cloud-api-request.js +7 -1
  39. package/lib/utils/net/http-request.js +16 -5
  40. package/package.json +2 -2
  41. package/types/commands/env/index.d.ts +0 -1
  42. package/types/commands/run/index.d.ts +0 -1
  43. package/types/commands/run/service/index.d.ts +0 -1
  44. package/types/env/index.d.ts +0 -6
  45. package/types/run/index.d.ts +0 -1
  46. package/types/run/service/common.d.ts +8 -1
  47. package/types/run/service/index.d.ts +0 -1
  48. package/types/types.d.ts +4 -0
  49. package/types/utils/debug-logger.d.ts +1 -0
  50. package/types/utils/net/http-request.d.ts +6 -2
  51. package/lib/commands/env/create.js +0 -115
  52. package/lib/commands/run/create.js +0 -162
  53. package/lib/commands/run/service/create.js +0 -144
  54. package/lib/run/create.js +0 -19
  55. package/lib/run/service/create.js +0 -67
  56. package/src/auth/index.ts +0 -2
  57. package/src/auth/login.ts +0 -91
  58. package/src/auth/logout.ts +0 -7
  59. package/src/commands/account/index.ts +0 -2
  60. package/src/commands/account/login.ts +0 -192
  61. package/src/commands/account/logout.ts +0 -24
  62. package/src/commands/common.ts +0 -246
  63. package/src/commands/env/base.ts +0 -90
  64. package/src/commands/env/create.ts +0 -92
  65. package/src/commands/env/domain.ts +0 -186
  66. package/src/commands/env/index.ts +0 -4
  67. package/src/commands/env/login.ts +0 -235
  68. package/src/commands/framework/index.ts +0 -124
  69. package/src/commands/functions/alias/getRoute.ts +0 -76
  70. package/src/commands/functions/alias/index.ts +0 -2
  71. package/src/commands/functions/alias/setRoute.ts +0 -82
  72. package/src/commands/functions/code-download.ts +0 -100
  73. package/src/commands/functions/code-update.ts +0 -62
  74. package/src/commands/functions/concurrency/delete.ts +0 -45
  75. package/src/commands/functions/concurrency/index.ts +0 -3
  76. package/src/commands/functions/concurrency/list.ts +0 -58
  77. package/src/commands/functions/concurrency/set.ts +0 -47
  78. package/src/commands/functions/config-update.ts +0 -76
  79. package/src/commands/functions/copy.ts +0 -62
  80. package/src/commands/functions/delete.ts +0 -79
  81. package/src/commands/functions/deploy.ts +0 -293
  82. package/src/commands/functions/detail.ts +0 -138
  83. package/src/commands/functions/index.ts +0 -16
  84. package/src/commands/functions/invoke.ts +0 -121
  85. package/src/commands/functions/layer/bind.ts +0 -182
  86. package/src/commands/functions/layer/common.ts +0 -8
  87. package/src/commands/functions/layer/create.ts +0 -49
  88. package/src/commands/functions/layer/delete.ts +0 -73
  89. package/src/commands/functions/layer/download.ts +0 -92
  90. package/src/commands/functions/layer/index.ts +0 -7
  91. package/src/commands/functions/layer/list.ts +0 -94
  92. package/src/commands/functions/layer/sort.ts +0 -76
  93. package/src/commands/functions/list.ts +0 -68
  94. package/src/commands/functions/log.ts +0 -148
  95. package/src/commands/functions/run.ts +0 -249
  96. package/src/commands/functions/trigger-create.ts +0 -79
  97. package/src/commands/functions/trigger-delete.ts +0 -105
  98. package/src/commands/functions/version/index.ts +0 -2
  99. package/src/commands/functions/version/list.ts +0 -73
  100. package/src/commands/functions/version/publish.ts +0 -43
  101. package/src/commands/gateway/create.ts +0 -109
  102. package/src/commands/gateway/delete.ts +0 -81
  103. package/src/commands/gateway/domain.ts +0 -159
  104. package/src/commands/gateway/index.ts +0 -5
  105. package/src/commands/gateway/list.ts +0 -76
  106. package/src/commands/gateway/switch.ts +0 -107
  107. package/src/commands/helpers/index.ts +0 -3
  108. package/src/commands/helpers/init.ts +0 -431
  109. package/src/commands/helpers/new.ts +0 -117
  110. package/src/commands/helpers/open.ts +0 -67
  111. package/src/commands/hosting/hosting.ts +0 -360
  112. package/src/commands/hosting/index.ts +0 -1
  113. package/src/commands/index.ts +0 -13
  114. package/src/commands/lowcode/comps.ts +0 -325
  115. package/src/commands/lowcode/index.ts +0 -2
  116. package/src/commands/lowcode/utils.ts +0 -25
  117. package/src/commands/run/create.ts +0 -153
  118. package/src/commands/run/delete.ts +0 -77
  119. package/src/commands/run/image/common.ts +0 -8
  120. package/src/commands/run/image/delete.ts +0 -68
  121. package/src/commands/run/image/download.ts +0 -68
  122. package/src/commands/run/image/index.ts +0 -5
  123. package/src/commands/run/image/list.ts +0 -84
  124. package/src/commands/run/image/upload.ts +0 -76
  125. package/src/commands/run/index.ts +0 -7
  126. package/src/commands/run/list.ts +0 -83
  127. package/src/commands/run/service/config.ts +0 -81
  128. package/src/commands/run/service/create.ts +0 -122
  129. package/src/commands/run/service/deploy.ts +0 -125
  130. package/src/commands/run/service/index.ts +0 -5
  131. package/src/commands/run/service/list.ts +0 -94
  132. package/src/commands/run/service/update.ts +0 -108
  133. package/src/commands/run/standalonegateway/common.ts +0 -8
  134. package/src/commands/run/standalonegateway/create.ts +0 -85
  135. package/src/commands/run/standalonegateway/destroy.ts +0 -59
  136. package/src/commands/run/standalonegateway/index.ts +0 -5
  137. package/src/commands/run/standalonegateway/list.ts +0 -53
  138. package/src/commands/run/standalonegateway/package.ts +0 -62
  139. package/src/commands/run/standalonegateway/turn.ts +0 -63
  140. package/src/commands/run/version/common.ts +0 -8
  141. package/src/commands/run/version/create.ts +0 -369
  142. package/src/commands/run/version/delete.ts +0 -64
  143. package/src/commands/run/version/index.ts +0 -5
  144. package/src/commands/run/version/list.ts +0 -91
  145. package/src/commands/run/version/modify.ts +0 -137
  146. package/src/commands/run/version/update.ts +0 -398
  147. package/src/commands/smart.ts +0 -132
  148. package/src/commands/storage/index.ts +0 -1
  149. package/src/commands/storage/storage.ts +0 -464
  150. package/src/commands/third/index.ts +0 -1
  151. package/src/commands/third/thirdAttach.ts +0 -49
  152. package/src/completion/index.ts +0 -13
  153. package/src/constant.ts +0 -154
  154. package/src/decorators/captureError.ts +0 -25
  155. package/src/decorators/constants.ts +0 -12
  156. package/src/decorators/deprecate.ts +0 -25
  157. package/src/decorators/guard.ts +0 -42
  158. package/src/decorators/index.ts +0 -7
  159. package/src/decorators/injectParams.ts +0 -54
  160. package/src/decorators/params/common.ts +0 -28
  161. package/src/decorators/params/index.ts +0 -35
  162. package/src/env/domain.ts +0 -33
  163. package/src/env/index.ts +0 -63
  164. package/src/env/login.ts +0 -80
  165. package/src/error.ts +0 -36
  166. package/src/function/alias.ts +0 -43
  167. package/src/function/base.ts +0 -253
  168. package/src/function/code.ts +0 -55
  169. package/src/function/concurrency.ts +0 -57
  170. package/src/function/create.ts +0 -78
  171. package/src/function/delete.ts +0 -42
  172. package/src/function/index.ts +0 -11
  173. package/src/function/layer/attach.ts +0 -68
  174. package/src/function/layer/create.ts +0 -63
  175. package/src/function/layer/delete.ts +0 -21
  176. package/src/function/layer/download.ts +0 -54
  177. package/src/function/layer/index.ts +0 -7
  178. package/src/function/layer/list.ts +0 -32
  179. package/src/function/layer/sort.ts +0 -24
  180. package/src/function/trigger.ts +0 -97
  181. package/src/function/update.ts +0 -35
  182. package/src/function/version.ts +0 -39
  183. package/src/function/vpc.ts +0 -22
  184. package/src/gateway/index.ts +0 -137
  185. package/src/help.ts +0 -50
  186. package/src/hosting.ts +0 -212
  187. package/src/logger.ts +0 -17
  188. package/src/run/create.ts +0 -23
  189. package/src/run/delete.ts +0 -15
  190. package/src/run/image/build.ts +0 -36
  191. package/src/run/image/delete.ts +0 -14
  192. package/src/run/image/index.ts +0 -4
  193. package/src/run/image/info.ts +0 -27
  194. package/src/run/image/list.ts +0 -23
  195. package/src/run/index.ts +0 -8
  196. package/src/run/list.ts +0 -30
  197. package/src/run/repo.ts +0 -25
  198. package/src/run/service/common.ts +0 -311
  199. package/src/run/service/config.ts +0 -77
  200. package/src/run/service/create.ts +0 -52
  201. package/src/run/service/deployPackage.ts +0 -65
  202. package/src/run/service/index.ts +0 -7
  203. package/src/run/service/list.ts +0 -29
  204. package/src/run/service/showLogs.ts +0 -98
  205. package/src/run/service/update.ts +0 -82
  206. package/src/run/standalonegateway/create.ts +0 -24
  207. package/src/run/standalonegateway/destroy.ts +0 -19
  208. package/src/run/standalonegateway/index.ts +0 -5
  209. package/src/run/standalonegateway/list.ts +0 -74
  210. package/src/run/standalonegateway/package/index.ts +0 -1
  211. package/src/run/standalonegateway/package/list.ts +0 -24
  212. package/src/run/standalonegateway/turn/index.ts +0 -2
  213. package/src/run/standalonegateway/turn/off.ts +0 -19
  214. package/src/run/standalonegateway/turn/on.ts +0 -19
  215. package/src/run/version/create.ts +0 -68
  216. package/src/run/version/delete.ts +0 -16
  217. package/src/run/version/index.ts +0 -6
  218. package/src/run/version/list.ts +0 -17
  219. package/src/run/version/modify.ts +0 -17
  220. package/src/run/version/repo.ts +0 -28
  221. package/src/run/version/update.ts +0 -59
  222. package/src/storage.ts +0 -114
  223. package/src/third/index.ts +0 -13
  224. package/src/types.ts +0 -672
  225. package/src/utils/auth.ts +0 -15
  226. package/src/utils/checkTcbrEnv.ts +0 -69
  227. package/src/utils/cli-table.ts +0 -23
  228. package/src/utils/commonParamsCheck.ts +0 -65
  229. package/src/utils/config.ts +0 -39
  230. package/src/utils/env.ts +0 -244
  231. package/src/utils/fs/del.ts +0 -5
  232. package/src/utils/fs/index.ts +0 -71
  233. package/src/utils/function-packer.ts +0 -97
  234. package/src/utils/index.ts +0 -25
  235. package/src/utils/log.ts +0 -82
  236. package/src/utils/net/cloud-api-request.ts +0 -62
  237. package/src/utils/net/credential.ts +0 -53
  238. package/src/utils/net/http-request.ts +0 -84
  239. package/src/utils/net/index.ts +0 -5
  240. package/src/utils/net/manager-service.ts +0 -36
  241. package/src/utils/net/proxy.ts +0 -6
  242. package/src/utils/notice.ts +0 -28
  243. package/src/utils/output/highlight.ts +0 -5
  244. package/src/utils/output/index.ts +0 -3
  245. package/src/utils/output/link.ts +0 -10
  246. package/src/utils/output/loading.ts +0 -82
  247. package/src/utils/parallel.ts +0 -82
  248. package/src/utils/platform/index.ts +0 -3
  249. package/src/utils/platform/mac.ts +0 -21
  250. package/src/utils/platform/os.ts +0 -64
  251. package/src/utils/platform/port.ts +0 -10
  252. package/src/utils/progress-bar.ts +0 -38
  253. package/src/utils/prompt/index.ts +0 -1
  254. package/src/utils/prompt/select.ts +0 -60
  255. package/src/utils/reporter/agree.ts +0 -20
  256. package/src/utils/reporter/download.ts +0 -26
  257. package/src/utils/reporter/index.ts +0 -3
  258. package/src/utils/reporter/usage.ts +0 -20
  259. package/src/utils/store/auth.ts +0 -49
  260. package/src/utils/store/common.ts +0 -8
  261. package/src/utils/store/db.ts +0 -68
  262. package/src/utils/store/index.ts +0 -5
  263. package/src/utils/store/usage.ts +0 -12
  264. package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
  265. package/src/utils/tcbrApi/index.ts +0 -1
  266. package/src/utils/template.ts +0 -170
  267. package/src/utils/tools/encoding.ts +0 -8
  268. package/src/utils/tools/index.ts +0 -4
  269. package/src/utils/tools/object.ts +0 -33
  270. package/src/utils/tools/time.ts +0 -38
  271. package/src/utils/tools/uid.ts +0 -19
  272. package/src/utils/validator.ts +0 -65
  273. package/types/commands/env/create.d.ts +0 -12
  274. package/types/commands/run/create.d.ts +0 -13
  275. package/types/commands/run/service/create.d.ts +0 -13
  276. package/types/run/create.d.ts +0 -2
  277. package/types/run/service/create.d.ts +0 -7
@@ -1,81 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { InjectParams, ArgsOptions, Log, Logger } from '../../../decorators'
3
- import { tcbrServiceConfigOptions, updateCloudRunServerConfig } from '../../../run'
4
- import { EnumEnvCheck } from '../../../constant'
5
- import { checkTcbrEnv, logEnvCheck } from '../../../utils'
6
-
7
- @ICommand()
8
- export class ConfigServiceTcbr extends Command {
9
- get options() {
10
- return {
11
- cmd: 'run',
12
- childCmd: 'service:config',
13
- options: [
14
- {
15
- flags: '-e, --envId <envId>',
16
- desc: '环境 Id,必填'
17
- },
18
- {
19
- flags: '-s, --serviceName <serviceName>',
20
- desc: '服务名,必填'
21
- },
22
- // 服务有关
23
- {
24
- flags: '--cpu <cpu>',
25
- desc: '单一实例cpu规格,默认0.5'
26
- },
27
- {
28
- flags: '--mem <mem>',
29
- desc: '单一实例内存规格,默认1'
30
- },
31
- {
32
- flags: '--minNum <minNum>',
33
- desc: '最小副本数,默认0'
34
- },
35
- {
36
- flags: '--maxNum <maxNum>',
37
- desc: '最大副本数,默认50,不能大于50'
38
- },
39
- {
40
- flags: '--policyDetails <policyDetails>',
41
- desc: '扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60'
42
- },
43
- {
44
- flags: '--customLogs <customLogs>',
45
- desc: '日志采集路径,默认stdout'
46
- },
47
- {
48
- flags: '--envParams <envParams>',
49
- desc: '环境变量,格式为xx=a&yy=b,默认为空'
50
- },
51
- {
52
- flags: '--json',
53
- desc: '以 JSON 形式展示结果'
54
- }
55
- ],
56
- desc: '指定环境和服务,更新服务的基础配置'
57
- }
58
- }
59
-
60
- @InjectParams()
61
- async execute(@ArgsOptions() options, @Log() log: Logger) {
62
- let envCheckType = await checkTcbrEnv(options.envId, true)
63
- if (envCheckType !== EnumEnvCheck.EnvFit) {
64
- logEnvCheck(options.envId, envCheckType)
65
- return
66
- }
67
- const newServiceConfig = await tcbrServiceConfigOptions(options)
68
-
69
- const configRes = await updateCloudRunServerConfig({
70
- envId: options.envId,
71
- serviceName: options.serviceName,
72
- ServerBaseConfig: newServiceConfig
73
- })
74
-
75
- if (options.json) {
76
- console.log(JSON.stringify(configRes, null, 2))
77
- } else {
78
- log.success('更新配置信息成功')
79
- }
80
- }
81
- }
@@ -1,122 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { InjectParams, ArgsOptions } from '../../../decorators'
3
- import { CloudBaseError } from '../../../error'
4
- import { createTcbrService, describeCloudRunServerDetail } from '../../../run'
5
- import { EnumEnvCheck } from '../../../constant'
6
- import { checkTcbrEnv, logEnvCheck } from '../../../utils'
7
-
8
- @ICommand()
9
- export class CreateServiceTcbr extends Command {
10
- get options() {
11
- return {
12
- cmd: 'run',
13
- childCmd: 'service:create',
14
- options: [
15
- {
16
- flags: '--noConfirm',
17
- desc: '发布前是否跳过二次确认'
18
- },
19
- {
20
- flags: '--override',
21
- desc: '缺省的参数是否沿用旧版本配置'
22
- },
23
- {
24
- flags: '-e, --envId <envId>',
25
- desc: '环境 Id,必填'
26
- },
27
- {
28
- flags: '-s, --serviceName <serviceName>',
29
- desc: '服务名,必填'
30
- },
31
- {
32
- flags: '--path <path>',
33
- desc: '本地代码根目录'
34
- },
35
- // 服务有关
36
- {
37
- flags: '--cpu <cpu>',
38
- desc: '单一实例cpu规格,默认0.5'
39
- },
40
- {
41
- flags: '--mem <mem>',
42
- desc: '单一实例内存规格,默认1'
43
- },
44
- {
45
- flags: '--minNum <minNum>',
46
- desc: '最小副本数,默认0'
47
- },
48
- {
49
- flags: '--maxNum <maxNum>',
50
- desc: '最大副本数,默认50,不能大于50'
51
- },
52
- {
53
- flags: '--policyDetails <policyDetails>',
54
- desc: '扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60'
55
- },
56
- {
57
- flags: '--customLogs <customLogs>',
58
- desc: '日志采集路径,默认stdout'
59
- },
60
- {
61
- flags: '--envParams <envParams>',
62
- desc: '环境变量,格式为xx=a&yy=b,默认为空'
63
- },
64
- // 版本有关
65
- {
66
- flags: '--containerPort <containerPort>',
67
- desc: '监听端口,必填'
68
- },
69
- {
70
- flags: '--remark <remark>',
71
- desc: '版本备注,默认为空'
72
- },
73
- {
74
- flags: '--targetDir <targetDir>',
75
- desc: '目标目录'
76
- },
77
- {
78
- flags: '--dockerfile <dockerfile>',
79
- desc: 'Dockerfile文件名,默认为 Dockerfile'
80
- },
81
- // {
82
- // flags: '--library_image <library_image>',
83
- // desc: '线上镜像仓库的 tag'
84
- // },
85
- {
86
- flags: '--custom_image <custom_image>',
87
- desc: 'TCR 仓库镜像 URL'
88
- },
89
- {
90
- flags: '--image <image>',
91
- desc: '镜像标签或ID'
92
- },
93
- {
94
- flags: '--json',
95
- desc: '以 JSON 形式展示结果'
96
- }
97
- ],
98
- desc: '在指定环境下创建服务'
99
- }
100
- }
101
-
102
- @InjectParams()
103
- async execute(@ArgsOptions() options) {
104
-
105
- let envCheckType = await checkTcbrEnv(options.envId, true)
106
- if (envCheckType !== EnumEnvCheck.EnvFit) {
107
- logEnvCheck(options.envId, envCheckType)
108
- return
109
- }
110
-
111
- const { data: serviceDetail } = await describeCloudRunServerDetail({
112
- envId: options.envId,
113
- serviceName: options.serviceName
114
- })
115
- if (serviceDetail !== undefined) {
116
- // 服务已存在, 更新服务
117
- throw new CloudBaseError('当前服务已存在,请使用 tcb run service:deploy 更新服务')
118
- }
119
-
120
- await createTcbrService(options)
121
- }
122
- }
@@ -1,125 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { InjectParams, ArgsOptions } from '../../../decorators'
3
- import {
4
- describeCloudRunServerDetail,
5
- createTcbrService,
6
- updateTcbrService
7
- } from '../../../run'
8
- import { EnumEnvCheck } from '../../../constant'
9
- import { checkTcbrEnv, logEnvCheck } from '../../../utils'
10
- @ICommand()
11
- export class DeployServiceTcbr extends Command {
12
- get options() {
13
- return {
14
- cmd: 'run',
15
- childCmd: 'deploy',
16
- options: [
17
- {
18
- flags: '--noConfirm',
19
- desc: '发布前是否跳过二次确认'
20
- },
21
- {
22
- flags: '--override',
23
- desc: '缺省的参数是否沿用旧版本配置'
24
- },
25
- {
26
- flags: '-e, --envId <envId>',
27
- desc: '环境 Id,必填'
28
- },
29
- {
30
- flags: '-s, --serviceName <serviceName>',
31
- desc: '服务名,必填'
32
- },
33
- {
34
- flags: '--path <path>',
35
- desc: '本地代码根目录'
36
- },
37
- // 服务有关
38
- {
39
- flags: '--cpu <cpu>',
40
- desc: '单一实例cpu规格,默认0.5'
41
- },
42
- {
43
- flags: '--mem <mem>',
44
- desc: '单一实例内存规格,默认1'
45
- },
46
- {
47
- flags: '--minNum <minNum>',
48
- desc: '最小副本数,默认0'
49
- },
50
- {
51
- flags: '--maxNum <maxNum>',
52
- desc: '最大副本数,默认50,不能大于50'
53
- },
54
- {
55
- flags: '--policyDetails <policyDetails>',
56
- desc: '扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60'
57
- },
58
- {
59
- flags: '--customLogs <customLogs>',
60
- desc: '日志采集路径,默认stdout'
61
- },
62
- {
63
- flags: '--envParams <envParams>',
64
- desc: '环境变量,格式为xx=a&yy=b,默认为空'
65
- },
66
- // 版本有关
67
- {
68
- flags: '--containerPort <containerPort>',
69
- desc: '监听端口,必填'
70
- },
71
- {
72
- flags: '--remark <remark>',
73
- desc: '版本备注,默认为空'
74
- },
75
- {
76
- flags: '--targetDir <targetDir>',
77
- desc: '目标目录'
78
- },
79
- {
80
- flags: '--dockerfile <dockerfile>',
81
- desc: 'Dockerfile文件名,默认为 Dockerfile'
82
- },
83
- {
84
- flags: '--custom_image <custom_image>',
85
- desc: 'TCR 仓库镜像 URL'
86
- },
87
- {
88
- flags: '--library_image <library_image>',
89
- desc: '线上镜像仓库的 tag,仅在服务已存在时可用'
90
- },
91
- {
92
- flags: '--image <image>',
93
- desc: '镜像标签或ID'
94
- },
95
- {
96
- flags: '--json',
97
- desc: '以 JSON 形式展示结果'
98
- }
99
- ],
100
- desc: '在指定的环境部署服务'
101
- }
102
- }
103
-
104
- @InjectParams()
105
- async execute(@ArgsOptions() options) {
106
-
107
- let envCheckType = await checkTcbrEnv(options.envId, true)
108
- if (envCheckType !== EnumEnvCheck.EnvFit) {
109
- logEnvCheck(options.envId, envCheckType)
110
- return
111
- }
112
-
113
- const { data: serviceDetail } = await describeCloudRunServerDetail({
114
- envId: options.envId,
115
- serviceName: options.serviceName
116
- })
117
-
118
- if (serviceDetail === undefined) {
119
- // 服务不存在,创建新服务
120
- await createTcbrService(options)
121
- } else {
122
- await updateTcbrService(options)
123
- }
124
- }
125
- }
@@ -1,5 +0,0 @@
1
- export * from './list'
2
- export * from './create'
3
- export * from './update'
4
- export * from './deploy'
5
- export * from './config'
@@ -1,94 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { InjectParams, ArgsOptions } from '../../../decorators'
3
- import { listService } from '../../../run'
4
- import { printHorizontalTable, genClickableLink, loadingFactory } from '../../../utils'
5
- import { checkTcbrEnv, logEnvCheck } from '../../../utils/checkTcbrEnv'
6
- import { EnumEnvCheck } from '../../../constant'
7
-
8
- @ICommand()
9
- export class ListServiceTcbr extends Command {
10
- get options() {
11
- return {
12
- cmd: 'run',
13
- childCmd: 'service:list',
14
- options: [
15
- {
16
- flags: '-e, --envId <envId>',
17
- desc: '环境 Id'
18
- },
19
- {
20
- flags: '-s, --serviceName <serviceName>',
21
- desc: '服务名'
22
- },
23
- {
24
- flags: '--json',
25
- desc: '以 JSON 形式展示结果'
26
- }
27
- ],
28
- desc: '展示环境下服务信息'
29
- }
30
- }
31
-
32
- @InjectParams()
33
- async execute(@ArgsOptions() options) {
34
-
35
- let { envId, serviceName = '' } = options
36
-
37
- let envCheckType = await checkTcbrEnv(envId, true)
38
- if (envCheckType !== EnumEnvCheck.EnvFit) {
39
- logEnvCheck(envId, envCheckType)
40
- return
41
- }
42
-
43
- const loading = loadingFactory()
44
-
45
- const head = ['服务名称', '状态', '公网访问', '创建时间', '更新时间']
46
- loading.start('正在获取服务列表')
47
- const serverList = await listService({
48
- envId: envId
49
- })
50
- loading.stop()
51
-
52
- const specificServer = serverList.filter(serverItem => serverItem.ServerName === serviceName)
53
-
54
- // 打印 JSON 形式结果
55
- if (options.json) {
56
- console.log(JSON.stringify({
57
- code: 0,
58
- errmsg: 'success',
59
- data: specificServer.length ?
60
- specificServer
61
- : serverList
62
- }, null, 2))
63
- return
64
- }
65
-
66
- if (!serverList.length) {
67
- console.log('当前环境下没有服务')
68
- return
69
- }
70
-
71
- // 如有指定服务名,则只打印指定服务的信息
72
- let tableData: (string | number)[][]
73
- if (specificServer.length) {
74
- tableData = [[
75
- specificServer[0].ServerName,
76
- specificServer[0].Status,
77
- `是 ${genClickableLink(specificServer[0].DefaultDomainName)}`,
78
- specificServer[0].CreatedTime,
79
- specificServer[0].UpdateTime
80
- ]]
81
- } else {
82
- tableData = serverList.map(serverItem => [
83
- serverItem.ServerName,
84
- serverItem.Status,
85
- `是 ${genClickableLink(serverItem.DefaultDomainName)}`,
86
- serverItem.CreatedTime,
87
- serverItem.UpdateTime
88
- ])
89
- }
90
-
91
- printHorizontalTable(head, tableData)
92
-
93
- }
94
- }
@@ -1,108 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { InjectParams, ArgsOptions } from '../../../decorators'
3
- import { updateTcbrService } from '../../../run'
4
- import { EnumEnvCheck } from '../../../constant'
5
- import { checkTcbrEnv, logEnvCheck } from '../../../utils'
6
- @ICommand()
7
- export class UpdateServiceTcbr extends Command {
8
- get options() {
9
- return {
10
- cmd: 'run',
11
- childCmd: 'service:deploy',
12
- options: [
13
- {
14
- flags: '--noConfirm',
15
- desc: '发布前是否跳过二次确认'
16
- },
17
- {
18
- flags: '--override',
19
- desc: '缺省的参数是否沿用旧版本配置'
20
- },
21
- {
22
- flags: '-e, --envId <envId>',
23
- desc: '环境 Id,必填'
24
- },
25
- {
26
- flags: '-s, --serviceName <serviceName>',
27
- desc: '服务名,必填'
28
- },
29
- {
30
- flags: '--path <path>',
31
- desc: '本地代码根目录'
32
- },
33
- // 服务有关
34
- {
35
- flags: '--cpu <cpu>',
36
- desc: '单一实例cpu规格,默认0.5'
37
- },
38
- {
39
- flags: '--mem <mem>',
40
- desc: '单一实例内存规格,默认1'
41
- },
42
- {
43
- flags: '--minNum <minNum>',
44
- desc: '最小副本数,默认0'
45
- },
46
- {
47
- flags: '--maxNum <maxNum>',
48
- desc: '最大副本数,默认50,不能大于50'
49
- },
50
- {
51
- flags: '--policyDetails <policyDetails>',
52
- desc: '扩缩容配置,格式为条件类型=条件比例(%),多个条件之间用&隔开,内存条件为mem,cpu条件为cpu,默认内存>60% 或 CPU>60%,即cpu=60&mem=60'
53
- },
54
- {
55
- flags: '--customLogs <customLogs>',
56
- desc: '日志采集路径,默认stdout'
57
- },
58
- {
59
- flags: '--envParams <envParams>',
60
- desc: '环境变量,格式为xx=a&yy=b,默认为空'
61
- },
62
- // 版本有关
63
- {
64
- flags: '--containerPort <containerPort>',
65
- desc: '监听端口,必填'
66
- },
67
- {
68
- flags: '--remark <remark>',
69
- desc: '版本备注,默认为空'
70
- },
71
- {
72
- flags: '--dockerfile <dockerfile>',
73
- desc: 'Dockerfile文件名,默认为 Dockerfile'
74
- },
75
- {
76
- flags: '--custom_image <custom_image>',
77
- desc: 'TCR 仓库镜像 URL'
78
- },
79
- {
80
- flags: '--library_image <library_image>',
81
- desc: '线上镜像仓库的 tag'
82
- },
83
- {
84
- flags: '--image <image>',
85
- desc: '镜像标签或ID'
86
- },
87
- {
88
- flags: '--json',
89
- desc: '以 JSON 形式展示结果'
90
- }
91
- ],
92
- desc: '指定环境和已存在的服务,发布新的应用'
93
- }
94
- }
95
-
96
- @InjectParams()
97
- async execute(@ArgsOptions() options) {
98
-
99
- let envCheckType = await checkTcbrEnv(options.envId, true)
100
- if (envCheckType !== EnumEnvCheck.EnvFit) {
101
- logEnvCheck(options.envId, envCheckType)
102
- return
103
- }
104
-
105
- await updateTcbrService(options)
106
- }
107
-
108
- }
@@ -1,8 +0,0 @@
1
- export const standalonegatewayCommonOptions = (sub: string) => ({
2
- cmd: 'run',
3
- childCmd: {
4
- cmd: 'standalonegateway',
5
- desc: '云托管小租户网关管理'
6
- },
7
- childSubCmd: sub
8
- })
@@ -1,85 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { createStandaloneGateway } from '../../../run/'
3
- import { loadingFactory } from '@cloudbase/toolbox'
4
- import { ArgsOptions, EnvId, InjectParams } from '../../../decorators'
5
- import { standalonegatewayCommonOptions } from './common'
6
- import { CloudBaseError } from '../../../error'
7
-
8
- @ICommand()
9
- export class CreateStandalonegateway extends Command {
10
- get options() {
11
- return {
12
- ...standalonegatewayCommonOptions('create'),
13
- options: [
14
- {
15
- flags: '-e, --envId <envId>',
16
- desc: '环境 Id'
17
- },
18
- {
19
- flags: '-gA, --gatewayAlias <gatewayAlias>',
20
- desc: '网关 alias'
21
- },
22
- {
23
- flags: '-gD, --gatewayDesc <gatewayDesc>',
24
- desc: '网关描述'
25
- },
26
- {
27
- flags: '-v --vpcId <vpcId>',
28
- desc: 'VPC'
29
- },
30
- {
31
- flags: '-s, --subnetIds <subnetIds...>',
32
- desc: '子网列表'
33
- },
34
- {
35
- flags: '-p, --packageVersion <packageVersion>',
36
- desc: '套餐版本'
37
- }
38
- ],
39
- desc: '创建小租户网关'
40
- }
41
- }
42
-
43
- @InjectParams()
44
- async execute(@EnvId() envId, @ArgsOptions() options) {
45
-
46
- let { gatewayAlias = '', gatewayDesc = '', vpcId = '', subnetIds = [], packageVersion = '' } = options
47
- gatewayAlias = String(gatewayAlias)
48
- gatewayDesc = String(gatewayDesc)
49
- vpcId = String(vpcId)
50
- packageVersion = String(packageVersion)
51
-
52
- if (vpcId === '') {
53
- throw new CloudBaseError('请输入 VPC')
54
- }
55
-
56
- if (subnetIds.length === 0) {
57
- throw new CloudBaseError('请输入子网列表')
58
- }
59
-
60
- if (gatewayDesc === '') {
61
- throw new CloudBaseError('请输入网关描述')
62
- }
63
-
64
- if (packageVersion === '') {
65
- throw new CloudBaseError('请输入套餐版本')
66
- }
67
-
68
- const loading = loadingFactory()
69
-
70
- loading.start('数据加载中...')
71
-
72
- const data = await createStandaloneGateway({
73
- envId,
74
- gatewayAlias,
75
- gatewayDesc,
76
- vpcId,
77
- subnetIds,
78
- packageVersion
79
- })
80
-
81
- loading.stop()
82
-
83
- console.log('操作执行成功,网关名称:' + data)
84
- }
85
- }
@@ -1,59 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { destroyStandalonegateway } from '../../../run'
3
- import { loadingFactory } from '@cloudbase/toolbox'
4
- import { ArgsOptions, EnvId, InjectParams } from '../../../decorators'
5
- import { standalonegatewayCommonOptions } from './common'
6
- import { CloudBaseError } from '../../../error'
7
-
8
- @ICommand()
9
- export class DestroyStandalonegateway extends Command {
10
- get options() {
11
- return {
12
- ...standalonegatewayCommonOptions('destroy'),
13
- options: [
14
- {
15
- flags: '-e, --envId <envId>',
16
- desc: '环境 Id'
17
- },
18
- {
19
- flags: '-gN, --gatewayName <gatewayName>',
20
- desc: '网关 name'
21
- },
22
- {
23
- flags: '--isForce',
24
- desc: '强制确认删除资源'
25
- }
26
- ],
27
- desc: '销毁小租户网关'
28
- }
29
- }
30
-
31
- @InjectParams()
32
- async execute(@EnvId() envId, @ArgsOptions() options) {
33
-
34
- let { isForce = false, gatewayName = '' } = options
35
- isForce = Boolean(isForce)
36
- gatewayName = String(gatewayName)
37
-
38
- if (gatewayName === '') {
39
- throw new CloudBaseError('请输入网关名称')
40
- }
41
-
42
- if (!isForce) {
43
- throw new CloudBaseError('请使用 --isForce 选项确认销毁资源!')
44
- }
45
-
46
- const loading = loadingFactory()
47
-
48
- loading.start('数据加载中...')
49
-
50
- await destroyStandalonegateway({
51
- envId,
52
- gatewayName
53
- })
54
-
55
- loading.stop()
56
-
57
- console.log('网关已销毁')
58
- }
59
- }