rushdeploy 1.0.6 → 1.0.8
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/README.md +68 -68
- package/bin/index.js +52 -2
- package/package.json +23 -23
package/README.md
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
# RushDeploy CLI (Node.js Package)
|
|
2
|
-
|
|
3
|
-
A zero-dependency Node.js command-line utility to manage your self-hosted RushDeploy PaaS account.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Installation
|
|
8
|
-
|
|
9
|
-
Install the package globally via npm:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install -g rushdeploy
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Quickstart
|
|
18
|
-
|
|
19
|
-
### 1. Authenticate with your server
|
|
20
|
-
Generate a CLI token in Settings inside the Web Dashboard and log in:
|
|
21
|
-
```bash
|
|
22
|
-
rushdeploy login <token>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### 2. Check Workspace Status
|
|
26
|
-
```bash
|
|
27
|
-
# Displays workspace resource quotas and allocations
|
|
28
|
-
rushdeploy status
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 3. Deploy a project
|
|
32
|
-
Deploy a public Git repository:
|
|
33
|
-
```bash
|
|
34
|
-
rushdeploy deploy git https://github.com/my-username/my-react-app.git --branch main --type react
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Commands Reference
|
|
40
|
-
|
|
41
|
-
* **`rushdeploy login <token>`**: Authenticate CLI session.
|
|
42
|
-
* **`rushdeploy logout`**: Clear local auth details.
|
|
43
|
-
* **`rushdeploy whoami`**: View details of the active user profile.
|
|
44
|
-
* **`rushdeploy status`**: Render resource metrics cards.
|
|
45
|
-
* **`rushdeploy plans`**: Show plan pricing quotas.
|
|
46
|
-
* **`rushdeploy projects`**: List active projects.
|
|
47
|
-
* **`rushdeploy repos`**: List repos in connected GitHub profile.
|
|
48
|
-
* **`rushdeploy workspace`**: Display resource usage limits and quotas.
|
|
49
|
-
* **`rushdeploy help`**: Show the CLI help dialog.
|
|
50
|
-
|
|
51
|
-
### Deployments
|
|
52
|
-
* **`rushdeploy deploy git <url> [opts]`**: Trigger deployment from a Git clone URL.
|
|
53
|
-
* *Options: `--name <name>`, `--branch <branch>`, `--type <framework>`*
|
|
54
|
-
* **`rushdeploy deploy repo <owner/repo> [opts]`**: Trigger deployment from your connected GitHub account.
|
|
55
|
-
* *Options: `--name <name>`, `--branch <branch>`, `--type <framework>`*
|
|
56
|
-
* **`rushdeploy deploy wordpress <name> --email <e> [opts]`**: Provision a new WordPress site instance.
|
|
57
|
-
* *Options: `--title <title>`, `--user <user>`, `--password <pass>`*
|
|
58
|
-
|
|
59
|
-
### Project Control
|
|
60
|
-
* **`rushdeploy project <slug> start|stop|redeploy`**: Control container run state.
|
|
61
|
-
* **`rushdeploy project <slug> rollback [deployment_id]`**: Rollback project to a previous deployment build.
|
|
62
|
-
* **`rushdeploy project <slug> visit`**: Open the project's URL in your default browser.
|
|
63
|
-
* **`rushdeploy project <slug> stats`**: Stream container CPU & RAM telemetry.
|
|
64
|
-
* **`rushdeploy project <slug> logs`**: Tail container build and running output.
|
|
65
|
-
* *Options: `--lines <N>`*
|
|
66
|
-
* **`rushdeploy project <slug> env [set|remove]`**: Configure environment variables.
|
|
67
|
-
* **`rushdeploy project <slug> autoscale`**: Read/write auto-scaling replica properties.
|
|
68
|
-
* **`rushdeploy project <slug> autodeploy <on|off>`**: Toggle webhook push deployments.
|
|
1
|
+
# RushDeploy CLI (Node.js Package)
|
|
2
|
+
|
|
3
|
+
A zero-dependency Node.js command-line utility to manage your self-hosted RushDeploy PaaS account.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
Install the package globally via npm:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g rushdeploy
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Quickstart
|
|
18
|
+
|
|
19
|
+
### 1. Authenticate with your server
|
|
20
|
+
Generate a CLI token in Settings inside the Web Dashboard and log in:
|
|
21
|
+
```bash
|
|
22
|
+
rushdeploy login <token>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 2. Check Workspace Status
|
|
26
|
+
```bash
|
|
27
|
+
# Displays workspace resource quotas and allocations
|
|
28
|
+
rushdeploy status
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 3. Deploy a project
|
|
32
|
+
Deploy a public Git repository:
|
|
33
|
+
```bash
|
|
34
|
+
rushdeploy deploy git https://github.com/my-username/my-react-app.git --branch main --type react
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Commands Reference
|
|
40
|
+
|
|
41
|
+
* **`rushdeploy login <token>`**: Authenticate CLI session.
|
|
42
|
+
* **`rushdeploy logout`**: Clear local auth details.
|
|
43
|
+
* **`rushdeploy whoami`**: View details of the active user profile.
|
|
44
|
+
* **`rushdeploy status`**: Render resource metrics cards.
|
|
45
|
+
* **`rushdeploy plans`**: Show plan pricing quotas.
|
|
46
|
+
* **`rushdeploy projects`**: List active projects.
|
|
47
|
+
* **`rushdeploy repos`**: List repos in connected GitHub profile.
|
|
48
|
+
* **`rushdeploy workspace`**: Display resource usage limits and quotas.
|
|
49
|
+
* **`rushdeploy help`**: Show the CLI help dialog.
|
|
50
|
+
|
|
51
|
+
### Deployments
|
|
52
|
+
* **`rushdeploy deploy git <url> [opts]`**: Trigger deployment from a Git clone URL.
|
|
53
|
+
* *Options: `--name <name>`, `--branch <branch>`, `--type <framework>`*
|
|
54
|
+
* **`rushdeploy deploy repo <owner/repo> [opts]`**: Trigger deployment from your connected GitHub account.
|
|
55
|
+
* *Options: `--name <name>`, `--branch <branch>`, `--type <framework>`*
|
|
56
|
+
* **`rushdeploy deploy wordpress <name> --email <e> [opts]`**: Provision a new WordPress site instance.
|
|
57
|
+
* *Options: `--title <title>`, `--user <user>`, `--password <pass>`*
|
|
58
|
+
|
|
59
|
+
### Project Control
|
|
60
|
+
* **`rushdeploy project <slug> start|stop|redeploy`**: Control container run state.
|
|
61
|
+
* **`rushdeploy project <slug> rollback [deployment_id]`**: Rollback project to a previous deployment build.
|
|
62
|
+
* **`rushdeploy project <slug> visit`**: Open the project's URL in your default browser.
|
|
63
|
+
* **`rushdeploy project <slug> stats`**: Stream container CPU & RAM telemetry.
|
|
64
|
+
* **`rushdeploy project <slug> logs`**: Tail container build and running output.
|
|
65
|
+
* *Options: `--lines <N>`*
|
|
66
|
+
* **`rushdeploy project <slug> env [set|remove]`**: Configure environment variables.
|
|
67
|
+
* **`rushdeploy project <slug> autoscale`**: Read/write auto-scaling replica properties.
|
|
68
|
+
* **`rushdeploy project <slug> autodeploy <on|off>`**: Toggle webhook push deployments.
|
package/bin/index.js
CHANGED
|
@@ -773,12 +773,60 @@ async function cmdDeploy(type, args) {
|
|
|
773
773
|
]);
|
|
774
774
|
}
|
|
775
775
|
|
|
776
|
+
} else if (type === 'n8n') {
|
|
777
|
+
const name = args[0];
|
|
778
|
+
if (!name) {
|
|
779
|
+
ui.stepError(`Please specify the n8n project name.`);
|
|
780
|
+
console.log(` Usage: ${colors.green}rushdeploy deploy n8n <name> [--key <encryption_key>] [--auth-user <user>] [--auth-pass <pass>]${colors.reset}`);
|
|
781
|
+
process.exit(1);
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
let encryptionKey = null;
|
|
785
|
+
const keyIdx = args.indexOf('--key');
|
|
786
|
+
if (keyIdx !== -1 && args[keyIdx + 1]) encryptionKey = args[keyIdx + 1];
|
|
787
|
+
|
|
788
|
+
let authUser = null;
|
|
789
|
+
const userIdx = args.indexOf('--auth-user');
|
|
790
|
+
if (userIdx !== -1 && args[userIdx + 1]) authUser = args[userIdx + 1];
|
|
791
|
+
|
|
792
|
+
let authPass = null;
|
|
793
|
+
const passIdx = args.indexOf('--auth-pass');
|
|
794
|
+
if (passIdx !== -1 && args[passIdx + 1]) authPass = args[passIdx + 1];
|
|
795
|
+
|
|
796
|
+
ui.step(`Preparing n8n autonomous workflow environment for ${name}`);
|
|
797
|
+
ui.step(`Queueing 1-click n8n instance deployment`);
|
|
798
|
+
|
|
799
|
+
const payload = { name };
|
|
800
|
+
if (encryptionKey) payload.encryption_key = encryptionKey;
|
|
801
|
+
if (authUser || authPass) {
|
|
802
|
+
payload.basic_auth_active = true;
|
|
803
|
+
if (authUser) payload.basic_auth_user = authUser;
|
|
804
|
+
if (authPass) payload.basic_auth_password = authPass;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
const res = await makeRequest('/projects/n8n', 'POST', payload);
|
|
808
|
+
if (res.success) {
|
|
809
|
+
ui.step(`n8n deployment queued successfully!`);
|
|
810
|
+
const n8nFields = [
|
|
811
|
+
{ label: 'Instance', value: colors.bold + name + colors.reset },
|
|
812
|
+
{ label: 'State', value: ui.badge('QUEUED') },
|
|
813
|
+
{ label: 'Project ID', value: String(res.project_id) },
|
|
814
|
+
{ label: 'Deployment ID', value: String(res.deployment_id) },
|
|
815
|
+
{ label: 'Public URL', value: colors.brightCyan + colors.bold + res.url + colors.reset }
|
|
816
|
+
];
|
|
817
|
+
if (res.encryption_key) {
|
|
818
|
+
n8nFields.push({ label: 'Encryption Key', value: res.encryption_key });
|
|
819
|
+
}
|
|
820
|
+
ui.box(n8nFields);
|
|
821
|
+
}
|
|
822
|
+
|
|
776
823
|
} else {
|
|
777
|
-
ui.stepError(`Invalid deployment source type. Must be 'git', 'repo', or '
|
|
824
|
+
ui.stepError(`Invalid deployment source type. Must be 'git', 'repo', 'wordpress', or 'n8n'.`);
|
|
778
825
|
console.log(`\nUsage:`);
|
|
779
826
|
console.log(` rushdeploy deploy git <repo_url> [options]`);
|
|
780
827
|
console.log(` rushdeploy deploy repo <owner/repo> [options]`);
|
|
781
828
|
console.log(` rushdeploy deploy wordpress <name> --email <email> [options]`);
|
|
829
|
+
console.log(` rushdeploy deploy n8n <name> [options]`);
|
|
782
830
|
process.exit(1);
|
|
783
831
|
}
|
|
784
832
|
}
|
|
@@ -1145,7 +1193,7 @@ async function cmdWorkspace() {
|
|
|
1145
1193
|
|
|
1146
1194
|
function printHelp() {
|
|
1147
1195
|
console.log(`
|
|
1148
|
-
${colors.bold}${colors.brightWhite}RushDeploy CLI${colors.reset} ${colors.gray}v1.0.
|
|
1196
|
+
${colors.bold}${colors.brightWhite}RushDeploy CLI${colors.reset} ${colors.gray}v1.0.8${colors.reset} - Modern PaaS Command Line Interface
|
|
1149
1197
|
|
|
1150
1198
|
${colors.bold}USAGE:${colors.reset}
|
|
1151
1199
|
${colors.brightCyan}rushdeploy${colors.reset} <command> [arguments] [options]
|
|
@@ -1168,6 +1216,8 @@ ${colors.bold}DEPLOYMENT COMMANDS:${colors.reset}
|
|
|
1168
1216
|
Options: ${colors.gray}--name <name> --branch <branch> --type <type>${colors.reset}
|
|
1169
1217
|
${colors.green}deploy wordpress <name>${colors.reset} Deploy a new one-click WordPress site
|
|
1170
1218
|
Options: ${colors.gray}--email <e> [--title <t>] [--user <u>] [--password <p>]${colors.reset}
|
|
1219
|
+
${colors.green}deploy n8n <name>${colors.reset} Deploy a 1-click n8n workflow engine
|
|
1220
|
+
Options: ${colors.gray}[--key <key>] [--auth-user <u>] [--auth-pass <p>]${colors.reset}
|
|
1171
1221
|
|
|
1172
1222
|
${colors.bold}PROJECT CONTROL:${colors.reset}
|
|
1173
1223
|
${colors.green}project <slug|id>${colors.reset} Show project overview
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "rushdeploy",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "CLI tool to manage your self-hosted RushDeploy PaaS account.",
|
|
5
|
-
"main": "bin/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"rushdeploy": "bin/index.js"
|
|
8
|
-
},
|
|
9
|
-
"type": "commonjs",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"start": "node bin/index.js"
|
|
12
|
-
},
|
|
13
|
-
"keywords": [
|
|
14
|
-
"rushdeploy",
|
|
15
|
-
"paas",
|
|
16
|
-
"cli"
|
|
17
|
-
],
|
|
18
|
-
"author": "RushDeploy Team",
|
|
19
|
-
"license": "MIT",
|
|
20
|
-
"files": [
|
|
21
|
-
"bin",
|
|
22
|
-
"README.md"
|
|
23
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"name": "rushdeploy",
|
|
3
|
+
"version": "1.0.8",
|
|
4
|
+
"description": "CLI tool to manage your self-hosted RushDeploy PaaS account.",
|
|
5
|
+
"main": "bin/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"rushdeploy": "bin/index.js"
|
|
8
|
+
},
|
|
9
|
+
"type": "commonjs",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "node bin/index.js"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"rushdeploy",
|
|
15
|
+
"paas",
|
|
16
|
+
"cli"
|
|
17
|
+
],
|
|
18
|
+
"author": "RushDeploy Team",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"files": [
|
|
21
|
+
"bin",
|
|
22
|
+
"README.md"
|
|
23
|
+
]
|
|
24
24
|
}
|