@cloudbase/cli 2.0.12-alpha.3 → 2.0.14

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 (252) hide show
  1. package/.vscode/launch.json +0 -10
  2. package/.vscode/settings.json +3 -0
  3. package/bin/cloudbase.js +0 -0
  4. package/bin/tcb.js +0 -0
  5. package/lib/commands/lowcode/app.js +2 -30
  6. package/lib/commands/run/service/create.js +4 -0
  7. package/lib/commands/run/service/deploy.js +4 -0
  8. package/lib/commands/run/service/update.js +4 -0
  9. package/lib/run/service/common.js +9 -3
  10. package/lib/run/service/deployPackage.js +2 -9
  11. package/lib/utils/checkTcbrEnv.js +5 -4
  12. package/lib/utils/debug-logger.js +30 -0
  13. package/lib/utils/net/cloud-api-request.js +7 -1
  14. package/lib/utils/net/http-request.js +16 -5
  15. package/package.json +5 -4
  16. package/types/commands/lowcode/app.d.ts +0 -10
  17. package/types/run/service/common.d.ts +4 -1
  18. package/types/types.d.ts +4 -0
  19. package/types/utils/debug-logger.d.ts +1 -0
  20. package/types/utils/net/http-request.d.ts +6 -2
  21. package/.history/.gitignore_20220624162613 +0 -84
  22. package/.history/.gitignore_20220627114054 +0 -86
  23. package/.history/package_20220711204706.json +0 -88
  24. package/.history/package_20220711204818.json +0 -88
  25. package/.history/package_20220712151717.json +0 -88
  26. package/.history/package_20220712212537.json +0 -88
  27. package/.history/package_20220722205058.json +0 -88
  28. package/.history/src/commands/lowcode/app_20220624162613.ts +0 -34
  29. package/.history/src/commands/lowcode/app_20220627114205.ts +0 -52
  30. package/.history/src/index_20220624162613.ts +0 -13
  31. package/.history/src/index_20220627113609.ts +0 -15
  32. package/.history/src/index_20220627114102.ts +0 -13
  33. package/src/auth/index.ts +0 -2
  34. package/src/auth/login.ts +0 -91
  35. package/src/auth/logout.ts +0 -7
  36. package/src/commands/account/index.ts +0 -2
  37. package/src/commands/account/login.ts +0 -192
  38. package/src/commands/account/logout.ts +0 -24
  39. package/src/commands/common.ts +0 -246
  40. package/src/commands/env/base.ts +0 -90
  41. package/src/commands/env/create.ts +0 -92
  42. package/src/commands/env/domain.ts +0 -186
  43. package/src/commands/env/index.ts +0 -4
  44. package/src/commands/env/login.ts +0 -235
  45. package/src/commands/framework/index.ts +0 -124
  46. package/src/commands/functions/alias/getRoute.ts +0 -76
  47. package/src/commands/functions/alias/index.ts +0 -2
  48. package/src/commands/functions/alias/setRoute.ts +0 -82
  49. package/src/commands/functions/code-download.ts +0 -100
  50. package/src/commands/functions/code-update.ts +0 -62
  51. package/src/commands/functions/concurrency/delete.ts +0 -45
  52. package/src/commands/functions/concurrency/index.ts +0 -3
  53. package/src/commands/functions/concurrency/list.ts +0 -58
  54. package/src/commands/functions/concurrency/set.ts +0 -47
  55. package/src/commands/functions/config-update.ts +0 -76
  56. package/src/commands/functions/copy.ts +0 -62
  57. package/src/commands/functions/delete.ts +0 -79
  58. package/src/commands/functions/deploy.ts +0 -293
  59. package/src/commands/functions/detail.ts +0 -138
  60. package/src/commands/functions/index.ts +0 -16
  61. package/src/commands/functions/invoke.ts +0 -121
  62. package/src/commands/functions/layer/bind.ts +0 -182
  63. package/src/commands/functions/layer/common.ts +0 -8
  64. package/src/commands/functions/layer/create.ts +0 -49
  65. package/src/commands/functions/layer/delete.ts +0 -73
  66. package/src/commands/functions/layer/download.ts +0 -92
  67. package/src/commands/functions/layer/index.ts +0 -7
  68. package/src/commands/functions/layer/list.ts +0 -94
  69. package/src/commands/functions/layer/sort.ts +0 -76
  70. package/src/commands/functions/list.ts +0 -68
  71. package/src/commands/functions/log.ts +0 -148
  72. package/src/commands/functions/run.ts +0 -249
  73. package/src/commands/functions/trigger-create.ts +0 -79
  74. package/src/commands/functions/trigger-delete.ts +0 -105
  75. package/src/commands/functions/version/index.ts +0 -2
  76. package/src/commands/functions/version/list.ts +0 -73
  77. package/src/commands/functions/version/publish.ts +0 -43
  78. package/src/commands/gateway/create.ts +0 -109
  79. package/src/commands/gateway/delete.ts +0 -81
  80. package/src/commands/gateway/domain.ts +0 -159
  81. package/src/commands/gateway/index.ts +0 -5
  82. package/src/commands/gateway/list.ts +0 -76
  83. package/src/commands/gateway/switch.ts +0 -107
  84. package/src/commands/helpers/index.ts +0 -3
  85. package/src/commands/helpers/init.ts +0 -431
  86. package/src/commands/helpers/new.ts +0 -117
  87. package/src/commands/helpers/open.ts +0 -67
  88. package/src/commands/hosting/hosting.ts +0 -360
  89. package/src/commands/hosting/index.ts +0 -1
  90. package/src/commands/index.ts +0 -13
  91. package/src/commands/lowcode/app.ts +0 -52
  92. package/src/commands/lowcode/comps.ts +0 -325
  93. package/src/commands/lowcode/index.ts +0 -2
  94. package/src/commands/lowcode/utils.ts +0 -25
  95. package/src/commands/run/create.ts +0 -153
  96. package/src/commands/run/delete.ts +0 -77
  97. package/src/commands/run/image/common.ts +0 -8
  98. package/src/commands/run/image/delete.ts +0 -68
  99. package/src/commands/run/image/download.ts +0 -68
  100. package/src/commands/run/image/index.ts +0 -5
  101. package/src/commands/run/image/list.ts +0 -84
  102. package/src/commands/run/image/upload.ts +0 -76
  103. package/src/commands/run/index.ts +0 -7
  104. package/src/commands/run/list.ts +0 -83
  105. package/src/commands/run/service/config.ts +0 -81
  106. package/src/commands/run/service/create.ts +0 -122
  107. package/src/commands/run/service/deploy.ts +0 -125
  108. package/src/commands/run/service/index.ts +0 -5
  109. package/src/commands/run/service/list.ts +0 -94
  110. package/src/commands/run/service/update.ts +0 -108
  111. package/src/commands/run/standalonegateway/common.ts +0 -8
  112. package/src/commands/run/standalonegateway/create.ts +0 -85
  113. package/src/commands/run/standalonegateway/destroy.ts +0 -59
  114. package/src/commands/run/standalonegateway/index.ts +0 -5
  115. package/src/commands/run/standalonegateway/list.ts +0 -53
  116. package/src/commands/run/standalonegateway/package.ts +0 -62
  117. package/src/commands/run/standalonegateway/turn.ts +0 -63
  118. package/src/commands/run/version/common.ts +0 -8
  119. package/src/commands/run/version/create.ts +0 -369
  120. package/src/commands/run/version/delete.ts +0 -64
  121. package/src/commands/run/version/index.ts +0 -5
  122. package/src/commands/run/version/list.ts +0 -91
  123. package/src/commands/run/version/modify.ts +0 -137
  124. package/src/commands/run/version/update.ts +0 -398
  125. package/src/commands/smart.ts +0 -132
  126. package/src/commands/storage/index.ts +0 -1
  127. package/src/commands/storage/storage.ts +0 -464
  128. package/src/commands/third/index.ts +0 -1
  129. package/src/commands/third/thirdAttach.ts +0 -49
  130. package/src/completion/index.ts +0 -13
  131. package/src/constant.ts +0 -154
  132. package/src/decorators/captureError.ts +0 -25
  133. package/src/decorators/constants.ts +0 -12
  134. package/src/decorators/deprecate.ts +0 -25
  135. package/src/decorators/guard.ts +0 -42
  136. package/src/decorators/index.ts +0 -7
  137. package/src/decorators/injectParams.ts +0 -54
  138. package/src/decorators/params/common.ts +0 -28
  139. package/src/decorators/params/index.ts +0 -35
  140. package/src/env/domain.ts +0 -33
  141. package/src/env/index.ts +0 -63
  142. package/src/env/login.ts +0 -80
  143. package/src/error.ts +0 -36
  144. package/src/function/alias.ts +0 -43
  145. package/src/function/base.ts +0 -253
  146. package/src/function/code.ts +0 -55
  147. package/src/function/concurrency.ts +0 -57
  148. package/src/function/create.ts +0 -78
  149. package/src/function/delete.ts +0 -42
  150. package/src/function/index.ts +0 -11
  151. package/src/function/layer/attach.ts +0 -68
  152. package/src/function/layer/create.ts +0 -63
  153. package/src/function/layer/delete.ts +0 -21
  154. package/src/function/layer/download.ts +0 -54
  155. package/src/function/layer/index.ts +0 -7
  156. package/src/function/layer/list.ts +0 -32
  157. package/src/function/layer/sort.ts +0 -24
  158. package/src/function/trigger.ts +0 -97
  159. package/src/function/update.ts +0 -35
  160. package/src/function/version.ts +0 -39
  161. package/src/function/vpc.ts +0 -22
  162. package/src/gateway/index.ts +0 -137
  163. package/src/help.ts +0 -50
  164. package/src/hosting.ts +0 -212
  165. package/src/index.ts +0 -13
  166. package/src/logger.ts +0 -17
  167. package/src/run/create.ts +0 -23
  168. package/src/run/delete.ts +0 -15
  169. package/src/run/image/build.ts +0 -36
  170. package/src/run/image/delete.ts +0 -14
  171. package/src/run/image/index.ts +0 -4
  172. package/src/run/image/info.ts +0 -27
  173. package/src/run/image/list.ts +0 -23
  174. package/src/run/index.ts +0 -8
  175. package/src/run/list.ts +0 -30
  176. package/src/run/repo.ts +0 -25
  177. package/src/run/service/common.ts +0 -311
  178. package/src/run/service/config.ts +0 -77
  179. package/src/run/service/create.ts +0 -52
  180. package/src/run/service/deployPackage.ts +0 -65
  181. package/src/run/service/index.ts +0 -7
  182. package/src/run/service/list.ts +0 -29
  183. package/src/run/service/showLogs.ts +0 -98
  184. package/src/run/service/update.ts +0 -82
  185. package/src/run/standalonegateway/create.ts +0 -24
  186. package/src/run/standalonegateway/destroy.ts +0 -19
  187. package/src/run/standalonegateway/index.ts +0 -5
  188. package/src/run/standalonegateway/list.ts +0 -74
  189. package/src/run/standalonegateway/package/index.ts +0 -1
  190. package/src/run/standalonegateway/package/list.ts +0 -24
  191. package/src/run/standalonegateway/turn/index.ts +0 -2
  192. package/src/run/standalonegateway/turn/off.ts +0 -19
  193. package/src/run/standalonegateway/turn/on.ts +0 -19
  194. package/src/run/version/create.ts +0 -68
  195. package/src/run/version/delete.ts +0 -16
  196. package/src/run/version/index.ts +0 -6
  197. package/src/run/version/list.ts +0 -17
  198. package/src/run/version/modify.ts +0 -17
  199. package/src/run/version/repo.ts +0 -28
  200. package/src/run/version/update.ts +0 -59
  201. package/src/storage.ts +0 -114
  202. package/src/third/index.ts +0 -13
  203. package/src/types.ts +0 -672
  204. package/src/utils/auth.ts +0 -15
  205. package/src/utils/checkTcbrEnv.ts +0 -67
  206. package/src/utils/cli-table.ts +0 -23
  207. package/src/utils/commonParamsCheck.ts +0 -65
  208. package/src/utils/config.ts +0 -39
  209. package/src/utils/env.ts +0 -244
  210. package/src/utils/fs/del.ts +0 -5
  211. package/src/utils/fs/index.ts +0 -71
  212. package/src/utils/function-packer.ts +0 -97
  213. package/src/utils/index.ts +0 -25
  214. package/src/utils/log.ts +0 -82
  215. package/src/utils/net/cloud-api-request.ts +0 -62
  216. package/src/utils/net/credential.ts +0 -53
  217. package/src/utils/net/http-request.ts +0 -84
  218. package/src/utils/net/index.ts +0 -5
  219. package/src/utils/net/manager-service.ts +0 -36
  220. package/src/utils/net/proxy.ts +0 -6
  221. package/src/utils/notice.ts +0 -28
  222. package/src/utils/output/highlight.ts +0 -5
  223. package/src/utils/output/index.ts +0 -3
  224. package/src/utils/output/link.ts +0 -10
  225. package/src/utils/output/loading.ts +0 -82
  226. package/src/utils/parallel.ts +0 -82
  227. package/src/utils/platform/index.ts +0 -3
  228. package/src/utils/platform/mac.ts +0 -21
  229. package/src/utils/platform/os.ts +0 -64
  230. package/src/utils/platform/port.ts +0 -10
  231. package/src/utils/progress-bar.ts +0 -38
  232. package/src/utils/prompt/index.ts +0 -1
  233. package/src/utils/prompt/select.ts +0 -60
  234. package/src/utils/reporter/agree.ts +0 -20
  235. package/src/utils/reporter/download.ts +0 -26
  236. package/src/utils/reporter/index.ts +0 -3
  237. package/src/utils/reporter/usage.ts +0 -20
  238. package/src/utils/store/auth.ts +0 -49
  239. package/src/utils/store/common.ts +0 -8
  240. package/src/utils/store/db.ts +0 -68
  241. package/src/utils/store/index.ts +0 -5
  242. package/src/utils/store/usage.ts +0 -12
  243. package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
  244. package/src/utils/tcbrApi/index.ts +0 -1
  245. package/src/utils/template.ts +0 -170
  246. package/src/utils/tools/encoding.ts +0 -8
  247. package/src/utils/tools/index.ts +0 -4
  248. package/src/utils/tools/object.ts +0 -33
  249. package/src/utils/tools/time.ts +0 -38
  250. package/src/utils/tools/uid.ts +0 -19
  251. package/src/utils/validator.ts +0 -65
  252. package/yarn-error.log +0 -12841
