@cloudbase/cli 2.0.12 → 2.0.13

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 (227) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/lib/run/service/deployPackage.js +2 -9
  3. package/lib/utils/debug-logger.js +30 -0
  4. package/lib/utils/net/cloud-api-request.js +7 -1
  5. package/lib/utils/net/http-request.js +16 -5
  6. package/package.json +1 -1
  7. package/types/utils/debug-logger.d.ts +1 -0
  8. package/types/utils/net/http-request.d.ts +6 -2
  9. package/src/auth/index.ts +0 -2
  10. package/src/auth/login.ts +0 -91
  11. package/src/auth/logout.ts +0 -7
  12. package/src/commands/account/index.ts +0 -2
  13. package/src/commands/account/login.ts +0 -192
  14. package/src/commands/account/logout.ts +0 -24
  15. package/src/commands/common.ts +0 -246
  16. package/src/commands/env/base.ts +0 -90
  17. package/src/commands/env/create.ts +0 -92
  18. package/src/commands/env/domain.ts +0 -186
  19. package/src/commands/env/index.ts +0 -4
  20. package/src/commands/env/login.ts +0 -235
  21. package/src/commands/framework/index.ts +0 -124
  22. package/src/commands/functions/alias/getRoute.ts +0 -76
  23. package/src/commands/functions/alias/index.ts +0 -2
  24. package/src/commands/functions/alias/setRoute.ts +0 -82
  25. package/src/commands/functions/code-download.ts +0 -100
  26. package/src/commands/functions/code-update.ts +0 -62
  27. package/src/commands/functions/concurrency/delete.ts +0 -45
  28. package/src/commands/functions/concurrency/index.ts +0 -3
  29. package/src/commands/functions/concurrency/list.ts +0 -58
  30. package/src/commands/functions/concurrency/set.ts +0 -47
  31. package/src/commands/functions/config-update.ts +0 -76
  32. package/src/commands/functions/copy.ts +0 -62
  33. package/src/commands/functions/delete.ts +0 -79
  34. package/src/commands/functions/deploy.ts +0 -293
  35. package/src/commands/functions/detail.ts +0 -138
  36. package/src/commands/functions/index.ts +0 -16
  37. package/src/commands/functions/invoke.ts +0 -121
  38. package/src/commands/functions/layer/bind.ts +0 -182
  39. package/src/commands/functions/layer/common.ts +0 -8
  40. package/src/commands/functions/layer/create.ts +0 -49
  41. package/src/commands/functions/layer/delete.ts +0 -73
  42. package/src/commands/functions/layer/download.ts +0 -92
  43. package/src/commands/functions/layer/index.ts +0 -7
  44. package/src/commands/functions/layer/list.ts +0 -94
  45. package/src/commands/functions/layer/sort.ts +0 -76
  46. package/src/commands/functions/list.ts +0 -68
  47. package/src/commands/functions/log.ts +0 -148
  48. package/src/commands/functions/run.ts +0 -249
  49. package/src/commands/functions/trigger-create.ts +0 -79
  50. package/src/commands/functions/trigger-delete.ts +0 -105
  51. package/src/commands/functions/version/index.ts +0 -2
  52. package/src/commands/functions/version/list.ts +0 -73
  53. package/src/commands/functions/version/publish.ts +0 -43
  54. package/src/commands/gateway/create.ts +0 -109
  55. package/src/commands/gateway/delete.ts +0 -81
  56. package/src/commands/gateway/domain.ts +0 -159
  57. package/src/commands/gateway/index.ts +0 -5
  58. package/src/commands/gateway/list.ts +0 -76
  59. package/src/commands/gateway/switch.ts +0 -107
  60. package/src/commands/helpers/index.ts +0 -3
  61. package/src/commands/helpers/init.ts +0 -431
  62. package/src/commands/helpers/new.ts +0 -117
  63. package/src/commands/helpers/open.ts +0 -67
  64. package/src/commands/hosting/hosting.ts +0 -360
  65. package/src/commands/hosting/index.ts +0 -1
  66. package/src/commands/index.ts +0 -13
  67. package/src/commands/lowcode/app.ts +0 -34
  68. package/src/commands/lowcode/comps.ts +0 -325
  69. package/src/commands/lowcode/index.ts +0 -2
  70. package/src/commands/lowcode/utils.ts +0 -25
  71. package/src/commands/run/create.ts +0 -153
  72. package/src/commands/run/delete.ts +0 -77
  73. package/src/commands/run/image/common.ts +0 -8
  74. package/src/commands/run/image/delete.ts +0 -68
  75. package/src/commands/run/image/download.ts +0 -68
  76. package/src/commands/run/image/index.ts +0 -5
  77. package/src/commands/run/image/list.ts +0 -84
  78. package/src/commands/run/image/upload.ts +0 -76
  79. package/src/commands/run/index.ts +0 -7
  80. package/src/commands/run/list.ts +0 -83
  81. package/src/commands/run/service/config.ts +0 -81
  82. package/src/commands/run/service/create.ts +0 -122
  83. package/src/commands/run/service/deploy.ts +0 -125
  84. package/src/commands/run/service/index.ts +0 -5
  85. package/src/commands/run/service/list.ts +0 -94
  86. package/src/commands/run/service/update.ts +0 -108
  87. package/src/commands/run/standalonegateway/common.ts +0 -8
  88. package/src/commands/run/standalonegateway/create.ts +0 -85
  89. package/src/commands/run/standalonegateway/destroy.ts +0 -59
  90. package/src/commands/run/standalonegateway/index.ts +0 -5
  91. package/src/commands/run/standalonegateway/list.ts +0 -53
  92. package/src/commands/run/standalonegateway/package.ts +0 -62
  93. package/src/commands/run/standalonegateway/turn.ts +0 -63
  94. package/src/commands/run/version/common.ts +0 -8
  95. package/src/commands/run/version/create.ts +0 -369
  96. package/src/commands/run/version/delete.ts +0 -64
  97. package/src/commands/run/version/index.ts +0 -5
  98. package/src/commands/run/version/list.ts +0 -91
  99. package/src/commands/run/version/modify.ts +0 -137
  100. package/src/commands/run/version/update.ts +0 -398
  101. package/src/commands/smart.ts +0 -132
  102. package/src/commands/storage/index.ts +0 -1
  103. package/src/commands/storage/storage.ts +0 -464
  104. package/src/commands/third/index.ts +0 -1
  105. package/src/commands/third/thirdAttach.ts +0 -49
  106. package/src/completion/index.ts +0 -13
  107. package/src/constant.ts +0 -154
  108. package/src/decorators/captureError.ts +0 -25
  109. package/src/decorators/constants.ts +0 -12
  110. package/src/decorators/deprecate.ts +0 -25
  111. package/src/decorators/guard.ts +0 -42
  112. package/src/decorators/index.ts +0 -7
  113. package/src/decorators/injectParams.ts +0 -54
  114. package/src/decorators/params/common.ts +0 -28
  115. package/src/decorators/params/index.ts +0 -35
  116. package/src/env/domain.ts +0 -33
  117. package/src/env/index.ts +0 -63
  118. package/src/env/login.ts +0 -80
  119. package/src/error.ts +0 -36
  120. package/src/function/alias.ts +0 -43
  121. package/src/function/base.ts +0 -253
  122. package/src/function/code.ts +0 -55
  123. package/src/function/concurrency.ts +0 -57
  124. package/src/function/create.ts +0 -78
  125. package/src/function/delete.ts +0 -42
  126. package/src/function/index.ts +0 -11
  127. package/src/function/layer/attach.ts +0 -68
  128. package/src/function/layer/create.ts +0 -63
  129. package/src/function/layer/delete.ts +0 -21
  130. package/src/function/layer/download.ts +0 -54
  131. package/src/function/layer/index.ts +0 -7
  132. package/src/function/layer/list.ts +0 -32
  133. package/src/function/layer/sort.ts +0 -24
  134. package/src/function/trigger.ts +0 -97
  135. package/src/function/update.ts +0 -35
  136. package/src/function/version.ts +0 -39
  137. package/src/function/vpc.ts +0 -22
  138. package/src/gateway/index.ts +0 -137
  139. package/src/help.ts +0 -50
  140. package/src/hosting.ts +0 -212
  141. package/src/index.ts +0 -13
  142. package/src/logger.ts +0 -17
  143. package/src/run/create.ts +0 -23
  144. package/src/run/delete.ts +0 -15
  145. package/src/run/image/build.ts +0 -36
  146. package/src/run/image/delete.ts +0 -14
  147. package/src/run/image/index.ts +0 -4
  148. package/src/run/image/info.ts +0 -27
  149. package/src/run/image/list.ts +0 -23
  150. package/src/run/index.ts +0 -8
  151. package/src/run/list.ts +0 -30
  152. package/src/run/repo.ts +0 -25
  153. package/src/run/service/common.ts +0 -311
  154. package/src/run/service/config.ts +0 -77
  155. package/src/run/service/create.ts +0 -52
  156. package/src/run/service/deployPackage.ts +0 -65
  157. package/src/run/service/index.ts +0 -7
  158. package/src/run/service/list.ts +0 -29
  159. package/src/run/service/showLogs.ts +0 -98
  160. package/src/run/service/update.ts +0 -82
  161. package/src/run/standalonegateway/create.ts +0 -24
  162. package/src/run/standalonegateway/destroy.ts +0 -19
  163. package/src/run/standalonegateway/index.ts +0 -5
  164. package/src/run/standalonegateway/list.ts +0 -74
  165. package/src/run/standalonegateway/package/index.ts +0 -1
  166. package/src/run/standalonegateway/package/list.ts +0 -24
  167. package/src/run/standalonegateway/turn/index.ts +0 -2
  168. package/src/run/standalonegateway/turn/off.ts +0 -19
  169. package/src/run/standalonegateway/turn/on.ts +0 -19
  170. package/src/run/version/create.ts +0 -68
  171. package/src/run/version/delete.ts +0 -16
  172. package/src/run/version/index.ts +0 -6
  173. package/src/run/version/list.ts +0 -17
  174. package/src/run/version/modify.ts +0 -17
  175. package/src/run/version/repo.ts +0 -28
  176. package/src/run/version/update.ts +0 -59
  177. package/src/storage.ts +0 -114
  178. package/src/third/index.ts +0 -13
  179. package/src/types.ts +0 -672
  180. package/src/utils/auth.ts +0 -15
  181. package/src/utils/checkTcbrEnv.ts +0 -69
  182. package/src/utils/cli-table.ts +0 -23
  183. package/src/utils/commonParamsCheck.ts +0 -65
  184. package/src/utils/config.ts +0 -39
  185. package/src/utils/env.ts +0 -244
  186. package/src/utils/fs/del.ts +0 -5
  187. package/src/utils/fs/index.ts +0 -71
  188. package/src/utils/function-packer.ts +0 -97
  189. package/src/utils/index.ts +0 -25
  190. package/src/utils/log.ts +0 -82
  191. package/src/utils/net/cloud-api-request.ts +0 -62
  192. package/src/utils/net/credential.ts +0 -53
  193. package/src/utils/net/http-request.ts +0 -84
  194. package/src/utils/net/index.ts +0 -5
  195. package/src/utils/net/manager-service.ts +0 -36
  196. package/src/utils/net/proxy.ts +0 -6
  197. package/src/utils/notice.ts +0 -28
  198. package/src/utils/output/highlight.ts +0 -5
  199. package/src/utils/output/index.ts +0 -3
  200. package/src/utils/output/link.ts +0 -10
  201. package/src/utils/output/loading.ts +0 -82
  202. package/src/utils/parallel.ts +0 -82
  203. package/src/utils/platform/index.ts +0 -3
  204. package/src/utils/platform/mac.ts +0 -21
  205. package/src/utils/platform/os.ts +0 -64
  206. package/src/utils/platform/port.ts +0 -10
  207. package/src/utils/progress-bar.ts +0 -38
  208. package/src/utils/prompt/index.ts +0 -1
  209. package/src/utils/prompt/select.ts +0 -60
  210. package/src/utils/reporter/agree.ts +0 -20
  211. package/src/utils/reporter/download.ts +0 -26
  212. package/src/utils/reporter/index.ts +0 -3
  213. package/src/utils/reporter/usage.ts +0 -20
  214. package/src/utils/store/auth.ts +0 -49
  215. package/src/utils/store/common.ts +0 -8
  216. package/src/utils/store/db.ts +0 -68
  217. package/src/utils/store/index.ts +0 -5
  218. package/src/utils/store/usage.ts +0 -12
  219. package/src/utils/tcbrApi/callTcbrApi.ts +0 -28
  220. package/src/utils/tcbrApi/index.ts +0 -1
  221. package/src/utils/template.ts +0 -170
  222. package/src/utils/tools/encoding.ts +0 -8
  223. package/src/utils/tools/index.ts +0 -4
  224. package/src/utils/tools/object.ts +0 -33
  225. package/src/utils/tools/time.ts +0 -38
  226. package/src/utils/tools/uid.ts +0 -19
  227. package/src/utils/validator.ts +0 -65
@@ -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'