clever-tools 4.4.1 → 4.5.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 (291) hide show
  1. package/bin/clever.js +208 -2125
  2. package/package.json +33 -25
  3. package/src/commands/README.md +65 -0
  4. package/src/commands/accesslogs/accesslogs.command.js +158 -0
  5. package/src/commands/accesslogs/accesslogs.docs.md +20 -0
  6. package/src/commands/{activity.js → activity/activity.command.js} +74 -44
  7. package/src/commands/activity/activity.docs.md +19 -0
  8. package/src/commands/addon/addon.args.js +14 -0
  9. package/src/commands/addon/addon.command.js +7 -0
  10. package/src/commands/addon/addon.create.command.js +236 -0
  11. package/src/commands/addon/addon.delete.command.js +32 -0
  12. package/src/commands/addon/addon.docs.md +156 -0
  13. package/src/commands/addon/addon.env.command.js +50 -0
  14. package/src/commands/addon/addon.list.command.js +55 -0
  15. package/src/commands/addon/addon.providers.command.js +45 -0
  16. package/src/commands/addon/addon.providers.show.command.js +99 -0
  17. package/src/commands/addon/addon.rename.command.js +24 -0
  18. package/src/commands/applications/applications.command.js +59 -0
  19. package/src/commands/applications/applications.docs.md +31 -0
  20. package/src/commands/applications/applications.list.command.js +100 -0
  21. package/src/commands/cancel-deploy/cancel-deploy.command.js +30 -0
  22. package/src/commands/cancel-deploy/cancel-deploy.docs.md +16 -0
  23. package/src/commands/config/config.args.js +10 -0
  24. package/src/commands/config/config.command.js +20 -0
  25. package/src/commands/config/config.docs.md +86 -0
  26. package/src/commands/config/config.get.command.js +21 -0
  27. package/src/commands/config/config.set.command.js +38 -0
  28. package/src/commands/config/config.update.command.js +88 -0
  29. package/src/commands/console/console.command.js +31 -0
  30. package/src/commands/console/console.docs.md +16 -0
  31. package/src/commands/create/create.command.js +173 -0
  32. package/src/commands/create/create.docs.md +27 -0
  33. package/src/commands/{curl.js → curl/curl.command.js} +10 -3
  34. package/src/commands/curl/curl.docs.md +9 -0
  35. package/src/commands/database/database.args.js +8 -0
  36. package/src/commands/database/database.backups.command.js +60 -0
  37. package/src/commands/database/database.backups.download.command.js +55 -0
  38. package/src/commands/database/database.command.js +10 -0
  39. package/src/commands/database/database.docs.md +52 -0
  40. package/src/commands/delete/delete.command.js +43 -0
  41. package/src/commands/delete/delete.docs.md +17 -0
  42. package/src/commands/deploy/deploy.command.js +166 -0
  43. package/src/commands/deploy/deploy.docs.md +22 -0
  44. package/src/commands/diag/diag.command.js +136 -0
  45. package/src/commands/diag/diag.docs.md +15 -0
  46. package/src/commands/domain/domain.add.command.js +25 -0
  47. package/src/commands/domain/domain.args.js +8 -0
  48. package/src/commands/domain/domain.command.js +38 -0
  49. package/src/commands/domain/domain.diag.command.js +204 -0
  50. package/src/commands/domain/domain.docs.md +143 -0
  51. package/src/commands/domain/domain.favourite.command.js +35 -0
  52. package/src/commands/domain/domain.favourite.set.command.js +24 -0
  53. package/src/commands/domain/domain.favourite.unset.command.js +23 -0
  54. package/src/commands/domain/domain.overview.command.js +157 -0
  55. package/src/commands/domain/domain.rm.command.js +25 -0
  56. package/src/commands/drain/drain.args.js +8 -0
  57. package/src/commands/drain/drain.command.js +56 -0
  58. package/src/commands/drain/drain.create.command.js +128 -0
  59. package/src/commands/drain/drain.disable.command.js +27 -0
  60. package/src/commands/drain/drain.docs.md +129 -0
  61. package/src/commands/drain/drain.enable.command.js +27 -0
  62. package/src/commands/drain/drain.get.command.js +38 -0
  63. package/src/commands/drain/drain.remove.command.js +26 -0
  64. package/src/commands/emails/emails.add.command.js +32 -0
  65. package/src/commands/emails/emails.args.js +8 -0
  66. package/src/commands/emails/emails.command.js +35 -0
  67. package/src/commands/emails/emails.docs.md +79 -0
  68. package/src/commands/emails/emails.open.command.js +15 -0
  69. package/src/commands/emails/emails.primary.command.js +29 -0
  70. package/src/commands/emails/emails.remove-all.command.js +54 -0
  71. package/src/commands/emails/emails.remove.command.js +25 -0
  72. package/src/commands/env/env.command.js +77 -0
  73. package/src/commands/env/env.docs.md +99 -0
  74. package/src/commands/env/env.import-vars.command.js +45 -0
  75. package/src/commands/env/env.import.command.js +29 -0
  76. package/src/commands/env/env.rm.command.js +25 -0
  77. package/src/commands/env/env.set.command.js +32 -0
  78. package/src/commands/features/features.args.js +9 -0
  79. package/src/commands/features/features.command.js +7 -0
  80. package/src/commands/features/features.disable.command.js +25 -0
  81. package/src/commands/features/features.docs.md +71 -0
  82. package/src/commands/features/features.enable.command.js +32 -0
  83. package/src/commands/features/features.info.command.js +27 -0
  84. package/src/commands/features/features.list.command.js +49 -0
  85. package/src/commands/global.args.js +45 -0
  86. package/src/commands/global.commands.js +461 -0
  87. package/src/commands/global.options.js +186 -0
  88. package/src/commands/help/help.command.js +9 -0
  89. package/src/commands/help/help.docs.md +9 -0
  90. package/src/commands/k8s/k8s.add-persistent-storage.command.js +39 -0
  91. package/src/commands/k8s/k8s.args.js +9 -0
  92. package/src/commands/k8s/k8s.command.js +12 -0
  93. package/src/commands/k8s/k8s.create.command.js +86 -0
  94. package/src/commands/k8s/k8s.delete.command.js +40 -0
  95. package/src/commands/k8s/k8s.docs.md +131 -0
  96. package/src/commands/k8s/k8s.get-kubeconfig.command.js +32 -0
  97. package/src/commands/k8s/k8s.get.command.js +43 -0
  98. package/src/commands/k8s/k8s.list.command.js +38 -0
  99. package/src/commands/keycloak/keycloak.command.js +17 -0
  100. package/src/commands/keycloak/keycloak.disable-ng.command.js +13 -0
  101. package/src/commands/keycloak/keycloak.docs.md +197 -0
  102. package/src/commands/keycloak/keycloak.enable-ng.command.js +13 -0
  103. package/src/commands/keycloak/keycloak.get.command.js +17 -0
  104. package/src/commands/keycloak/keycloak.open.command.js +13 -0
  105. package/src/commands/keycloak/keycloak.open.logs.command.js +13 -0
  106. package/src/commands/keycloak/keycloak.open.webui.command.js +13 -0
  107. package/src/commands/keycloak/keycloak.rebuild.command.js +13 -0
  108. package/src/commands/keycloak/keycloak.restart.command.js +13 -0
  109. package/src/commands/keycloak/keycloak.version.check.command.js +17 -0
  110. package/src/commands/keycloak/keycloak.version.command.js +17 -0
  111. package/src/commands/keycloak/keycloak.version.update.command.js +17 -0
  112. package/src/commands/kv/kv.command.js +99 -0
  113. package/src/commands/kv/kv.docs.md +27 -0
  114. package/src/commands/link/link.command.js +31 -0
  115. package/src/commands/link/link.docs.md +22 -0
  116. package/src/commands/{login.js → login/login.command.js} +44 -22
  117. package/src/commands/login/login.docs.md +16 -0
  118. package/src/commands/logout/logout.command.js +15 -0
  119. package/src/commands/logout/logout.docs.md +9 -0
  120. package/src/commands/logs/logs.command.js +81 -0
  121. package/src/commands/logs/logs.docs.md +22 -0
  122. package/src/commands/make-default/make-default.command.js +17 -0
  123. package/src/commands/make-default/make-default.docs.md +15 -0
  124. package/src/commands/matomo/matomo.command.js +17 -0
  125. package/src/commands/matomo/matomo.docs.md +109 -0
  126. package/src/commands/matomo/matomo.get.command.js +17 -0
  127. package/src/commands/matomo/matomo.open.command.js +13 -0
  128. package/src/commands/matomo/matomo.open.logs.command.js +13 -0
  129. package/src/commands/matomo/matomo.open.webui.command.js +13 -0
  130. package/src/commands/matomo/matomo.rebuild.command.js +13 -0
  131. package/src/commands/matomo/matomo.restart.command.js +13 -0
  132. package/src/commands/metabase/metabase.command.js +17 -0
  133. package/src/commands/metabase/metabase.docs.md +169 -0
  134. package/src/commands/metabase/metabase.get.command.js +17 -0
  135. package/src/commands/metabase/metabase.open.command.js +13 -0
  136. package/src/commands/metabase/metabase.open.logs.command.js +13 -0
  137. package/src/commands/metabase/metabase.open.webui.command.js +13 -0
  138. package/src/commands/metabase/metabase.rebuild.command.js +13 -0
  139. package/src/commands/metabase/metabase.restart.command.js +13 -0
  140. package/src/commands/metabase/metabase.version.check.command.js +17 -0
  141. package/src/commands/metabase/metabase.version.command.js +17 -0
  142. package/src/commands/metabase/metabase.version.update.command.js +17 -0
  143. package/src/commands/ng/ng.args.js +27 -0
  144. package/src/commands/ng/ng.command.js +45 -0
  145. package/src/commands/ng/ng.create.command.js +60 -0
  146. package/src/commands/ng/ng.create.external.command.js +44 -0
  147. package/src/commands/ng/ng.delete.command.js +22 -0
  148. package/src/commands/ng/ng.delete.external.command.js +25 -0
  149. package/src/commands/ng/ng.docs.md +214 -0
  150. package/src/commands/ng/ng.get-config.command.js +32 -0
  151. package/src/commands/ng/ng.get.command.js +22 -0
  152. package/src/commands/ng/ng.link.command.js +25 -0
  153. package/src/commands/ng/ng.options.js +9 -0
  154. package/src/commands/ng/ng.search.command.js +22 -0
  155. package/src/commands/ng/ng.unlink.command.js +25 -0
  156. package/src/commands/notify-email/notify-email.add.command.js +65 -0
  157. package/src/commands/notify-email/notify-email.command.js +61 -0
  158. package/src/commands/notify-email/notify-email.docs.md +60 -0
  159. package/src/commands/notify-email/notify-email.remove.command.js +24 -0
  160. package/src/commands/open/open.command.js +24 -0
  161. package/src/commands/open/open.docs.md +16 -0
  162. package/src/commands/otoroshi/otoroshi.command.js +17 -0
  163. package/src/commands/otoroshi/otoroshi.disable-ng.command.js +13 -0
  164. package/src/commands/otoroshi/otoroshi.docs.md +211 -0
  165. package/src/commands/otoroshi/otoroshi.enable-ng.command.js +13 -0
  166. package/src/commands/otoroshi/otoroshi.get-config.command.js +13 -0
  167. package/src/commands/otoroshi/otoroshi.get.command.js +17 -0
  168. package/src/commands/otoroshi/otoroshi.open.command.js +13 -0
  169. package/src/commands/otoroshi/otoroshi.open.logs.command.js +13 -0
  170. package/src/commands/otoroshi/otoroshi.open.webui.command.js +13 -0
  171. package/src/commands/otoroshi/otoroshi.rebuild.command.js +13 -0
  172. package/src/commands/otoroshi/otoroshi.restart.command.js +13 -0
  173. package/src/commands/otoroshi/otoroshi.version.check.command.js +17 -0
  174. package/src/commands/otoroshi/otoroshi.version.command.js +17 -0
  175. package/src/commands/otoroshi/otoroshi.version.update.command.js +17 -0
  176. package/src/commands/profile/profile.command.js +60 -0
  177. package/src/commands/profile/profile.docs.md +23 -0
  178. package/src/commands/profile/profile.open.command.js +12 -0
  179. package/src/commands/published-config/published-config.command.js +40 -0
  180. package/src/commands/published-config/published-config.docs.md +77 -0
  181. package/src/commands/published-config/published-config.import.command.js +29 -0
  182. package/src/commands/published-config/published-config.rm.command.js +27 -0
  183. package/src/commands/published-config/published-config.set.command.js +34 -0
  184. package/src/commands/restart/restart.command.js +77 -0
  185. package/src/commands/restart/restart.docs.md +21 -0
  186. package/src/commands/scale/scale.command.js +121 -0
  187. package/src/commands/scale/scale.docs.md +23 -0
  188. package/src/commands/service/service.command.js +91 -0
  189. package/src/commands/service/service.docs.md +104 -0
  190. package/src/commands/service/service.link-addon.command.js +24 -0
  191. package/src/commands/service/service.link-app.command.js +23 -0
  192. package/src/commands/service/service.unlink-addon.command.js +24 -0
  193. package/src/commands/service/service.unlink-app.command.js +23 -0
  194. package/src/commands/ssh/ssh.command.js +40 -0
  195. package/src/commands/ssh/ssh.docs.md +17 -0
  196. package/src/commands/ssh-keys/ssh-keys.add.command.js +41 -0
  197. package/src/commands/ssh-keys/ssh-keys.args.js +8 -0
  198. package/src/commands/ssh-keys/ssh-keys.command.js +50 -0
  199. package/src/commands/ssh-keys/ssh-keys.docs.md +66 -0
  200. package/src/commands/ssh-keys/ssh-keys.open.command.js +12 -0
  201. package/src/commands/ssh-keys/ssh-keys.remove-all.command.js +54 -0
  202. package/src/commands/ssh-keys/ssh-keys.remove.command.js +26 -0
  203. package/src/commands/status/status.command.js +122 -0
  204. package/src/commands/status/status.docs.md +17 -0
  205. package/src/commands/stop/stop.command.js +23 -0
  206. package/src/commands/stop/stop.docs.md +16 -0
  207. package/src/commands/tcp-redirs/tcp-redirs.add.command.js +24 -0
  208. package/src/commands/tcp-redirs/tcp-redirs.command.js +41 -0
  209. package/src/commands/tcp-redirs/tcp-redirs.docs.md +71 -0
  210. package/src/commands/tcp-redirs/tcp-redirs.list-namespaces.command.js +48 -0
  211. package/src/commands/tcp-redirs/tcp-redirs.options.js +11 -0
  212. package/src/commands/tcp-redirs/tcp-redirs.remove.command.js +34 -0
  213. package/src/commands/tokens/tokens.command.js +43 -0
  214. package/src/commands/tokens/tokens.create.command.js +108 -0
  215. package/src/commands/tokens/tokens.docs.md +50 -0
  216. package/src/commands/tokens/tokens.revoke.command.js +25 -0
  217. package/src/commands/unlink/unlink.command.js +21 -0
  218. package/src/commands/unlink/unlink.docs.md +15 -0
  219. package/src/commands/version/version.command.js +13 -0
  220. package/src/commands/version/version.docs.md +9 -0
  221. package/src/commands/webhooks/webhooks.add.command.js +51 -0
  222. package/src/commands/webhooks/webhooks.command.js +57 -0
  223. package/src/commands/webhooks/webhooks.docs.md +61 -0
  224. package/src/commands/webhooks/webhooks.remove.command.js +24 -0
  225. package/src/lib/cliparse-patched.js +192 -0
  226. package/src/lib/define-argument.js +7 -0
  227. package/src/lib/define-argument.types.d.ts +23 -0
  228. package/src/lib/define-command.js +7 -0
  229. package/src/lib/define-command.types.d.ts +85 -0
  230. package/src/lib/define-common.types.d.ts +18 -0
  231. package/src/lib/define-option.js +7 -0
  232. package/src/lib/define-option.types.d.ts +29 -0
  233. package/src/lib/get-command-info.js +86 -0
  234. package/src/lib/get-command-info.types.d.ts +42 -0
  235. package/src/lib/zod-utils.js +66 -0
  236. package/src/models/addon.js +2 -3
  237. package/src/models/application.js +4 -5
  238. package/src/models/application_configuration.js +5 -23
  239. package/src/models/domain.js +34 -2
  240. package/src/models/exit-strategy-option.js +0 -9
  241. package/src/models/git.js +1 -4
  242. package/src/models/log-v4.js +5 -0
  243. package/src/models/log.js +5 -0
  244. package/src/models/namespaces.js +1 -2
  245. package/src/models/notification.js +1 -7
  246. package/src/parsers.js +33 -92
  247. package/src/command-options.js +0 -55
  248. package/src/command-promise-handler.js +0 -16
  249. package/src/commands/accesslogs.js +0 -138
  250. package/src/commands/addon.js +0 -391
  251. package/src/commands/applications.js +0 -123
  252. package/src/commands/cancel-deploy.js +0 -19
  253. package/src/commands/config.js +0 -47
  254. package/src/commands/console.js +0 -20
  255. package/src/commands/create.js +0 -129
  256. package/src/commands/database.js +0 -73
  257. package/src/commands/delete.js +0 -24
  258. package/src/commands/deploy.js +0 -133
  259. package/src/commands/diag.js +0 -126
  260. package/src/commands/domain.js +0 -445
  261. package/src/commands/drain.js +0 -164
  262. package/src/commands/emails.js +0 -156
  263. package/src/commands/env.js +0 -124
  264. package/src/commands/features.js +0 -87
  265. package/src/commands/k8s.js +0 -193
  266. package/src/commands/keycloak.js +0 -138
  267. package/src/commands/kv.js +0 -93
  268. package/src/commands/link.js +0 -20
  269. package/src/commands/logout.js +0 -8
  270. package/src/commands/logs.js +0 -45
  271. package/src/commands/makeDefault.js +0 -11
  272. package/src/commands/matomo.js +0 -85
  273. package/src/commands/metabase.js +0 -112
  274. package/src/commands/ng.js +0 -202
  275. package/src/commands/notify-email.js +0 -99
  276. package/src/commands/open.js +0 -13
  277. package/src/commands/otoroshi.js +0 -149
  278. package/src/commands/profile.js +0 -55
  279. package/src/commands/published-config.js +0 -70
  280. package/src/commands/restart.js +0 -52
  281. package/src/commands/scale.js +0 -66
  282. package/src/commands/service.js +0 -105
  283. package/src/commands/ssh-keys.js +0 -144
  284. package/src/commands/ssh.js +0 -20
  285. package/src/commands/status.js +0 -115
  286. package/src/commands/stop.js +0 -12
  287. package/src/commands/tcp-redirs.js +0 -80
  288. package/src/commands/tokens.js +0 -144
  289. package/src/commands/unlink.js +0 -14
  290. package/src/commands/version.js +0 -6
  291. package/src/commands/webhooks.js +0 -74