@@ -1,68 +0,0 @@
1
- import { exec } from 'child_process'
2
- import * as util from 'util'
3
- import { prompt } from 'enquirer'
4
- import { Command, ICommand } from '../../common'
5
- import { CloudBaseError } from '../../../error'
6
- import { describeImageRepo, getAuthFlag } from '../../../run'
7
- import { loadingFactory, getUin, checkTcbrEnv, logEnvCheck } from '../../../utils'
8
- import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
9
- import { imageCommonOptions } from './common'
10
- import { EnumEnvCheck } from '../../../constant'
11
-
12
- @ICommand()
13
- export class DownLoadImage extends Command {
14
- get options() {
15
- return {
16
- ...imageCommonOptions('download'),
17
- options: [
18
- {
19
- flags: '-e, --envId <envId>',
20
- desc: '环境 Id'
21
- },
22
- {
23
- flags: '-s, --serviceName <serviceName>',
24
- desc: '托管服务 name'
25
- },
26
- {
27
- flags: '-t, --imageTag <imageTag>',
28
- desc: '镜像 tag'
29
- }
30
- ],
31
- desc: '删除云开发环境下云托管服务的版本'
32
- }
33
- }
34
-
35
- @InjectParams()
36
- async execute(@EnvId() envId, @ArgsOptions() options) {
37
- let envCheckType = await checkTcbrEnv(options.envId, false)
38
- if(envCheckType !== EnumEnvCheck.EnvFit) {
39
- logEnvCheck(envId, envCheckType)
40
- return
41
- }
42
- let { serviceName = '', imageTag = '' } = options
43
-
44
- if (serviceName.length === 0 || imageTag.length === 0) {
45
- throw new CloudBaseError('必须输入 serviceName 和 imageTag')
46
- }
47
-
48
- const loading = loadingFactory()
49
-
50
- const imageRepo = await describeImageRepo({ envId, serverName: serviceName })
51
-
52
- const imageUrl = `ccr.ccs.tencentyun.com/${imageRepo}:${imageTag}`
53
-
54
- if (!(await getAuthFlag())) {
55
- throw new CloudBaseError('无法找到~/.docker/config.json或未登录,需要执行docker login')
56
- }
57
-
58
- let sh = new Promise<{ code: number; info: string }>((resolve, reject) => {
59
- exec(`docker pull ${imageUrl}`, (err, stdout) =>
60
- err ? reject(err) : resolve({ code: 0, info: stdout })
61
- ).stdout.pipe(process.stdout)
62
- })
63
-
64
- await sh
65
-
66
- loading.succeed('拉取成功')
67
- }
68
- }
@@ -1,5 +0,0 @@
1
- export * from './common'
2
- export * from './download'
3
- export * from './upload'
4
- export * from './delete'
5
- export * from './list'
@@ -1,84 +0,0 @@
1
- import { Command, ICommand } from '../../common'
2
- import { CloudBaseError } from '../../../error'
3
- import { listImage } from '../../../run'
4
- import { printHorizontalTable, loadingFactory, checkTcbrEnv, logEnvCheck } from '../../../utils'
5
- import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
6
- import { imageCommonOptions } from './common'
7
- import { EnumEnvCheck } from '../../../constant'
8
-
9
- @ICommand()
10
- export class ListImage extends Command {
11
- get options() {
12
- return {
13
- ...imageCommonOptions('list'),
14
- options: [
15
- {
16
- flags: '-e, --envId <envId>',
17
- desc: '环境 Id'
18
- },
19
- {
20
- flags: '-s, --serviceName <serviceName>',
21
- desc: '托管服务 name'
22
- },
23
- {
24
- flags: '-l, --limit <limit>',
25
- desc: '返回数据长度,默认值为 20'
26
- },
27
- {
28
- flags: '-o, --offset <offset>',
29
- desc: '数据偏移量,默认值为 0'
30
- }
31
- ],
32
- desc: '展示选择的云托管服务的版本列表'
33
- }
34
- }
35
-
36
- @InjectParams()
37
- async execute(@EnvId() envId, @ArgsOptions() options) {
38
- let envCheckType = await checkTcbrEnv(options.envId, false)
39
- if(envCheckType !== EnumEnvCheck.EnvFit) {
40
- logEnvCheck(envId, envCheckType)
41
- return
42
- }
43
- let { limit = 20, offset = 0, serviceName = '' } = options
44
- limit = Number(limit)
45
- offset = Number(offset)
46
-
47
- if (!Number.isInteger(limit) || !Number.isInteger(offset)) {
48
- throw new CloudBaseError('limit 和 offset 必须为整数')
49
- }
50
-
51
- if (limit < 0 || offset < 0) {
52
- throw new CloudBaseError('limit 和 offset 必须为大于 0 的整数')
53
- }
54
-
55
- if (serviceName.length === 0) {
56
- throw new CloudBaseError('请输入查询的服务名')
57
- }
58
-
59
- const loading = loadingFactory()
60
-
61
- loading.start('数据加载中...')
62
-
63
- const data = await listImage({
64
- envId,
65
- limit: Number(limit),
66
- offset: Number(offset),
67
- serviceName: serviceName
68
- })
69
-
70
- loading.stop()
71
-
72
- const head: string[] = ['镜像', '大小', '关联服务版本', '创建时间', '更新时间']
73
-
74
- const tableData = data.map((item) => [
75
- item.ImageUrl.split(':')[1],
76
- item.Size,
77
- item.ReferVersions.length > 0 ? item.ReferVersions.reduce((sum, item) => `${sum}|${item.VersionName}`, '') : '-',
78
- item.CreateTime,
79
- item.UpdateTime,
80
- ])
81
-
82
- printHorizontalTable(head, tableData)
83
- }
84
- }
@@ -1,76 +0,0 @@
1
- import { exec } from 'child_process'
2
- import * as util from 'util'
3
- import { prompt } from 'enquirer'
4
- import { Command, ICommand } from '../../common'
5
- import { CloudBaseError } from '../../../error'
6
- import { describeImageRepo, getAuthFlag } from '../../../run'
7
- import { loadingFactory, getUin, checkTcbrEnv, logEnvCheck } from '../../../utils'
8
- import { InjectParams, EnvId, ArgsOptions } from '../../../decorators'
9
- import { imageCommonOptions } from './common'
10
- import { EnumEnvCheck } from '../../../constant'
11
-
12
- @ICommand()
13
- export class UploadImage extends Command {
14
- get options() {
15
- return {
16
- ...imageCommonOptions('upload'),
17
- options: [
18
- {
19
- flags: '-e, --envId <envId>',
20
- desc: '环境 Id'
21
- },
22
- {
23
- flags: '-s, --serviceName <serviceName>',
24
- desc: '托管服务 name'
25
- },
26
- {
27
- flags: '-i, --imageId <imageId>',
28
- desc: '本地镜像 id'
29
- },
30
- {
31
- flags: '-t, --imageTag <imageTag>',
32
- desc: '镜像 tag'
33
- }
34
- ],
35
- desc: '删除云开发环境下云托管服务的版本'
36
- }
37
- }
38
-
39
- @InjectParams()
40
- async execute(@EnvId() envId, @ArgsOptions() options) {
41
-
42
- let envCheckType = await checkTcbrEnv(options.envId, false)
43
- if(envCheckType !== EnumEnvCheck.EnvFit) {
44
- logEnvCheck(envId, envCheckType)
45
- return
46
- }
47
-
48
- const { serviceName = '', imageId = '', imageTag = '' } = options
49
-
50
- if (serviceName.length === 0 || imageId.length === 0 || imageTag.length === 0) {
51
- throw new CloudBaseError('必须输入 serviceName 和 imageId 和 imageTag')
52
- }
53
-
54
- const loading = loadingFactory()
55
-
56
- if (!(await getAuthFlag())) {
57
- throw new CloudBaseError('无法找到~/.docker/config.json或未登录,需要执行docker login')
58
- }
59
-
60
- const imageRepo = await describeImageRepo({ envId, serverName: serviceName })
61
-
62
- await util.promisify(exec)(`docker tag ${imageId} ccr.ccs.tencentyun.com/${imageRepo}:${imageTag}`)
63
-
64
- let sh = new Promise<{ code: number, info: string }>(
65
- (resolve, reject) => {
66
- exec(
67
- `docker push ccr.ccs.tencentyun.com/${imageRepo}:${imageTag}`,
68
- (stderr, stdout) => stderr ? reject(stderr) : resolve({ code: 0, info: stdout })
69
- ).stdout.pipe(process.stdout)
70
- })
71
-
72
- await sh
73
-
74
- loading.succeed('上传成功')
75
- }
76
- }
@@ -1,7 +0,0 @@
1
- export * from './list'
2
- export * from './create'
3
- export * from './version'
4
- export * from './delete'
5
- export * from './image'
6
- export * from './standalonegateway'
7
- export * from './service'
@@ -1,83 +0,0 @@
1
- import { Command, ICommand } from '../common'
2
- import { CloudBaseError } from '../../error'
3
- import { listRun } from '../../run'
4
- import { printHorizontalTable, loadingFactory, checkTcbrEnv, logEnvCheck} from '../../utils'
5
- import { InjectParams, EnvId, ArgsOptions } from '../../decorators'
6
- import { EnumEnvCheck } from '../../constant'
7
-
8
- const StatusMap = {
9
- succ: '正常'
10
- }
11
-
12
- @ICommand()
13
- export class ListRun extends Command {
14
- get options() {
15
- return {
16
- cmd: 'run:deprecated',
17
- childCmd: 'list',
18
- options: [
19
- {
20
- flags: '-e, --envId <envId>',
21
- desc: '环境 Id'
22
- },
23
- {
24
- flags: '-l, --limit <limit>',
25
- desc: '返回数据长度,默认值为 20'
26
- },
27
- {
28
- flags: '-o, --offset <offset>',
29
- desc: '数据偏移量,默认值为 0'
30
- }
31
- ],
32
- desc: '展示云托管服务列表'
33
- }
34
- }
35
-
36
- @InjectParams()
37
-
38
- async execute(@EnvId() envId, @ArgsOptions() options) {
39
-
40
- let envCheckType = await checkTcbrEnv(options.envId, false)
41
- if(envCheckType !== EnumEnvCheck.EnvFit) {
42
- logEnvCheck(envId, envCheckType)
43
- return
44
- }
45
-
46
- let { limit = 20, offset = 0 } = options
47
- limit = Number(limit)
48
- offset = Number(offset)
49
-
50
- if (!Number.isInteger(limit) || !Number.isInteger(offset)) {
51
- throw new CloudBaseError('limit 和 offset 必须为整数')
52
- }
53
-
54
- if (limit < 0 || offset < 0) {
55
- throw new CloudBaseError('limit 和 offset 必须为大于 0 的整数')
56
- }
57
-
58
- const loading = loadingFactory()
59
-
60
- loading.start('数据加载中...')
61
-
62
- const data = await listRun({
63
- envId,
64
- limit: Number(limit),
65
- offset: Number(offset)
66
- })
67
-
68
- loading.stop()
69
-
70
- const head: string[] = ['服务名称', '服务备注', '创建时间', '修改时间', '状态', '所在私有网络']
71
-
72
- const tableData = data.map((item) => [
73
- item.ServerName,
74
- item.ServiceRemark ? item.ServiceRemark : '-',
75
- item.CreatedTime,
76
- item.UpdatedTime,
77
- StatusMap[item.Status],
78
- item.VpcId,
79
- ])
80
-
81
- printHorizontalTable(head, tableData)
82
- }
83
- }
@@ -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'