elestio 1.0.2 → 1.0.3
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/LICENSE +21 -21
- package/README.md +279 -264
- package/bin/elestio.js +5 -5
- package/package.json +42 -42
- package/src/api.js +105 -105
- package/src/cli.js +838 -829
- package/src/commands/access.js +132 -132
- package/src/commands/actions.js +427 -427
- package/src/commands/auth.js +146 -146
- package/src/commands/backups.js +215 -215
- package/src/commands/billing.js +106 -106
- package/src/commands/cicd.js +486 -484
- package/src/commands/projects.js +145 -145
- package/src/commands/services.js +294 -294
- package/src/commands/templates.js +188 -188
- package/src/commands/volumes.js +117 -117
- package/src/config.js +84 -84
- package/src/utils.js +162 -162
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Elestio
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Elestio
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,264 +1,279 @@
|
|
|
1
|
-
# Elestio CLI
|
|
2
|
-
|
|
3
|
-
Deploy and manage services on the [Elestio](https://elest.io) DevOps platform from the command line.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install -g elestio
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Requires Node.js >= 18.
|
|
12
|
-
|
|
13
|
-
## Quick Start
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Configure credentials (get your API token from https://dash.elest.io/account/security)
|
|
17
|
-
elestio login --email you@example.com --token YOUR_API_TOKEN
|
|
18
|
-
|
|
19
|
-
# Verify authentication
|
|
20
|
-
elestio auth test
|
|
21
|
-
|
|
22
|
-
# List available templates
|
|
23
|
-
elestio templates
|
|
24
|
-
|
|
25
|
-
# Deploy a service
|
|
26
|
-
elestio deploy PostgreSQL --project 12345 --name my-db
|
|
27
|
-
|
|
28
|
-
# List services
|
|
29
|
-
elestio services --project 12345
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Commands
|
|
33
|
-
|
|
34
|
-
### Auth & Config
|
|
35
|
-
|
|
36
|
-
| Command | Description |
|
|
37
|
-
|---------|-------------|
|
|
38
|
-
| `elestio login --email X --token Y` | Configure credentials |
|
|
39
|
-
| `elestio whoami` | Show current user |
|
|
40
|
-
| `elestio config` | Show current configuration |
|
|
41
|
-
| `elestio config --set-default-project ID` | Set default project |
|
|
42
|
-
| `elestio config --provider X --datacenter Y` | Set defaults |
|
|
43
|
-
| `elestio auth test` | Test authentication |
|
|
44
|
-
|
|
45
|
-
### Catalog (no auth required)
|
|
46
|
-
|
|
47
|
-
| Command | Description |
|
|
48
|
-
|---------|-------------|
|
|
49
|
-
| `elestio templates` | List all 400+ deployable templates |
|
|
50
|
-
| `elestio templates search <query>` | Search templates |
|
|
51
|
-
| `elestio templates info <name>` | Show template details |
|
|
52
|
-
| `elestio categories` | List template categories |
|
|
53
|
-
| `elestio sizes` | List server sizes and pricing |
|
|
54
|
-
| `elestio sizes --provider hetzner` | Filter by provider |
|
|
55
|
-
|
|
56
|
-
### Projects
|
|
57
|
-
|
|
58
|
-
| Command | Description |
|
|
59
|
-
|---------|-------------|
|
|
60
|
-
| `elestio projects` | List all projects |
|
|
61
|
-
| `elestio projects create <name>` | Create a project |
|
|
62
|
-
| `elestio projects edit <id> --name X` | Edit a project |
|
|
63
|
-
| `elestio projects delete <id> --force` | Delete a project |
|
|
64
|
-
| `elestio projects members <id>` | List members |
|
|
65
|
-
| `elestio projects add-member <id> <email>` | Add a member |
|
|
66
|
-
| `elestio projects remove-member <id> <memberId>` | Remove a member |
|
|
67
|
-
|
|
68
|
-
### Services
|
|
69
|
-
|
|
70
|
-
| Command | Description |
|
|
71
|
-
|---------|-------------|
|
|
72
|
-
| `elestio services` | List services in default project |
|
|
73
|
-
| `elestio service <vmID>` | Show service details |
|
|
74
|
-
| `elestio deploy <template>` | Deploy a new service |
|
|
75
|
-
| `elestio deploy <template> --dry-run` | Preview deployment |
|
|
76
|
-
| `elestio delete-service <vmID> --force` | Delete a service |
|
|
77
|
-
| `elestio move-service <vmID> <targetProjectId>` | Move to another project |
|
|
78
|
-
| `elestio wait <vmID>` | Wait for deployment to complete |
|
|
79
|
-
|
|
80
|
-
#### Deploy options
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
elestio deploy PostgreSQL \
|
|
84
|
-
--project 12345 \
|
|
85
|
-
--name my-db \
|
|
86
|
-
--provider hetzner \
|
|
87
|
-
--region fsn1 \
|
|
88
|
-
--size MEDIUM-2C-4G \
|
|
89
|
-
--version 16 \
|
|
90
|
-
--support level1
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Server Actions
|
|
94
|
-
|
|
95
|
-
| Command | Description |
|
|
96
|
-
|---------|-------------|
|
|
97
|
-
| `elestio reboot <vmID>` | Graceful reboot |
|
|
98
|
-
| `elestio reset <vmID>` | Hard reset |
|
|
99
|
-
| `elestio shutdown <vmID>` | Graceful shutdown |
|
|
100
|
-
| `elestio poweroff <vmID>` | Force power off |
|
|
101
|
-
| `elestio poweron <vmID>` | Power on |
|
|
102
|
-
| `elestio restart-stack <vmID>` | Restart Docker stack |
|
|
103
|
-
| `elestio lock <vmID>` | Enable termination protection |
|
|
104
|
-
| `elestio unlock <vmID>` | Disable termination protection |
|
|
105
|
-
| `elestio resize <vmID> --size LARGE-4C-8G` | Resize a VM |
|
|
106
|
-
| `elestio change-version <vmID> <version>` | Change software version |
|
|
107
|
-
|
|
108
|
-
### Firewall
|
|
109
|
-
|
|
110
|
-
| Command | Description |
|
|
111
|
-
|---------|-------------|
|
|
112
|
-
| `elestio firewall get <vmID>` | Show firewall rules |
|
|
113
|
-
| `elestio firewall enable <vmID> --rules '[...]'` | Enable firewall |
|
|
114
|
-
| `elestio firewall update <vmID> --rules '[...]'` | Update rules |
|
|
115
|
-
| `elestio firewall disable <vmID>` | Disable firewall |
|
|
116
|
-
|
|
117
|
-
### SSL / Custom Domains
|
|
118
|
-
|
|
119
|
-
| Command | Description |
|
|
120
|
-
|---------|-------------|
|
|
121
|
-
| `elestio ssl list <vmID>` | List custom domains |
|
|
122
|
-
| `elestio ssl add <vmID> <domain>` | Add domain with auto-SSL |
|
|
123
|
-
| `elestio ssl remove <vmID> <domain>` | Remove domain |
|
|
124
|
-
|
|
125
|
-
### SSH Keys
|
|
126
|
-
|
|
127
|
-
| Command | Description |
|
|
128
|
-
|---------|-------------|
|
|
129
|
-
| `elestio ssh-keys list <vmID>` | List SSH keys |
|
|
130
|
-
| `elestio ssh-keys add <vmID> --name X --key Y` | Add an SSH key |
|
|
131
|
-
| `elestio ssh-keys remove <vmID> --name X` | Remove an SSH key |
|
|
132
|
-
|
|
133
|
-
### Auto-Updates
|
|
134
|
-
|
|
135
|
-
| Command | Description |
|
|
136
|
-
|---------|-------------|
|
|
137
|
-
| `elestio updates system-enable <vmID>` | Enable OS auto-updates |
|
|
138
|
-
| `elestio updates system-disable <vmID>` | Disable OS auto-updates |
|
|
139
|
-
| `elestio updates system-now <vmID>` | Run OS update now |
|
|
140
|
-
| `elestio updates app-enable <vmID>` | Enable app auto-updates |
|
|
141
|
-
| `elestio updates app-disable <vmID>` | Disable app auto-updates |
|
|
142
|
-
| `elestio updates app-now <vmID>` | Run app update now |
|
|
143
|
-
|
|
144
|
-
### Alerts
|
|
145
|
-
|
|
146
|
-
| Command | Description |
|
|
147
|
-
|---------|-------------|
|
|
148
|
-
| `elestio alerts get <vmID>` | Show alert rules |
|
|
149
|
-
| `elestio alerts enable <vmID> --rules '...'` | Enable/update alerts |
|
|
150
|
-
| `elestio alerts disable <vmID>` | Disable alerts |
|
|
151
|
-
|
|
152
|
-
### Backups
|
|
153
|
-
|
|
154
|
-
| Command | Description |
|
|
155
|
-
|---------|-------------|
|
|
156
|
-
| `elestio backups local-list <vmID>` | List local backups |
|
|
157
|
-
| `elestio backups local-take <vmID>` | Take a local backup |
|
|
158
|
-
| `elestio backups local-restore <vmID> <path>` | Restore local backup |
|
|
159
|
-
| `elestio backups local-delete <vmID> <path>` | Delete local backup |
|
|
160
|
-
| `elestio backups remote-list <vmID>` | List remote backups |
|
|
161
|
-
| `elestio backups remote-take <vmID>` | Take remote backup |
|
|
162
|
-
| `elestio backups remote-restore <vmID> <snapshot>` | Restore remote backup |
|
|
163
|
-
| `elestio backups auto-enable <vmID>` | Setup auto backups |
|
|
164
|
-
| `elestio backups auto-disable <vmID>` | Disable auto backups |
|
|
165
|
-
|
|
166
|
-
### Snapshots
|
|
167
|
-
|
|
168
|
-
| Command | Description |
|
|
169
|
-
|---------|-------------|
|
|
170
|
-
| `elestio snapshots list <vmID>` | List snapshots |
|
|
171
|
-
| `elestio snapshots take <vmID>` | Take a snapshot |
|
|
172
|
-
| `elestio snapshots restore <vmID> <orderID>` | Restore (0 = most recent) |
|
|
173
|
-
| `elestio snapshots delete <vmID> <snapshotID>` | Delete a snapshot |
|
|
174
|
-
| `elestio snapshots auto-enable <vmID>` | Enable auto snapshots |
|
|
175
|
-
| `elestio snapshots auto-disable <vmID>` | Disable auto snapshots |
|
|
176
|
-
|
|
177
|
-
### S3 External Backups
|
|
178
|
-
|
|
179
|
-
| Command | Description |
|
|
180
|
-
|---------|-------------|
|
|
181
|
-
| `elestio s3-backup verify <vmID>` | Verify S3 config |
|
|
182
|
-
| `elestio s3-backup enable <vmID>` | Enable S3 backup |
|
|
183
|
-
| `elestio s3-backup disable <vmID>` | Disable S3 backup |
|
|
184
|
-
| `elestio s3-backup take <vmID>` | Take S3 backup |
|
|
185
|
-
| `elestio s3-backup list <vmID>` | List S3 backups |
|
|
186
|
-
| `elestio s3-backup restore <vmID> <key>` | Restore S3 backup |
|
|
187
|
-
| `elestio s3-backup delete <vmID> <key>` | Delete S3 backup |
|
|
188
|
-
|
|
189
|
-
S3 options: `--key`, `--secret`, `--bucket`, `--endpoint`, `--prefix`
|
|
190
|
-
|
|
191
|
-
### Access
|
|
192
|
-
|
|
193
|
-
| Command | Description |
|
|
194
|
-
|---------|-------------|
|
|
195
|
-
| `elestio credentials <vmID>` | Get app URL, user & password |
|
|
196
|
-
| `elestio ssh <vmID>` | Get web terminal URL |
|
|
197
|
-
| `elestio ssh <vmID> --direct` | Get direct SSH connection info |
|
|
198
|
-
| `elestio vscode <vmID>` | Get VSCode web URL |
|
|
199
|
-
| `elestio files <vmID>` | Get file explorer URL |
|
|
200
|
-
|
|
201
|
-
### Volumes
|
|
202
|
-
|
|
203
|
-
| Command | Description |
|
|
204
|
-
|---------|-------------|
|
|
205
|
-
| `elestio volumes` | List project volumes |
|
|
206
|
-
| `elestio volumes create --name X --size 10` | Create a volume |
|
|
207
|
-
| `elestio volumes service-list <vmID>` | List attached volumes |
|
|
208
|
-
| `elestio volumes service-create <vmID> --name X` | Create & attach volume |
|
|
209
|
-
| `elestio volumes resize <vmID> <volumeID> --size 50` | Resize a volume |
|
|
210
|
-
| `elestio volumes detach <vmID> <volumeID>` | Detach a volume |
|
|
211
|
-
| `elestio volumes delete <vmID> <volumeID>` | Delete a volume |
|
|
212
|
-
| `elestio volumes protect <vmID> <volumeID>` | Toggle protection |
|
|
213
|
-
|
|
214
|
-
### CI/CD
|
|
215
|
-
|
|
216
|
-
| Command | Description |
|
|
217
|
-
|---------|-------------|
|
|
218
|
-
| `elestio cicd targets` | List CI/CD targets |
|
|
219
|
-
| `elestio cicd pipelines <vmID>` | List pipelines |
|
|
220
|
-
| `elestio cicd pipeline-info <vmID> <pipelineID>` | Pipeline details |
|
|
221
|
-
| `elestio cicd pipeline-restart <vmID> <pipelineID>` | Restart pipeline |
|
|
222
|
-
| `elestio cicd pipeline-stop <vmID> <pipelineID>` | Stop pipeline |
|
|
223
|
-
| `elestio cicd pipeline-delete <vmID> <pipelineID> --force` | Delete pipeline |
|
|
224
|
-
| `elestio cicd pipeline-resync <vmID> <pipelineID>` | Re-sync pipeline |
|
|
225
|
-
| `elestio cicd pipeline-logs <vmID> <pipelineID>` | View pipeline logs |
|
|
226
|
-
| `elestio cicd pipeline-history <vmID> <pipelineID>` | Build history |
|
|
227
|
-
| `elestio cicd create --auto --target <vmID> --name X --repo owner/repo` | Auto-create pipeline |
|
|
228
|
-
| `elestio cicd create <config.json>` | Create from config file |
|
|
229
|
-
| `elestio cicd template [mode]` | Generate config template |
|
|
230
|
-
| `elestio cicd domains <vmID> <pipelineID>` | List pipeline domains |
|
|
231
|
-
| `elestio cicd registries` | List Docker registries |
|
|
232
|
-
| `elestio cicd registry-add --name X --username U --password P --url
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
|
244
|
-
|
|
245
|
-
| `--
|
|
246
|
-
| `--
|
|
247
|
-
| `--
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
1
|
+
# Elestio CLI
|
|
2
|
+
|
|
3
|
+
Deploy and manage services on the [Elestio](https://elest.io) DevOps platform from the command line.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g elestio
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Requires Node.js >= 18.
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Configure credentials (get your API token from https://dash.elest.io/account/security)
|
|
17
|
+
elestio login --email you@example.com --token YOUR_API_TOKEN
|
|
18
|
+
|
|
19
|
+
# Verify authentication
|
|
20
|
+
elestio auth test
|
|
21
|
+
|
|
22
|
+
# List available templates
|
|
23
|
+
elestio templates
|
|
24
|
+
|
|
25
|
+
# Deploy a service
|
|
26
|
+
elestio deploy PostgreSQL --project 12345 --name my-db
|
|
27
|
+
|
|
28
|
+
# List services
|
|
29
|
+
elestio services --project 12345
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Commands
|
|
33
|
+
|
|
34
|
+
### Auth & Config
|
|
35
|
+
|
|
36
|
+
| Command | Description |
|
|
37
|
+
|---------|-------------|
|
|
38
|
+
| `elestio login --email X --token Y` | Configure credentials |
|
|
39
|
+
| `elestio whoami` | Show current user |
|
|
40
|
+
| `elestio config` | Show current configuration |
|
|
41
|
+
| `elestio config --set-default-project ID` | Set default project |
|
|
42
|
+
| `elestio config --provider X --datacenter Y` | Set defaults |
|
|
43
|
+
| `elestio auth test` | Test authentication |
|
|
44
|
+
|
|
45
|
+
### Catalog (no auth required)
|
|
46
|
+
|
|
47
|
+
| Command | Description |
|
|
48
|
+
|---------|-------------|
|
|
49
|
+
| `elestio templates` | List all 400+ deployable templates |
|
|
50
|
+
| `elestio templates search <query>` | Search templates |
|
|
51
|
+
| `elestio templates info <name>` | Show template details |
|
|
52
|
+
| `elestio categories` | List template categories |
|
|
53
|
+
| `elestio sizes` | List server sizes and pricing |
|
|
54
|
+
| `elestio sizes --provider hetzner` | Filter by provider |
|
|
55
|
+
|
|
56
|
+
### Projects
|
|
57
|
+
|
|
58
|
+
| Command | Description |
|
|
59
|
+
|---------|-------------|
|
|
60
|
+
| `elestio projects` | List all projects |
|
|
61
|
+
| `elestio projects create <name>` | Create a project |
|
|
62
|
+
| `elestio projects edit <id> --name X` | Edit a project |
|
|
63
|
+
| `elestio projects delete <id> --force` | Delete a project |
|
|
64
|
+
| `elestio projects members <id>` | List members |
|
|
65
|
+
| `elestio projects add-member <id> <email>` | Add a member |
|
|
66
|
+
| `elestio projects remove-member <id> <memberId>` | Remove a member |
|
|
67
|
+
|
|
68
|
+
### Services
|
|
69
|
+
|
|
70
|
+
| Command | Description |
|
|
71
|
+
|---------|-------------|
|
|
72
|
+
| `elestio services` | List services in default project |
|
|
73
|
+
| `elestio service <vmID>` | Show service details |
|
|
74
|
+
| `elestio deploy <template>` | Deploy a new service |
|
|
75
|
+
| `elestio deploy <template> --dry-run` | Preview deployment |
|
|
76
|
+
| `elestio delete-service <vmID> --force` | Delete a service |
|
|
77
|
+
| `elestio move-service <vmID> <targetProjectId>` | Move to another project |
|
|
78
|
+
| `elestio wait <vmID>` | Wait for deployment to complete |
|
|
79
|
+
|
|
80
|
+
#### Deploy options
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
elestio deploy PostgreSQL \
|
|
84
|
+
--project 12345 \
|
|
85
|
+
--name my-db \
|
|
86
|
+
--provider hetzner \
|
|
87
|
+
--region fsn1 \
|
|
88
|
+
--size MEDIUM-2C-4G \
|
|
89
|
+
--version 16 \
|
|
90
|
+
--support level1
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Server Actions
|
|
94
|
+
|
|
95
|
+
| Command | Description |
|
|
96
|
+
|---------|-------------|
|
|
97
|
+
| `elestio reboot <vmID>` | Graceful reboot |
|
|
98
|
+
| `elestio reset <vmID>` | Hard reset |
|
|
99
|
+
| `elestio shutdown <vmID>` | Graceful shutdown |
|
|
100
|
+
| `elestio poweroff <vmID>` | Force power off |
|
|
101
|
+
| `elestio poweron <vmID>` | Power on |
|
|
102
|
+
| `elestio restart-stack <vmID>` | Restart Docker stack |
|
|
103
|
+
| `elestio lock <vmID>` | Enable termination protection |
|
|
104
|
+
| `elestio unlock <vmID>` | Disable termination protection |
|
|
105
|
+
| `elestio resize <vmID> --size LARGE-4C-8G` | Resize a VM |
|
|
106
|
+
| `elestio change-version <vmID> <version>` | Change software version |
|
|
107
|
+
|
|
108
|
+
### Firewall
|
|
109
|
+
|
|
110
|
+
| Command | Description |
|
|
111
|
+
|---------|-------------|
|
|
112
|
+
| `elestio firewall get <vmID>` | Show firewall rules |
|
|
113
|
+
| `elestio firewall enable <vmID> --rules '[...]'` | Enable firewall |
|
|
114
|
+
| `elestio firewall update <vmID> --rules '[...]'` | Update rules |
|
|
115
|
+
| `elestio firewall disable <vmID>` | Disable firewall |
|
|
116
|
+
|
|
117
|
+
### SSL / Custom Domains
|
|
118
|
+
|
|
119
|
+
| Command | Description |
|
|
120
|
+
|---------|-------------|
|
|
121
|
+
| `elestio ssl list <vmID>` | List custom domains |
|
|
122
|
+
| `elestio ssl add <vmID> <domain>` | Add domain with auto-SSL |
|
|
123
|
+
| `elestio ssl remove <vmID> <domain>` | Remove domain |
|
|
124
|
+
|
|
125
|
+
### SSH Keys
|
|
126
|
+
|
|
127
|
+
| Command | Description |
|
|
128
|
+
|---------|-------------|
|
|
129
|
+
| `elestio ssh-keys list <vmID>` | List SSH keys |
|
|
130
|
+
| `elestio ssh-keys add <vmID> --name X --key Y` | Add an SSH key |
|
|
131
|
+
| `elestio ssh-keys remove <vmID> --name X` | Remove an SSH key |
|
|
132
|
+
|
|
133
|
+
### Auto-Updates
|
|
134
|
+
|
|
135
|
+
| Command | Description |
|
|
136
|
+
|---------|-------------|
|
|
137
|
+
| `elestio updates system-enable <vmID>` | Enable OS auto-updates |
|
|
138
|
+
| `elestio updates system-disable <vmID>` | Disable OS auto-updates |
|
|
139
|
+
| `elestio updates system-now <vmID>` | Run OS update now |
|
|
140
|
+
| `elestio updates app-enable <vmID>` | Enable app auto-updates |
|
|
141
|
+
| `elestio updates app-disable <vmID>` | Disable app auto-updates |
|
|
142
|
+
| `elestio updates app-now <vmID>` | Run app update now |
|
|
143
|
+
|
|
144
|
+
### Alerts
|
|
145
|
+
|
|
146
|
+
| Command | Description |
|
|
147
|
+
|---------|-------------|
|
|
148
|
+
| `elestio alerts get <vmID>` | Show alert rules |
|
|
149
|
+
| `elestio alerts enable <vmID> --rules '...'` | Enable/update alerts |
|
|
150
|
+
| `elestio alerts disable <vmID>` | Disable alerts |
|
|
151
|
+
|
|
152
|
+
### Backups
|
|
153
|
+
|
|
154
|
+
| Command | Description |
|
|
155
|
+
|---------|-------------|
|
|
156
|
+
| `elestio backups local-list <vmID>` | List local backups |
|
|
157
|
+
| `elestio backups local-take <vmID>` | Take a local backup |
|
|
158
|
+
| `elestio backups local-restore <vmID> <path>` | Restore local backup |
|
|
159
|
+
| `elestio backups local-delete <vmID> <path>` | Delete local backup |
|
|
160
|
+
| `elestio backups remote-list <vmID>` | List remote backups |
|
|
161
|
+
| `elestio backups remote-take <vmID>` | Take remote backup |
|
|
162
|
+
| `elestio backups remote-restore <vmID> <snapshot>` | Restore remote backup |
|
|
163
|
+
| `elestio backups auto-enable <vmID>` | Setup auto backups |
|
|
164
|
+
| `elestio backups auto-disable <vmID>` | Disable auto backups |
|
|
165
|
+
|
|
166
|
+
### Snapshots
|
|
167
|
+
|
|
168
|
+
| Command | Description |
|
|
169
|
+
|---------|-------------|
|
|
170
|
+
| `elestio snapshots list <vmID>` | List snapshots |
|
|
171
|
+
| `elestio snapshots take <vmID>` | Take a snapshot |
|
|
172
|
+
| `elestio snapshots restore <vmID> <orderID>` | Restore (0 = most recent) |
|
|
173
|
+
| `elestio snapshots delete <vmID> <snapshotID>` | Delete a snapshot |
|
|
174
|
+
| `elestio snapshots auto-enable <vmID>` | Enable auto snapshots |
|
|
175
|
+
| `elestio snapshots auto-disable <vmID>` | Disable auto snapshots |
|
|
176
|
+
|
|
177
|
+
### S3 External Backups
|
|
178
|
+
|
|
179
|
+
| Command | Description |
|
|
180
|
+
|---------|-------------|
|
|
181
|
+
| `elestio s3-backup verify <vmID>` | Verify S3 config |
|
|
182
|
+
| `elestio s3-backup enable <vmID>` | Enable S3 backup |
|
|
183
|
+
| `elestio s3-backup disable <vmID>` | Disable S3 backup |
|
|
184
|
+
| `elestio s3-backup take <vmID>` | Take S3 backup |
|
|
185
|
+
| `elestio s3-backup list <vmID>` | List S3 backups |
|
|
186
|
+
| `elestio s3-backup restore <vmID> <key>` | Restore S3 backup |
|
|
187
|
+
| `elestio s3-backup delete <vmID> <key>` | Delete S3 backup |
|
|
188
|
+
|
|
189
|
+
S3 options: `--key`, `--secret`, `--bucket`, `--endpoint`, `--prefix`
|
|
190
|
+
|
|
191
|
+
### Access
|
|
192
|
+
|
|
193
|
+
| Command | Description |
|
|
194
|
+
|---------|-------------|
|
|
195
|
+
| `elestio credentials <vmID>` | Get app URL, user & password |
|
|
196
|
+
| `elestio ssh <vmID>` | Get web terminal URL |
|
|
197
|
+
| `elestio ssh <vmID> --direct` | Get direct SSH connection info |
|
|
198
|
+
| `elestio vscode <vmID>` | Get VSCode web URL |
|
|
199
|
+
| `elestio files <vmID>` | Get file explorer URL |
|
|
200
|
+
|
|
201
|
+
### Volumes
|
|
202
|
+
|
|
203
|
+
| Command | Description |
|
|
204
|
+
|---------|-------------|
|
|
205
|
+
| `elestio volumes` | List project volumes |
|
|
206
|
+
| `elestio volumes create --name X --size 10` | Create a volume |
|
|
207
|
+
| `elestio volumes service-list <vmID>` | List attached volumes |
|
|
208
|
+
| `elestio volumes service-create <vmID> --name X` | Create & attach volume |
|
|
209
|
+
| `elestio volumes resize <vmID> <volumeID> --size 50` | Resize a volume |
|
|
210
|
+
| `elestio volumes detach <vmID> <volumeID>` | Detach a volume |
|
|
211
|
+
| `elestio volumes delete <vmID> <volumeID>` | Delete a volume |
|
|
212
|
+
| `elestio volumes protect <vmID> <volumeID>` | Toggle protection |
|
|
213
|
+
|
|
214
|
+
### CI/CD
|
|
215
|
+
|
|
216
|
+
| Command | Description |
|
|
217
|
+
|---------|-------------|
|
|
218
|
+
| `elestio cicd targets` | List CI/CD targets |
|
|
219
|
+
| `elestio cicd pipelines <vmID>` | List pipelines |
|
|
220
|
+
| `elestio cicd pipeline-info <vmID> <pipelineID>` | Pipeline details |
|
|
221
|
+
| `elestio cicd pipeline-restart <vmID> <pipelineID>` | Restart pipeline |
|
|
222
|
+
| `elestio cicd pipeline-stop <vmID> <pipelineID>` | Stop pipeline |
|
|
223
|
+
| `elestio cicd pipeline-delete <vmID> <pipelineID> --force` | Delete pipeline |
|
|
224
|
+
| `elestio cicd pipeline-resync <vmID> <pipelineID>` | Re-sync pipeline |
|
|
225
|
+
| `elestio cicd pipeline-logs <vmID> <pipelineID>` | View pipeline logs |
|
|
226
|
+
| `elestio cicd pipeline-history <vmID> <pipelineID>` | Build history |
|
|
227
|
+
| `elestio cicd create --auto --target <vmID> --name X --repo owner/repo` | Auto-create pipeline |
|
|
228
|
+
| `elestio cicd create <config.json>` | Create from config file |
|
|
229
|
+
| `elestio cicd template [mode]` | Generate config template |
|
|
230
|
+
| `elestio cicd domains <vmID> <pipelineID>` | List pipeline domains |
|
|
231
|
+
| `elestio cicd registries` | List Docker registries |
|
|
232
|
+
| `elestio cicd registry-add --name X --username U --password P --url REPO` | Add Docker Hub registry |
|
|
233
|
+
| `elestio cicd registry-add --name X --username U --password P --url REPO --registry-type registry.gitlab.com --repo-id ID` | Add GitLab.com registry |
|
|
234
|
+
| `elestio cicd registry-add --name X --username U --password P --url REPO --registry-type gitlab-self-hosted --repo-id ID --gitlab-url gitlab.company.com` | Add self-hosted GitLab registry |
|
|
235
|
+
| `elestio cicd registry-add --name X --username U --password P --url REPO --registry-type ghcr.io` | Add GitHub Container Registry |
|
|
236
|
+
|
|
237
|
+
**`registry-add` options:**
|
|
238
|
+
|
|
239
|
+
| Option | Description |
|
|
240
|
+
|--------|-------------|
|
|
241
|
+
| `--name` | Unique identity nickname for the registry credential |
|
|
242
|
+
| `--username` | Registry username |
|
|
243
|
+
| `--password` | Registry password or access token |
|
|
244
|
+
| `--url` | Repository path (e.g. `myuser/myrepo`) — **not** the registry host |
|
|
245
|
+
| `--registry-type` | Registry host: `docker.io` (default), `registry.gitlab.com`, `gitlab-self-hosted`, `ghcr.io` |
|
|
246
|
+
| `--repo-id` | GitLab project/repo ID — required for `registry.gitlab.com` and `gitlab-self-hosted` |
|
|
247
|
+
| `--gitlab-url` | Self-hosted GitLab hostname (e.g. `gitlab.company.com`) — required for `gitlab-self-hosted` |
|
|
248
|
+
|
|
249
|
+
### Billing
|
|
250
|
+
|
|
251
|
+
| Command | Description |
|
|
252
|
+
|---------|-------------|
|
|
253
|
+
| `elestio billing` | Billing summary across all projects |
|
|
254
|
+
| `elestio billing project <id>` | Per-project billing details |
|
|
255
|
+
|
|
256
|
+
## Global Options
|
|
257
|
+
|
|
258
|
+
| Option | Description |
|
|
259
|
+
|--------|-------------|
|
|
260
|
+
| `--json` | Output in JSON format (for scripting) |
|
|
261
|
+
| `--project <id>` | Specify project ID |
|
|
262
|
+
| `--help`, `-h` | Show help |
|
|
263
|
+
| `--version`, `-v` | Show version |
|
|
264
|
+
| `--debug` | Show full error stack traces |
|
|
265
|
+
|
|
266
|
+
## Configuration
|
|
267
|
+
|
|
268
|
+
Credentials and config are stored in `~/.elestio/`:
|
|
269
|
+
|
|
270
|
+
- `~/.elestio/credentials` - Email and API token (mode 0600)
|
|
271
|
+
- `~/.elestio/config.json` - JWT cache, default project, provider defaults
|
|
272
|
+
|
|
273
|
+
Get your API token from [Elestio Dashboard > Security](https://dash.elest.io/account/security).
|
|
274
|
+
|
|
275
|
+
## Documentation
|
|
276
|
+
https://docs.elest.io/books/elestio-cli-skill/page/overview
|
|
277
|
+
## License
|
|
278
|
+
|
|
279
|
+
MIT
|
package/bin/elestio.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { run } from '../src/cli.js';
|
|
4
|
-
|
|
5
|
-
run(process.argv.slice(2));
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { run } from '../src/cli.js';
|
|
4
|
+
|
|
5
|
+
run(process.argv.slice(2));
|