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 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 URL` | Add registry |
233
-
234
- ### Billing
235
-
236
- | Command | Description |
237
- |---------|-------------|
238
- | `elestio billing` | Billing summary across all projects |
239
- | `elestio billing project <id>` | Per-project billing details |
240
-
241
- ## Global Options
242
-
243
- | Option | Description |
244
- |--------|-------------|
245
- | `--json` | Output in JSON format (for scripting) |
246
- | `--project <id>` | Specify project ID |
247
- | `--help`, `-h` | Show help |
248
- | `--version`, `-v` | Show version |
249
- | `--debug` | Show full error stack traces |
250
-
251
- ## Configuration
252
-
253
- Credentials and config are stored in `~/.elestio/`:
254
-
255
- - `~/.elestio/credentials` - Email and API token (mode 0600)
256
- - `~/.elestio/config.json` - JWT cache, default project, provider defaults
257
-
258
- Get your API token from [Elestio Dashboard > Security](https://dash.elest.io/account/security).
259
-
260
- ## Documentation
261
- https://docs.elest.io/books/elestio-cli-skill/page/overview
262
- ## License
263
-
264
- MIT
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));