@@ -0,0 +1,81 @@
1
+ import { z } from 'zod';
2
+ import { defineCommand } from '../../lib/define-command.js';
3
+ import { defineOption } from '../../lib/define-option.js';
4
+ import { styleText } from '../../lib/style-text.js';
5
+ import { Logger } from '../../logger.js';
6
+ import * as Application from '../../models/application.js';
7
+ import { resolveAddonId } from '../../models/ids-resolver.js';
8
+ import * as Log from '../../models/log-v4.js';
9
+ import * as LogV2 from '../../models/log.js';
10
+ import { Deferred } from '../../models/utils.js';
11
+ import {
12
+ addonIdOption,
13
+ afterOption,
14
+ aliasOption,
15
+ appIdOrNameOption,
16
+ beforeOption,
17
+ logsFormatOption,
18
+ } from '../global.options.js';
19
+
20
+ export const logsCommand = defineCommand({
21
+ description: 'Fetch application logs, continuously',
22
+ since: '0.2.0',
23
+ options: {
24
+ search: defineOption({
25
+ name: 'search',
26
+ schema: z.string().optional(),
27
+ description: 'Fetch logs matching this pattern',
28
+ placeholder: 'search',
29
+ }),
30
+ deploymentId: defineOption({
31
+ name: 'deployment-id',
32
+ schema: z.string().optional(),
33
+ description: 'Fetch logs for a given deployment',
34
+ placeholder: 'deployment-id',
35
+ }),
36
+ alias: aliasOption,
37
+ app: appIdOrNameOption,
38
+ before: beforeOption,
39
+ after: afterOption,
40
+ addon: addonIdOption,
41
+ format: logsFormatOption,
42
+ },
43
+ args: [],
44
+ async handler(options) {
45
+ const {
46
+ alias,
47
+ app: appIdOrName,
48
+ addon: addonIdOrRealId,
49
+ after: since,
50
+ before: until,
51
+ search,
52
+ deploymentId,
53
+ format,
54
+ } = options;
55
+
56
+ // ignore --search ""
57
+ const filter = search !== '' ? search : null;
58
+ const isForHuman = format === 'human';
59
+
60
+ // TODO: drop when addons are migrated to the v4 API
61
+ if (addonIdOrRealId != null) {
62
+ const addonId = await resolveAddonId(addonIdOrRealId);
63
+ if (isForHuman) {
64
+ Logger.println(styleText('blue', 'Waiting for addon logs…'));
65
+ } else {
66
+ throw new Error(`"${format}" format is not yet available for add-on logs`);
67
+ }
68
+ return LogV2.displayLogs({ appAddonId: addonId, since, until, filter, deploymentId });
69
+ }
70
+
71
+ const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
72
+
73
+ if (isForHuman) {
74
+ Logger.println(styleText('blue', 'Waiting for application logs…'));
75
+ }
76
+
77
+ const deferred = new Deferred();
78
+ await Log.displayLogs({ ownerId, appId, since, until, filter, deploymentId, format, deferred });
79
+ return deferred.promise;
80
+ },
81
+ });
@@ -0,0 +1,22 @@
1
+ # 📖 `clever logs` command reference
2
+
3
+ ## ➡️ `clever logs` <kbd>Since 0.2.0</kbd>
4
+
5
+ Fetch application logs, continuously
6
+
7
+ ```bash
8
+ clever logs [options]
9
+ ```
10
+
11
+ ### ⚙️ Options
12
+
13
+ |Name|Description|
14
+ |---|---|
15
+ |`--addon` `<addon-id>`|Add-on ID|
16
+ |`--after`, `--since` `<after>`|Fetch logs after this date/time (ISO8601 date, positive number in seconds or duration, e.g.: 1h)|
17
+ |`-a`, `--alias` `<alias>`|Short name for the application|
18
+ |`--app` `<app-id\|app-name>`|Application to manage by its ID (or name, if unambiguous)|
19
+ |`--before`, `--until` `<before>`|Fetch logs before this date/time (ISO8601 date, positive number in seconds or duration, e.g.: 1h)|
20
+ |`--deployment-id` `<deployment-id>`|Fetch logs for a given deployment|
21
+ |`-F`, `--format` `<format>`|Output format (human, json, json-stream) (default: human)|
22
+ |`--search` `<search>`|Fetch logs matching this pattern|
@@ -0,0 +1,17 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { styleText } from '../../lib/style-text.js';
3
+ import { Logger } from '../../logger.js';
4
+ import * as AppConfig from '../../models/app_configuration.js';
5
+ import { aliasArg } from '../global.args.js';
6
+
7
+ export const makeDefaultCommand = defineCommand({
8
+ description: 'Make a linked application the default one',
9
+ since: '0.5.0',
10
+ options: {},
11
+ args: [aliasArg],
12
+ async handler(_options, alias) {
13
+ await AppConfig.setDefault(alias);
14
+
15
+ Logger.printSuccess(`The application ${styleText('green', alias)} has been set as default`);
16
+ },
17
+ });
@@ -0,0 +1,15 @@
1
+ # 📖 `clever make-default` command reference
2
+
3
+ ## ➡️ `clever make-default` <kbd>Since 0.5.0</kbd>
4
+
5
+ Make a linked application the default one
6
+
7
+ ```bash
8
+ clever make-default <app-alias>
9
+ ```
10
+
11
+ ### 📥 Arguments
12
+
13
+ |Name|Description|
14
+ |---|---|
15
+ |`app-alias`|Application alias|
@@ -0,0 +1,17 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorList } from '../../lib/operator-commands.js';
3
+ import { humanJsonOutputFormatOption } from '../global.options.js';
4
+
5
+ export const matomoCommand = defineCommand({
6
+ description: 'Manage Clever Cloud Matomo services',
7
+ since: '3.13.0',
8
+ isExperimental: true,
9
+ featureFlag: 'operators',
10
+ options: {
11
+ format: humanJsonOutputFormatOption,
12
+ },
13
+ args: [],
14
+ async handler(options) {
15
+ await operatorList('addon-matomo', options.format);
16
+ },
17
+ });
@@ -0,0 +1,109 @@
1
+ # 📖 `clever matomo` command reference
2
+
3
+ > [!NOTE]
4
+ > 🧪 **Experimental**: This command may change or be removed in future versions.
5
+ > Enable with: `clever features enable operators`
6
+
7
+ ## ➡️ `clever matomo` <kbd>Since 3.13.0</kbd>
8
+
9
+ Manage Clever Cloud Matomo services
10
+
11
+ ```bash
12
+ clever matomo [options]
13
+ ```
14
+
15
+ ### ⚙️ Options
16
+
17
+ |Name|Description|
18
+ |---|---|
19
+ |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
20
+
21
+ ## ➡️ `clever matomo get` <kbd>Since 3.13.0</kbd>
22
+
23
+ Get information about a deployed Matomo
24
+
25
+ ```bash
26
+ clever matomo get <addon-id|addon-name> [options]
27
+ ```
28
+
29
+ ### 📥 Arguments
30
+
31
+ |Name|Description|
32
+ |---|---|
33
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
34
+
35
+ ### ⚙️ Options
36
+
37
+ |Name|Description|
38
+ |---|---|
39
+ |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
40
+
41
+ ## ➡️ `clever matomo open` <kbd>Since 3.13.0</kbd>
42
+
43
+ Open the Matomo dashboard in Clever Cloud Console
44
+
45
+ ```bash
46
+ clever matomo open <addon-id|addon-name>
47
+ ```
48
+
49
+ ### 📥 Arguments
50
+
51
+ |Name|Description|
52
+ |---|---|
53
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
54
+
55
+ ## ➡️ `clever matomo open logs` <kbd>Since 3.13.0</kbd>
56
+
57
+ Open the Matomo application logs in Clever Cloud Console
58
+
59
+ ```bash
60
+ clever matomo open logs <addon-id|addon-name>
61
+ ```
62
+
63
+ ### 📥 Arguments
64
+
65
+ |Name|Description|
66
+ |---|---|
67
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
68
+
69
+ ## ➡️ `clever matomo open webui` <kbd>Since 3.13.0</kbd>
70
+
71
+ Open the Matomo admin console in your browser
72
+
73
+ ```bash
74
+ clever matomo open webui <addon-id|addon-name>
75
+ ```
76
+
77
+ ### 📥 Arguments
78
+
79
+ |Name|Description|
80
+ |---|---|
81
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
82
+
83
+ ## ➡️ `clever matomo rebuild` <kbd>Since 3.13.0</kbd>
84
+
85
+ Rebuild Matomo
86
+
87
+ ```bash
88
+ clever matomo rebuild <addon-id|addon-name>
89
+ ```
90
+
91
+ ### 📥 Arguments
92
+
93
+ |Name|Description|
94
+ |---|---|
95
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
96
+
97
+ ## ➡️ `clever matomo restart` <kbd>Since 3.13.0</kbd>
98
+
99
+ Restart Matomo
100
+
101
+ ```bash
102
+ clever matomo restart <addon-id|addon-name>
103
+ ```
104
+
105
+ ### 📥 Arguments
106
+
107
+ |Name|Description|
108
+ |---|---|
109
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
@@ -0,0 +1,17 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorPrint } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+ import { humanJsonOutputFormatOption } from '../global.options.js';
5
+
6
+ export const matomoGetCommand = defineCommand({
7
+ description: 'Get information about a deployed Matomo',
8
+ since: '3.13.0',
9
+ options: {
10
+ format: humanJsonOutputFormatOption,
11
+ },
12
+ args: [addonIdOrNameArg],
13
+ async handler(options, addonIdOrName) {
14
+ const { format } = options;
15
+ await operatorPrint('matomo', addonIdOrName, format);
16
+ },
17
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorOpen } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const matomoOpenCommand = defineCommand({
6
+ description: 'Open the Matomo dashboard in Clever Cloud Console',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorOpen('matomo', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorOpenLogs } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const matomoOpenLogsCommand = defineCommand({
6
+ description: 'Open the Matomo application logs in Clever Cloud Console',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorOpenLogs('matomo', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorOpenWebUi } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const matomoOpenWebuiCommand = defineCommand({
6
+ description: 'Open the Matomo admin console in your browser',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorOpenWebUi('matomo', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorRebuild } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const matomoRebuildCommand = defineCommand({
6
+ description: 'Rebuild Matomo',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorRebuild('matomo', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorReboot } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const matomoRestartCommand = defineCommand({
6
+ description: 'Restart Matomo',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorReboot('matomo', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,17 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorList } from '../../lib/operator-commands.js';
3
+ import { humanJsonOutputFormatOption } from '../global.options.js';
4
+
5
+ export const metabaseCommand = defineCommand({
6
+ description: 'Manage Clever Cloud Metabase services',
7
+ since: '3.13.0',
8
+ isExperimental: true,
9
+ featureFlag: 'operators',
10
+ options: {
11
+ format: humanJsonOutputFormatOption,
12
+ },
13
+ args: [],
14
+ async handler(options) {
15
+ await operatorList('metabase', options.format);
16
+ },
17
+ });
@@ -0,0 +1,169 @@
1
+ # 📖 `clever metabase` command reference
2
+
3
+ > [!NOTE]
4
+ > 🧪 **Experimental**: This command may change or be removed in future versions.
5
+ > Enable with: `clever features enable operators`
6
+
7
+ ## ➡️ `clever metabase` <kbd>Since 3.13.0</kbd>
8
+
9
+ Manage Clever Cloud Metabase services
10
+
11
+ ```bash
12
+ clever metabase [options]
13
+ ```
14
+
15
+ ### ⚙️ Options
16
+
17
+ |Name|Description|
18
+ |---|---|
19
+ |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
20
+
21
+ ## ➡️ `clever metabase get` <kbd>Since 3.13.0</kbd>
22
+
23
+ Get information about a deployed Metabase
24
+
25
+ ```bash
26
+ clever metabase get <addon-id|addon-name> [options]
27
+ ```
28
+
29
+ ### 📥 Arguments
30
+
31
+ |Name|Description|
32
+ |---|---|
33
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
34
+
35
+ ### ⚙️ Options
36
+
37
+ |Name|Description|
38
+ |---|---|
39
+ |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
40
+
41
+ ## ➡️ `clever metabase open` <kbd>Since 3.13.0</kbd>
42
+
43
+ Open the Metabase dashboard in Clever Cloud Console
44
+
45
+ ```bash
46
+ clever metabase open <addon-id|addon-name>
47
+ ```
48
+
49
+ ### 📥 Arguments
50
+
51
+ |Name|Description|
52
+ |---|---|
53
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
54
+
55
+ ## ➡️ `clever metabase open logs` <kbd>Since 3.13.0</kbd>
56
+
57
+ Open the Metabase application logs in Clever Cloud Console
58
+
59
+ ```bash
60
+ clever metabase open logs <addon-id|addon-name>
61
+ ```
62
+
63
+ ### 📥 Arguments
64
+
65
+ |Name|Description|
66
+ |---|---|
67
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
68
+
69
+ ## ➡️ `clever metabase open webui` <kbd>Since 3.13.0</kbd>
70
+
71
+ Open the Metabase admin console in your browser
72
+
73
+ ```bash
74
+ clever metabase open webui <addon-id|addon-name>
75
+ ```
76
+
77
+ ### 📥 Arguments
78
+
79
+ |Name|Description|
80
+ |---|---|
81
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
82
+
83
+ ## ➡️ `clever metabase rebuild` <kbd>Since 3.13.0</kbd>
84
+
85
+ Rebuild Metabase
86
+
87
+ ```bash
88
+ clever metabase rebuild <addon-id|addon-name>
89
+ ```
90
+
91
+ ### 📥 Arguments
92
+
93
+ |Name|Description|
94
+ |---|---|
95
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
96
+
97
+ ## ➡️ `clever metabase restart` <kbd>Since 3.13.0</kbd>
98
+
99
+ Restart Metabase
100
+
101
+ ```bash
102
+ clever metabase restart <addon-id|addon-name>
103
+ ```
104
+
105
+ ### 📥 Arguments
106
+
107
+ |Name|Description|
108
+ |---|---|
109
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
110
+
111
+ ## ➡️ `clever metabase version` <kbd>Since 3.13.0</kbd>
112
+
113
+ Manage Metabase deployed version
114
+
115
+ ```bash
116
+ clever metabase version <addon-id|addon-name> [options]
117
+ ```
118
+
119
+ ### 📥 Arguments
120
+
121
+ |Name|Description|
122
+ |---|---|
123
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
124
+
125
+ ### ⚙️ Options
126
+
127
+ |Name|Description|
128
+ |---|---|
129
+ |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
130
+
131
+ ## ➡️ `clever metabase version check` <kbd>Since 3.13.0</kbd>
132
+
133
+ Check Metabase deployed version
134
+
135
+ ```bash
136
+ clever metabase version check <addon-id|addon-name> [options]
137
+ ```
138
+
139
+ ### 📥 Arguments
140
+
141
+ |Name|Description|
142
+ |---|---|
143
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
144
+
145
+ ### ⚙️ Options
146
+
147
+ |Name|Description|
148
+ |---|---|
149
+ |`-F`, `--format` `<format>`|Output format (human, json) (default: human)|
150
+
151
+ ## ➡️ `clever metabase version update` <kbd>Since 3.13.0</kbd>
152
+
153
+ Update Metabase deployed version
154
+
155
+ ```bash
156
+ clever metabase version update <addon-id|addon-name> [options]
157
+ ```
158
+
159
+ ### 📥 Arguments
160
+
161
+ |Name|Description|
162
+ |---|---|
163
+ |`addon-id|addon-name`|Add-on ID (or name, if unambiguous)|
164
+
165
+ ### ⚙️ Options
166
+
167
+ |Name|Description|
168
+ |---|---|
169
+ |`--target` `<version>`|Target version to upgrade to (e.g.: 24, 2.4, 2.4.1)|
@@ -0,0 +1,17 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorPrint } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+ import { humanJsonOutputFormatOption } from '../global.options.js';
5
+
6
+ export const metabaseGetCommand = defineCommand({
7
+ description: 'Get information about a deployed Metabase',
8
+ since: '3.13.0',
9
+ options: {
10
+ format: humanJsonOutputFormatOption,
11
+ },
12
+ args: [addonIdOrNameArg],
13
+ async handler(options, addonIdOrName) {
14
+ const { format } = options;
15
+ await operatorPrint('metabase', addonIdOrName, format);
16
+ },
17
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorOpen } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const metabaseOpenCommand = defineCommand({
6
+ description: 'Open the Metabase dashboard in Clever Cloud Console',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorOpen('metabase', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorOpenLogs } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const metabaseOpenLogsCommand = defineCommand({
6
+ description: 'Open the Metabase application logs in Clever Cloud Console',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorOpenLogs('metabase', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorOpenWebUi } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const metabaseOpenWebuiCommand = defineCommand({
6
+ description: 'Open the Metabase admin console in your browser',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorOpenWebUi('metabase', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorRebuild } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const metabaseRebuildCommand = defineCommand({
6
+ description: 'Rebuild Metabase',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorRebuild('metabase', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,13 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorReboot } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+
5
+ export const metabaseRestartCommand = defineCommand({
6
+ description: 'Restart Metabase',
7
+ since: '3.13.0',
8
+ options: {},
9
+ args: [addonIdOrNameArg],
10
+ async handler(_options, addonIdOrName) {
11
+ await operatorReboot('metabase', addonIdOrName);
12
+ },
13
+ });
@@ -0,0 +1,17 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorCheckVersion } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+ import { humanJsonOutputFormatOption } from '../global.options.js';
5
+
6
+ export const metabaseVersionCheckCommand = defineCommand({
7
+ description: 'Check Metabase deployed version',
8
+ since: '3.13.0',
9
+ options: {
10
+ format: humanJsonOutputFormatOption,
11
+ },
12
+ args: [addonIdOrNameArg],
13
+ async handler(options, addonIdOrName) {
14
+ const { format } = options;
15
+ await operatorCheckVersion('metabase', addonIdOrName, format);
16
+ },
17
+ });
@@ -0,0 +1,17 @@
1
+ import { defineCommand } from '../../lib/define-command.js';
2
+ import { operatorCheckVersion } from '../../lib/operator-commands.js';
3
+ import { addonIdOrNameArg } from '../global.args.js';
4
+ import { humanJsonOutputFormatOption } from '../global.options.js';
5
+
6
+ export const metabaseVersionCommand = defineCommand({
7
+ description: 'Manage Metabase deployed version',
8
+ since: '3.13.0',
9
+ options: {
10
+ format: humanJsonOutputFormatOption,
11
+ },
12
+ args: [addonIdOrNameArg],
13
+ async handler(options, addonIdOrName) {
14
+ const { format } = options;
15
+ await operatorCheckVersion('metabase', addonIdOrName, format);
16
+ },
17
+ });