clever-tools 3.8.2 → 3.9.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.
- package/bin/clever.js +177 -426
- package/package.json +11 -5
- package/src/command-options.js +4 -10
- package/src/command-promise-handler.js +5 -7
- package/src/commands/accesslogs.js +9 -13
- package/src/commands/activity.js +10 -14
- package/src/commands/addon.js +82 -36
- package/src/commands/applications.js +9 -16
- package/src/commands/cancel-deploy.js +5 -9
- package/src/commands/config.js +7 -11
- package/src/commands/console.js +5 -9
- package/src/commands/create.js +5 -9
- package/src/commands/curl.js +7 -11
- package/src/commands/database.js +13 -16
- package/src/commands/delete.js +4 -8
- package/src/commands/deploy.js +10 -14
- package/src/commands/diag.js +9 -11
- package/src/commands/domain.js +348 -17
- package/src/commands/drain.js +10 -20
- package/src/commands/env.js +13 -17
- package/src/commands/link.js +3 -7
- package/src/commands/login.js +13 -15
- package/src/commands/logout.js +3 -7
- package/src/commands/logs.js +9 -13
- package/src/commands/makeDefault.js +3 -7
- package/src/commands/notify-email.js +9 -19
- package/src/commands/open.js +5 -9
- package/src/commands/profile.js +21 -12
- package/src/commands/published-config.js +11 -15
- package/src/commands/restart.js +7 -11
- package/src/commands/scale.js +3 -7
- package/src/commands/service.js +8 -18
- package/src/commands/ssh.js +4 -8
- package/src/commands/status.js +7 -11
- package/src/commands/stop.js +5 -9
- package/src/commands/tcp-redirs.js +11 -15
- package/src/commands/unlink.js +4 -8
- package/src/commands/version.js +4 -6
- package/src/commands/webhooks.js +8 -16
- package/src/format-table.js +4 -8
- package/src/initial-setup.js +49 -0
- package/src/load-package-json.cjs +5 -0
- package/src/logger.js +5 -8
- package/src/models/activity.js +3 -7
- package/src/models/addon.js +52 -54
- package/src/models/app_configuration.js +18 -31
- package/src/models/application.js +37 -61
- package/src/models/application_configuration.js +11 -15
- package/src/models/configuration.js +11 -15
- package/src/models/deployments.js +6 -10
- package/src/models/domain.js +6 -10
- package/src/models/drain.js +5 -13
- package/src/models/exit-strategy-option.js +4 -8
- package/src/models/fs-utils.js +3 -7
- package/src/models/git.js +19 -34
- package/src/models/ids-resolver.js +6 -12
- package/src/models/interact.js +2 -6
- package/src/models/isomorphic-http-with-agent.js +3 -9
- package/src/models/json-array.js +1 -3
- package/src/models/log-v4.js +10 -12
- package/src/models/log.js +11 -15
- package/src/models/namespaces.js +7 -13
- package/src/models/node-dns-resolver.js +43 -0
- package/src/models/notification.js +8 -17
- package/src/models/organisation.js +4 -10
- package/src/models/send-to-api.js +17 -13
- package/src/models/user.js +16 -9
- package/src/models/utils.js +2 -6
- package/src/models/variables.js +4 -10
- package/src/parsers.js +21 -71
- package/src/commands/networkgroups/commands.js +0 -7
- package/src/commands/networkgroups/index.js +0 -67
- package/src/commands/networkgroups/members.js +0 -80
- package/src/commands/networkgroups/peers.js +0 -83
- package/src/models/format-ng-table.js +0 -115
- package/src/models/format-string.js +0 -44
- package/src/models/networkgroup.js +0 -64
- package/src/models/wireguard-conf.js +0 -95
- package/src/models/wireguard.js +0 -75
package/src/commands/login.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
import util from 'node:util';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
import colors from 'colors/safe.js';
|
|
5
|
+
import open from 'open';
|
|
6
|
+
import superagent from 'superagent';
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
import { Logger } from '../logger.js';
|
|
9
|
+
import * as User from '../models/user.js';
|
|
10
|
+
import { conf, writeOAuthConf } from '../models/configuration.js';
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
const open = require('open');
|
|
10
|
-
const superagent = require('superagent');
|
|
12
|
+
import { getPackageJson } from '../load-package-json.cjs';
|
|
11
13
|
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const { conf, writeOAuthConf } = require('../models/configuration.js');
|
|
15
|
-
const { version } = require('../../package');
|
|
14
|
+
const delay = util.promisify(setTimeout);
|
|
15
|
+
const pkg = getPackageJson();
|
|
16
16
|
|
|
17
17
|
// 20 random bytes as Base64URL
|
|
18
18
|
function randomToken () {
|
|
@@ -49,7 +49,7 @@ async function loginViaConsole () {
|
|
|
49
49
|
const cliToken = randomToken();
|
|
50
50
|
|
|
51
51
|
const consoleUrl = new URL(conf.CONSOLE_TOKEN_URL);
|
|
52
|
-
consoleUrl.searchParams.set('cli_version', version);
|
|
52
|
+
consoleUrl.searchParams.set('cli_version', pkg.version);
|
|
53
53
|
consoleUrl.searchParams.set('cli_token', cliToken);
|
|
54
54
|
|
|
55
55
|
const cliPollUrl = new URL(conf.API_HOST);
|
|
@@ -63,7 +63,7 @@ async function loginViaConsole () {
|
|
|
63
63
|
return pollOauthData(cliPollUrl.toString());
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
async function login (params) {
|
|
66
|
+
export async function login (params) {
|
|
67
67
|
const { token, secret } = params.options;
|
|
68
68
|
const isLoginWithArgs = (token != null && secret != null);
|
|
69
69
|
const isInteractiveLogin = (token == null && secret == null);
|
|
@@ -82,5 +82,3 @@ async function login (params) {
|
|
|
82
82
|
|
|
83
83
|
throw new Error('Both `--token` and `--secret` have to be defined');
|
|
84
84
|
}
|
|
85
|
-
|
|
86
|
-
module.exports = { login };
|
package/src/commands/logout.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { Logger } from '../logger.js';
|
|
2
|
+
import { conf, writeOAuthConf } from '../models/configuration.js';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
const { conf, writeOAuthConf } = require('../models/configuration.js');
|
|
5
|
-
|
|
6
|
-
async function logout () {
|
|
4
|
+
export async function logout () {
|
|
7
5
|
// write empty object
|
|
8
6
|
await writeOAuthConf({});
|
|
9
7
|
Logger.println(`${conf.CONFIGURATION_FILE} has been updated.`);
|
|
10
8
|
}
|
|
11
|
-
|
|
12
|
-
module.exports = { logout };
|
package/src/commands/logs.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
async function appLogs (params) {
|
|
1
|
+
import * as Application from '../models/application.js';
|
|
2
|
+
import * as LogV2 from '../models/log.js';
|
|
3
|
+
import * as Log from '../models/log-v4.js';
|
|
4
|
+
import { Logger } from '../logger.js';
|
|
5
|
+
import { Deferred } from '../models/utils.js';
|
|
6
|
+
import colors from 'colors/safe.js';
|
|
7
|
+
import { resolveAddonId } from '../models/ids-resolver.js';
|
|
8
|
+
|
|
9
|
+
export async function appLogs (params) {
|
|
12
10
|
const { alias, app: appIdOrName, addon: addonIdOrRealId, after: since, before: until, search, 'deployment-id': deploymentId, format } = params.options;
|
|
13
11
|
|
|
14
12
|
// ignore --search ""
|
|
@@ -37,5 +35,3 @@ async function appLogs (params) {
|
|
|
37
35
|
await Log.displayLogs({ ownerId, appId, since, until, filter, deploymentId, format, deferred });
|
|
38
36
|
return deferred.promise;
|
|
39
37
|
}
|
|
40
|
-
|
|
41
|
-
module.exports = { appLogs };
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import * as AppConfig from '../models/app_configuration.js';
|
|
2
|
+
import { Logger } from '../logger.js';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
const Logger = require('../logger.js');
|
|
5
|
-
|
|
6
|
-
async function makeDefault (params) {
|
|
4
|
+
export async function makeDefault (params) {
|
|
7
5
|
const [alias] = params.args;
|
|
8
6
|
|
|
9
7
|
await AppConfig.setDefault(alias);
|
|
10
8
|
|
|
11
9
|
Logger.println(`The application ${alias} has been set as default`);
|
|
12
10
|
};
|
|
13
|
-
|
|
14
|
-
module.exports = { makeDefault };
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import colors from 'colors/safe.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { Logger } from '../logger.js';
|
|
4
|
+
import { getOwnerAndApp, getOrgaIdOrUserId } from '../models/notification.js';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
import { getEmailhooks, createEmailhook, deleteEmailhook } from '@clevercloud/client/esm/api/v2/notification.js';
|
|
7
|
+
import { sendToApi } from '../models/send-to-api.js';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
const { sendToApi } = require('../models/send-to-api.js');
|
|
10
|
-
|
|
11
|
-
async function list (params) {
|
|
9
|
+
export async function list (params) {
|
|
12
10
|
const { org, 'list-all': listAll, format } = params.options;
|
|
13
11
|
|
|
14
12
|
// TODO: fix alias option
|
|
@@ -53,7 +51,7 @@ async function list (params) {
|
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
|
|
56
|
-
function getEmailNotificationTargets (notifTargets) {
|
|
54
|
+
export function getEmailNotificationTargets (notifTargets) {
|
|
57
55
|
|
|
58
56
|
if (notifTargets == null) {
|
|
59
57
|
return [];
|
|
@@ -75,7 +73,7 @@ function getEmailNotificationTargets (notifTargets) {
|
|
|
75
73
|
.filter((e) => e != null);
|
|
76
74
|
}
|
|
77
75
|
|
|
78
|
-
async function add (params) {
|
|
76
|
+
export async function add (params) {
|
|
79
77
|
const { org, event: events, service, notify: notifTargets } = params.options;
|
|
80
78
|
const [name] = params.args;
|
|
81
79
|
|
|
@@ -94,7 +92,7 @@ async function add (params) {
|
|
|
94
92
|
Logger.println('The webhook has been added');
|
|
95
93
|
}
|
|
96
94
|
|
|
97
|
-
async function remove (params) {
|
|
95
|
+
export async function remove (params) {
|
|
98
96
|
const { org } = params.options;
|
|
99
97
|
const [notificationId] = params.args;
|
|
100
98
|
|
|
@@ -103,11 +101,3 @@ async function remove (params) {
|
|
|
103
101
|
|
|
104
102
|
Logger.println('The notification has been successfully removed');
|
|
105
103
|
}
|
|
106
|
-
|
|
107
|
-
module.exports = {
|
|
108
|
-
list,
|
|
109
|
-
add,
|
|
110
|
-
remove,
|
|
111
|
-
// For tests,
|
|
112
|
-
getEmailNotificationTargets,
|
|
113
|
-
};
|
package/src/commands/open.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import openPage from 'open';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import * as Application from '../models/application.js';
|
|
4
|
+
import * as Domain from '../models/domain.js';
|
|
5
|
+
import { Logger } from '../logger.js';
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
const Domain = require('../models/domain.js');
|
|
7
|
-
const Logger = require('../logger.js');
|
|
8
|
-
|
|
9
|
-
async function open (params) {
|
|
7
|
+
export async function open (params) {
|
|
10
8
|
const { alias, app: appIdOrName } = params.options;
|
|
11
9
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
12
10
|
|
|
@@ -16,5 +14,3 @@ async function open (params) {
|
|
|
16
14
|
Logger.println('Opening the application in your browser');
|
|
17
15
|
await openPage(url, { wait: false });
|
|
18
16
|
}
|
|
19
|
-
|
|
20
|
-
module.exports = { open };
|
package/src/commands/profile.js
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
import colors from 'colors/safe.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { Logger } from '../logger.js';
|
|
4
|
+
import * as User from '../models/user.js';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
const User = require('../models/user.js');
|
|
7
|
-
|
|
8
|
-
async function profile (params) {
|
|
6
|
+
export async function profile (params) {
|
|
9
7
|
const { format } = params.options;
|
|
10
8
|
|
|
11
9
|
const user = await User.getCurrent();
|
|
10
|
+
const currentToken = await User.getCurrentToken();
|
|
11
|
+
const tokenExpiration = new Date(currentToken.expirationDate).toLocaleString('en-US', {
|
|
12
|
+
year: 'numeric',
|
|
13
|
+
month: 'short',
|
|
14
|
+
day: 'numeric',
|
|
15
|
+
hour: 'numeric',
|
|
16
|
+
minute: 'numeric',
|
|
17
|
+
hour12: false,
|
|
18
|
+
timeZone: 'UTC',
|
|
19
|
+
timeZoneName: 'short',
|
|
20
|
+
});
|
|
12
21
|
|
|
13
22
|
const formattedUser = {
|
|
14
23
|
id: user.id,
|
|
@@ -16,6 +25,7 @@ async function profile (params) {
|
|
|
16
25
|
name: user.name,
|
|
17
26
|
avatar: user.avatar,
|
|
18
27
|
creationDate: new Date(user.creationDate),
|
|
28
|
+
tokenExpiration: new Date(currentToken.expirationDate).toISOString(),
|
|
19
29
|
lang: user.lang,
|
|
20
30
|
has2FA: (user.preferredMFA != null && user.preferredMFA !== 'NONE'),
|
|
21
31
|
};
|
|
@@ -28,12 +38,11 @@ async function profile (params) {
|
|
|
28
38
|
case 'human':
|
|
29
39
|
default: {
|
|
30
40
|
Logger.println('You\'re currently logged in as:');
|
|
31
|
-
Logger.println(`User id
|
|
32
|
-
Logger.println(`Name
|
|
33
|
-
Logger.println(`Email
|
|
34
|
-
Logger.println(`
|
|
41
|
+
Logger.println(`User id ${formattedUser.id}`);
|
|
42
|
+
Logger.println(`Name ${formattedUser.name ?? colors.red.bold('[not specified]')}`);
|
|
43
|
+
Logger.println(`Email ${formattedUser.email}`);
|
|
44
|
+
Logger.println(`Token expiration ${tokenExpiration}`);
|
|
45
|
+
Logger.println(`Two factor auth ${formattedUser.has2FA ? 'yes' : 'no'}`);
|
|
35
46
|
}
|
|
36
47
|
}
|
|
37
48
|
};
|
|
38
|
-
|
|
39
|
-
module.exports = { profile };
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
async function list (params) {
|
|
1
|
+
import * as Application from '../models/application.js';
|
|
2
|
+
import { Logger } from '../logger.js';
|
|
3
|
+
import * as variables from '../models/variables.js';
|
|
4
|
+
import { sendToApi } from '../models/send-to-api.js';
|
|
5
|
+
import { toNameEqualsValueString, validateName } from '@clevercloud/client/esm/utils/env-vars.js';
|
|
6
|
+
import * as application from '@clevercloud/client/esm/api/v2/application.js';
|
|
7
|
+
|
|
8
|
+
export async function list (params) {
|
|
11
9
|
const { alias, app: appIdOrName, format } = params.options;
|
|
12
10
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
13
11
|
|
|
@@ -30,7 +28,7 @@ async function list (params) {
|
|
|
30
28
|
}
|
|
31
29
|
}
|
|
32
30
|
|
|
33
|
-
async function set (params) {
|
|
31
|
+
export async function set (params) {
|
|
34
32
|
const [varName, varValue] = params.args;
|
|
35
33
|
const { alias, app: appIdOrName } = params.options;
|
|
36
34
|
|
|
@@ -48,7 +46,7 @@ async function set (params) {
|
|
|
48
46
|
Logger.println('Your published config item has been successfully saved');
|
|
49
47
|
};
|
|
50
48
|
|
|
51
|
-
async function rm (params) {
|
|
49
|
+
export async function rm (params) {
|
|
52
50
|
const [varName] = params.args;
|
|
53
51
|
const { alias, app: appIdOrName } = params.options;
|
|
54
52
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -60,7 +58,7 @@ async function rm (params) {
|
|
|
60
58
|
Logger.println('Your published config item has been successfully removed');
|
|
61
59
|
};
|
|
62
60
|
|
|
63
|
-
async function importEnv (params) {
|
|
61
|
+
export async function importEnv (params) {
|
|
64
62
|
const { alias, app: appIdOrName, json } = params.options;
|
|
65
63
|
const format = json ? 'json' : 'name-equals-value';
|
|
66
64
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -70,5 +68,3 @@ async function importEnv (params) {
|
|
|
70
68
|
|
|
71
69
|
Logger.println('Your published configs have been set');
|
|
72
70
|
};
|
|
73
|
-
|
|
74
|
-
module.exports = { list, set, rm, importEnv };
|
package/src/commands/restart.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import colors from 'colors/safe.js';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const Logger = require('../logger.js');
|
|
9
|
-
const ExitStrategy = require('../models/exit-strategy-option.js');
|
|
3
|
+
import * as Application from '../models/application.js';
|
|
4
|
+
import * as git from '../models/git.js';
|
|
5
|
+
import * as Log from '../models/log-v4.js';
|
|
6
|
+
import { Logger } from '../logger.js';
|
|
7
|
+
import * as ExitStrategy from '../models/exit-strategy-option.js';
|
|
10
8
|
|
|
11
9
|
// Once the API call to redeploy() has been triggerred successfully,
|
|
12
10
|
// the rest (waiting for deployment state to evolve and displaying logs) is done with auto retry (resilient to network pb)
|
|
13
|
-
async function restart (params) {
|
|
11
|
+
export async function restart (params) {
|
|
14
12
|
const { alias, app: appIdOrName, quiet, commit, 'without-cache': withoutCache, follow, 'exit-on': exitOnDeploy } = params.options;
|
|
15
13
|
|
|
16
14
|
const exitStrategy = ExitStrategy.get(follow, exitOnDeploy);
|
|
@@ -45,5 +43,3 @@ async function restart (params) {
|
|
|
45
43
|
exitStrategy,
|
|
46
44
|
});
|
|
47
45
|
}
|
|
48
|
-
|
|
49
|
-
module.exports = { restart };
|
package/src/commands/scale.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const Application = require('../models/application.js');
|
|
4
|
-
const Logger = require('../logger.js');
|
|
1
|
+
import * as Application from '../models/application.js';
|
|
2
|
+
import { Logger } from '../logger.js';
|
|
5
3
|
|
|
6
4
|
function validateOptions (options) {
|
|
7
5
|
|
|
@@ -43,7 +41,7 @@ function validateOptions (options) {
|
|
|
43
41
|
return { minFlavor, maxFlavor, minInstances, maxInstances, buildFlavor };
|
|
44
42
|
}
|
|
45
43
|
|
|
46
|
-
async function scale (params) {
|
|
44
|
+
export async function scale (params) {
|
|
47
45
|
const { alias, app: appIdOrName } = params.options;
|
|
48
46
|
const { minFlavor, maxFlavor, minInstances, maxInstances, buildFlavor } = validateOptions(params.options);
|
|
49
47
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -57,5 +55,3 @@ async function scale (params) {
|
|
|
57
55
|
|
|
58
56
|
Logger.println('App rescaled successfully');
|
|
59
57
|
};
|
|
60
|
-
|
|
61
|
-
module.exports = { scale };
|
package/src/commands/service.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as Addon from '../models/addon.js';
|
|
2
|
+
import * as Application from '../models/application.js';
|
|
3
|
+
import { Logger } from '../logger.js';
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
const Application = require('../models/application.js');
|
|
5
|
-
const Logger = require('../logger.js');
|
|
6
|
-
|
|
7
|
-
async function list (params) {
|
|
5
|
+
export async function list (params) {
|
|
8
6
|
const { alias, app: appIdOrName, 'show-all': showAll, 'only-apps': onlyApps, 'only-addons': onlyAddons, format } = params.options;
|
|
9
7
|
if (onlyApps && onlyAddons) {
|
|
10
8
|
throw new Error('--only-apps and --only-addons are mutually exclusive');
|
|
@@ -53,7 +51,7 @@ async function list (params) {
|
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
|
|
56
|
-
async function linkApp (params) {
|
|
54
|
+
export async function linkApp (params) {
|
|
57
55
|
const { alias, app: appIdOrName } = params.options;
|
|
58
56
|
const [dependency] = params.args;
|
|
59
57
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -62,7 +60,7 @@ async function linkApp (params) {
|
|
|
62
60
|
Logger.println(`App ${dependency.app_id || dependency.app_name} successfully linked`);
|
|
63
61
|
}
|
|
64
62
|
|
|
65
|
-
async function unlinkApp (params) {
|
|
63
|
+
export async function unlinkApp (params) {
|
|
66
64
|
const { alias, app: appIdOrName } = params.options;
|
|
67
65
|
const [dependency] = params.args;
|
|
68
66
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -71,7 +69,7 @@ async function unlinkApp (params) {
|
|
|
71
69
|
Logger.println(`App ${dependency.app_id || dependency.app_name} successfully unlinked`);
|
|
72
70
|
}
|
|
73
71
|
|
|
74
|
-
async function linkAddon (params) {
|
|
72
|
+
export async function linkAddon (params) {
|
|
75
73
|
const { alias, app: appIdOrName } = params.options;
|
|
76
74
|
const [addon] = params.args;
|
|
77
75
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -80,7 +78,7 @@ async function linkAddon (params) {
|
|
|
80
78
|
Logger.println(`Addon ${addon.addon_id || addon.addon_name} successfully linked`);
|
|
81
79
|
}
|
|
82
80
|
|
|
83
|
-
async function unlinkAddon (params) {
|
|
81
|
+
export async function unlinkAddon (params) {
|
|
84
82
|
const { alias, app: appIdOrName } = params.options;
|
|
85
83
|
const [addon] = params.args;
|
|
86
84
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -88,11 +86,3 @@ async function unlinkAddon (params) {
|
|
|
88
86
|
await Addon.unlink(ownerId, appId, addon);
|
|
89
87
|
Logger.println(`Addon ${addon.addon_id || addon.addon_name} successfully unlinked`);
|
|
90
88
|
}
|
|
91
|
-
|
|
92
|
-
module.exports = {
|
|
93
|
-
list,
|
|
94
|
-
linkApp,
|
|
95
|
-
unlinkApp,
|
|
96
|
-
linkAddon,
|
|
97
|
-
unlinkAddon,
|
|
98
|
-
};
|
package/src/commands/ssh.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import * as Application from '../models/application.js';
|
|
4
|
+
import { conf } from '../models/configuration.js';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
const { conf } = require('../models/configuration.js');
|
|
7
|
-
|
|
8
|
-
async function ssh (params) {
|
|
6
|
+
export async function ssh (params) {
|
|
9
7
|
const { alias, app: appIdOrName, 'identity-file': identityFile } = params.options;
|
|
10
8
|
|
|
11
9
|
const { appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -21,5 +19,3 @@ async function ssh (params) {
|
|
|
21
19
|
sshProcess.on('error', reject);
|
|
22
20
|
});
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
module.exports = { ssh };
|
package/src/commands/status.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import colors from 'colors/safe.js';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
import * as Application from '../models/application.js';
|
|
5
|
+
import { Logger } from '../logger.js';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
import { get as getApplication, getAllInstances } from '@clevercloud/client/esm/api/v2/application.js';
|
|
8
|
+
import { sendToApi } from '../models/send-to-api.js';
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
const { sendToApi } = require('../models/send-to-api.js');
|
|
11
|
-
|
|
12
|
-
async function status (params) {
|
|
10
|
+
export async function status (params) {
|
|
13
11
|
const { alias, app: appIdOrName, format } = params.options;
|
|
14
12
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
15
13
|
|
|
@@ -101,5 +99,3 @@ function groupInstances (instances) {
|
|
|
101
99
|
}))
|
|
102
100
|
.value();
|
|
103
101
|
}
|
|
104
|
-
|
|
105
|
-
module.exports = { status };
|
package/src/commands/stop.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import * as Application from '../models/application.js';
|
|
2
|
+
import * as application from '@clevercloud/client/esm/api/v2/application.js';
|
|
3
|
+
import { Logger } from '../logger.js';
|
|
4
|
+
import { sendToApi } from '../models/send-to-api.js';
|
|
2
5
|
|
|
3
|
-
|
|
4
|
-
const application = require('@clevercloud/client/cjs/api/v2/application.js');
|
|
5
|
-
const Logger = require('../logger.js');
|
|
6
|
-
const { sendToApi } = require('../models/send-to-api.js');
|
|
7
|
-
|
|
8
|
-
async function stop (params) {
|
|
6
|
+
export async function stop (params) {
|
|
9
7
|
const { alias, app: appIdOrName } = params.options;
|
|
10
8
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
11
9
|
|
|
12
10
|
await application.undeploy({ id: ownerId, appId }).then(sendToApi);
|
|
13
11
|
Logger.println('App successfully stopped!');
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
module.exports = { stop };
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import colors from 'colors/safe.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import * as Namespaces from '../models/namespaces.js';
|
|
4
|
+
import { sendToApi } from '../models/send-to-api.js';
|
|
5
|
+
import * as Interact from '../models/interact.js';
|
|
6
|
+
import { Logger } from '../logger.js';
|
|
7
|
+
import * as application from '@clevercloud/client/esm/api/v2/application.js';
|
|
8
|
+
import * as Application from '../models/application.js';
|
|
4
9
|
|
|
5
|
-
|
|
6
|
-
const { sendToApi } = require('../models/send-to-api.js');
|
|
7
|
-
const Interact = require('../models/interact.js');
|
|
8
|
-
const Logger = require('../logger.js');
|
|
9
|
-
const application = require('@clevercloud/client/cjs/api/v2/application.js');
|
|
10
|
-
const Application = require('../models/application.js');
|
|
11
|
-
|
|
12
|
-
async function listNamespaces (params) {
|
|
10
|
+
export async function listNamespaces (params) {
|
|
13
11
|
const { alias, app: appIdOrName, format } = params.options;
|
|
14
12
|
const { ownerId } = await Application.resolveId(appIdOrName, alias);
|
|
15
13
|
|
|
@@ -42,7 +40,7 @@ async function listNamespaces (params) {
|
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
|
|
45
|
-
async function list (params) {
|
|
43
|
+
export async function list (params) {
|
|
46
44
|
const { alias, app: appIdOrName, format } = params.options;
|
|
47
45
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
48
46
|
|
|
@@ -81,7 +79,7 @@ async function acceptPayment (result, skipConfirmation) {
|
|
|
81
79
|
}
|
|
82
80
|
}
|
|
83
81
|
|
|
84
|
-
async function add (params) {
|
|
82
|
+
export async function add (params) {
|
|
85
83
|
const { alias, app: appIdOrName, namespace, yes: skipConfirmation } = params.options;
|
|
86
84
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
87
85
|
|
|
@@ -99,7 +97,7 @@ async function add (params) {
|
|
|
99
97
|
Logger.println('Successfully added tcp redirection on port: ' + port);
|
|
100
98
|
};
|
|
101
99
|
|
|
102
|
-
async function remove (params) {
|
|
100
|
+
export async function remove (params) {
|
|
103
101
|
const [port] = params.args;
|
|
104
102
|
const { alias, app: appIdOrName, namespace } = params.options;
|
|
105
103
|
const { ownerId, appId } = await Application.resolveId(appIdOrName, alias);
|
|
@@ -108,5 +106,3 @@ async function remove (params) {
|
|
|
108
106
|
|
|
109
107
|
Logger.println('Successfully removed tcp redirection.');
|
|
110
108
|
};
|
|
111
|
-
|
|
112
|
-
module.exports = { listNamespaces, list, add, remove };
|
package/src/commands/unlink.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import * as AppConfig from '../models/app_configuration.js';
|
|
2
|
+
import * as Application from '../models/application.js';
|
|
3
|
+
import { Logger } from '../logger.js';
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
const Application = require('../models/application.js');
|
|
5
|
-
const Logger = require('../logger.js');
|
|
6
|
-
|
|
7
|
-
async function unlink (params) {
|
|
5
|
+
export async function unlink (params) {
|
|
8
6
|
const [alias] = params.args;
|
|
9
7
|
const app = await AppConfig.getAppDetails({ alias });
|
|
10
8
|
|
|
11
9
|
await Application.unlinkRepo(app.alias);
|
|
12
10
|
Logger.println('Your application has been successfully unlinked!');
|
|
13
11
|
};
|
|
14
|
-
|
|
15
|
-
module.exports = { unlink };
|
package/src/commands/version.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { Logger } from '../logger.js';
|
|
2
|
+
import { getPackageJson } from '../load-package-json.cjs';
|
|
2
3
|
|
|
3
|
-
const
|
|
4
|
-
const pkg = require('../../package.json');
|
|
4
|
+
const pkg = getPackageJson();
|
|
5
5
|
|
|
6
|
-
async function version () {
|
|
6
|
+
export async function version () {
|
|
7
7
|
Logger.println(pkg.version);
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
module.exports = { version };
|
package/src/commands/webhooks.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import colors from 'colors/safe.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { Logger } from '../logger.js';
|
|
4
|
+
import { getOwnerAndApp, getOrgaIdOrUserId } from '../models/notification.js';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
import { getWebhooks, createWebhook, deleteWebhook } from '@clevercloud/client/esm/api/v2/notification.js';
|
|
7
|
+
import { sendToApi } from '../models/send-to-api.js';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
const { sendToApi } = require('../models/send-to-api.js');
|
|
10
|
-
|
|
11
|
-
async function list (params) {
|
|
9
|
+
export async function list (params) {
|
|
12
10
|
const { org, 'list-all': listAll, format } = params.options;
|
|
13
11
|
|
|
14
12
|
// TODO: fix alias option
|
|
@@ -48,7 +46,7 @@ async function list (params) {
|
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
|
|
51
|
-
async function add (params) {
|
|
49
|
+
export async function add (params) {
|
|
52
50
|
const { org, format, event: events, service } = params.options;
|
|
53
51
|
const [name, hookUrl] = params.args;
|
|
54
52
|
|
|
@@ -67,7 +65,7 @@ async function add (params) {
|
|
|
67
65
|
Logger.println('The webhook has been added');
|
|
68
66
|
}
|
|
69
67
|
|
|
70
|
-
async function remove (params) {
|
|
68
|
+
export async function remove (params) {
|
|
71
69
|
const { org } = params.options;
|
|
72
70
|
const [notificationId] = params.args;
|
|
73
71
|
|
|
@@ -76,9 +74,3 @@ async function remove (params) {
|
|
|
76
74
|
|
|
77
75
|
Logger.println('The notification has been successfully removed');
|
|
78
76
|
}
|
|
79
|
-
|
|
80
|
-
module.exports = {
|
|
81
|
-
list,
|
|
82
|
-
add,
|
|
83
|
-
remove,
|
|
84
|
-
};
|