quicklify 0.7.2 โ 0.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/README.md +131 -26
- package/dist/commands/backup.d.ts +15 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +160 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +5 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/firewall.d.ts +1 -0
- package/dist/commands/firewall.d.ts.map +1 -1
- package/dist/commands/firewall.js +1 -1
- package/dist/commands/firewall.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +109 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/monitor.d.ts.map +1 -1
- package/dist/commands/monitor.js +2 -1
- package/dist/commands/monitor.js.map +1 -1
- package/dist/commands/restore.d.ts +17 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +257 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/secure.d.ts +3 -0
- package/dist/commands/secure.d.ts.map +1 -1
- package/dist/commands/secure.js +28 -26
- package/dist/commands/secure.js.map +1 -1
- package/dist/commands/transfer.d.ts +7 -0
- package/dist/commands/transfer.d.ts.map +1 -0
- package/dist/commands/transfer.js +94 -0
- package/dist/commands/transfer.js.map +1 -0
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/digitalocean.d.ts.map +1 -1
- package/dist/providers/digitalocean.js +4 -1
- package/dist/providers/digitalocean.js.map +1 -1
- package/dist/providers/hetzner.d.ts.map +1 -1
- package/dist/providers/hetzner.js.map +1 -1
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/config.d.ts +2 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +2 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/configMerge.d.ts +16 -0
- package/dist/utils/configMerge.d.ts.map +1 -0
- package/dist/utils/configMerge.js +34 -0
- package/dist/utils/configMerge.js.map +1 -0
- package/dist/utils/ssh.d.ts.map +1 -1
- package/dist/utils/ssh.js +3 -1
- package/dist/utils/ssh.js.map +1 -1
- package/dist/utils/templates.d.ts +6 -0
- package/dist/utils/templates.d.ts.map +1 -0
- package/dist/utils/templates.js +43 -0
- package/dist/utils/templates.js.map +1 -0
- package/dist/utils/yamlConfig.d.ts +8 -0
- package/dist/utils/yamlConfig.d.ts.map +1 -0
- package/dist/utils/yamlConfig.js +136 -0
- package/dist/utils/yamlConfig.js.map +1 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ npx quicklify init
|
|
|
36
36
|
## โจ Features
|
|
37
37
|
|
|
38
38
|
- ๐ฏ **One Command Deploy** - VPS + Coolify with a single command
|
|
39
|
-
- ๐ฐ **Cost Savings** - $50-200/mo (Vercel/Netlify) โ โฌ3.
|
|
39
|
+
- ๐ฐ **Cost Savings** - $50-200/mo (Vercel/Netlify) โ โฌ3.79/mo
|
|
40
40
|
- ๐ **Secure by Default** - Automated security setup
|
|
41
41
|
- ๐ **Multi-Cloud** - Hetzner Cloud + DigitalOcean
|
|
42
42
|
- ๐ป **Beautiful CLI** - Interactive prompts with validation
|
|
@@ -45,7 +45,7 @@ npx quicklify init
|
|
|
45
45
|
- โจ **Dynamic Server Types** - Only shows compatible types for selected location
|
|
46
46
|
- ๐ฅ **Auto Firewall** - Ports 8000, 22, 80, 443 configured automatically
|
|
47
47
|
- ๐ **Zero SSH Required** - Opens directly in browser after deployment
|
|
48
|
-
- ๐ **Server Management** - List, status check, destroy, restart commands
|
|
48
|
+
- ๐ **Server Management** - List, status check, destroy, restart, backup, restore commands
|
|
49
49
|
- ๐ง **Default Config** - Set defaults to skip repetitive prompts
|
|
50
50
|
- ๐ **SSH Access** - Connect to servers or run remote commands
|
|
51
51
|
- ๐ **Coolify Update** - Update Coolify with one command
|
|
@@ -57,7 +57,12 @@ npx quicklify init
|
|
|
57
57
|
- ๐ฅ **Firewall Management** - UFW setup, add/remove ports, protected port safety
|
|
58
58
|
- ๐ **Domain Management** - Bind domains, DNS check, auto SSL via Coolify
|
|
59
59
|
- ๐ก๏ธ **SSH Hardening** - Disable password auth, fail2ban, security audit with score
|
|
60
|
-
- ๐งช **Dry-Run Mode** - Preview commands on firewall/domain/secure before executing
|
|
60
|
+
- ๐งช **Dry-Run Mode** - Preview commands on firewall/domain/secure/backup/restore before executing
|
|
61
|
+
- ๐พ **Backup & Restore** - Database + config backup with SCP download, restore with double confirmation
|
|
62
|
+
- ๐ฆ **Export/Import** - Transfer server list between machines as JSON
|
|
63
|
+
- โก **Full Setup** - `--full-setup` flag auto-configures firewall + SSH hardening after deploy
|
|
64
|
+
- ๐ **YAML Config** - `quicklify init --config quicklify.yml` for one-command deploy
|
|
65
|
+
- ๐ **Templates** - `--template starter|production|dev` with per-provider defaults
|
|
61
66
|
- ๐ค **Non-Interactive Mode** - CI/CD friendly with `--provider --token --region --size --name` flags
|
|
62
67
|
|
|
63
68
|
## ๐ฆ Installation
|
|
@@ -124,18 +129,20 @@ Visit the URL, create your admin account, and start deploying!
|
|
|
124
129
|
**Important:** Port 8000 is publicly accessible after deployment.
|
|
125
130
|
|
|
126
131
|
**Recommended next steps:**
|
|
127
|
-
1. **
|
|
128
|
-
2. **
|
|
129
|
-
3. **
|
|
130
|
-
4. **
|
|
131
|
-
5.
|
|
132
|
-
6.
|
|
132
|
+
1. **One-command setup:** `quicklify init --full-setup` (auto-configures firewall + SSH hardening)
|
|
133
|
+
2. **Or manually:** `quicklify firewall setup my-server`
|
|
134
|
+
3. **Add a domain:** `quicklify domain add my-server --domain example.com`
|
|
135
|
+
4. **Harden SSH:** `quicklify secure setup my-server`
|
|
136
|
+
5. **Run security audit:** `quicklify secure audit my-server`
|
|
137
|
+
6. **Create a backup:** `quicklify backup my-server`
|
|
138
|
+
7. Set a **strong password** on first login
|
|
139
|
+
8. Consider **Cloudflare** for DDoS protection
|
|
133
140
|
|
|
134
141
|
## ๐ Supported Providers
|
|
135
142
|
|
|
136
143
|
| Provider | Status | Starting Price | Architecture |
|
|
137
144
|
|----------|--------|----------------|--------------|
|
|
138
|
-
| **Hetzner Cloud** | โ
Available | โฌ3.
|
|
145
|
+
| **Hetzner Cloud** | โ
Available | โฌ3.79/mo | ARM64 + x86 |
|
|
139
146
|
| **DigitalOcean** | โ
Available | $12/mo | x86 |
|
|
140
147
|
| **Vultr** | ๐ Planned | $2.50/mo | x86 |
|
|
141
148
|
| **Linode** | ๐ Planned | $5/mo | x86 |
|
|
@@ -162,14 +169,29 @@ Visit the URL, create your admin account, and start deploying!
|
|
|
162
169
|
| Vercel (Hobby) | $20+ | 5 min | Easy |
|
|
163
170
|
| Vercel (Pro) | $50+ | 5 min | Easy |
|
|
164
171
|
| Netlify (Pro) | $19+ | 5 min | Easy |
|
|
165
|
-
| **Quicklify + Hetzner** | **โฌ3.
|
|
172
|
+
| **Quicklify + Hetzner** | **โฌ3.79** | **~4 min** | **Easy** |
|
|
166
173
|
| **Quicklify + DigitalOcean** | **$12** | **~6 min** | **Easy** |
|
|
167
|
-
| Manual VPS + Coolify | โฌ3.
|
|
174
|
+
| Manual VPS + Coolify | โฌ3.79 | 30+ min | Hard |
|
|
168
175
|
|
|
169
176
|
**Savings: ~$180-240/year per project!** ๐ฐ
|
|
170
177
|
|
|
171
178
|
## ๐ Recent Updates
|
|
172
179
|
|
|
180
|
+
### v0.9.0 (2026-02-21)
|
|
181
|
+
- **YAML Config:** `quicklify init --config quicklify.yml` - deploy from a config file
|
|
182
|
+
- **Templates:** `--template starter|production|dev` - predefined server configurations per provider
|
|
183
|
+
- **Config merge:** Priority order: CLI flags > YAML config > template defaults > interactive prompts
|
|
184
|
+
- **Security:** Token fields in YAML are detected and warned (never store tokens in config files)
|
|
185
|
+
- 1 new dependency (js-yaml), 742 tests with 98%+ statement coverage
|
|
186
|
+
|
|
187
|
+
### v0.8.0 (2026-02-21)
|
|
188
|
+
- **New commands:** `quicklify backup`, `quicklify restore`, `quicklify export`, `quicklify import`
|
|
189
|
+
- **Backup:** pg_dump + config tarball, SCP download to `~/.quicklify/backups/`, manifest.json metadata
|
|
190
|
+
- **Restore:** Upload backup to server, stop/start Coolify, restore DB + config, double confirmation safety
|
|
191
|
+
- **Export/Import:** Transfer `servers.json` between machines, duplicate detection, format validation
|
|
192
|
+
- **`--full-setup` flag:** `quicklify init --full-setup` auto-configures firewall + SSH hardening after deploy
|
|
193
|
+
- Zero new dependencies, 636 tests with 98%+ statement coverage
|
|
194
|
+
|
|
173
195
|
### v0.7.0 (2026-02-20)
|
|
174
196
|
- **New commands:** `quicklify firewall`, `quicklify domain`, `quicklify secure`
|
|
175
197
|
- **Firewall management:** UFW setup, add/remove ports, protected port 22 safety, Coolify port warnings
|
|
@@ -277,10 +299,22 @@ Visit the URL, create your admin account, and start deploying!
|
|
|
277
299
|
- [x] SSH hardening - Password disable, fail2ban, security audit (`quicklify secure`)
|
|
278
300
|
- [x] Dry-run mode for all security commands
|
|
279
301
|
|
|
302
|
+
### v0.8.0 (Completed)
|
|
303
|
+
|
|
304
|
+
- [x] Backup Coolify database + config (`quicklify backup`)
|
|
305
|
+
- [x] Restore from backup with double confirmation (`quicklify restore`)
|
|
306
|
+
- [x] Export/Import server list (`quicklify export`, `quicklify import`)
|
|
307
|
+
- [x] `--full-setup` flag for auto firewall + SSH hardening on init
|
|
308
|
+
|
|
309
|
+
### v0.9.0 (Completed)
|
|
310
|
+
|
|
311
|
+
- [x] YAML config file (`quicklify.yml`) for one-command deploy
|
|
312
|
+
- [x] Template system (`--template starter|production|dev`)
|
|
313
|
+
- [x] Config merge with priority: CLI > YAML > template > interactive
|
|
314
|
+
|
|
280
315
|
### Future
|
|
281
316
|
- [ ] Vultr support
|
|
282
317
|
- [ ] Linode / AWS Lightsail support
|
|
283
|
-
- [ ] Backup/restore commands
|
|
284
318
|
- [ ] Interactive TUI dashboard
|
|
285
319
|
|
|
286
320
|
## ๐ ๏ธ Tech Stack
|
|
@@ -291,6 +325,7 @@ Visit the URL, create your admin account, and start deploying!
|
|
|
291
325
|
- **Interactive Prompts:** Inquirer.js
|
|
292
326
|
- **Styling:** Chalk (colors) + Ora (spinners)
|
|
293
327
|
- **HTTP Client:** Axios
|
|
328
|
+
- **YAML Parser:** js-yaml
|
|
294
329
|
- **Cloud APIs:** Hetzner Cloud API v1, DigitalOcean API v2
|
|
295
330
|
- **Linting:** ESLint 10 + typescript-eslint
|
|
296
331
|
- **Formatting:** Prettier
|
|
@@ -304,7 +339,17 @@ Visit the URL, create your admin account, and start deploying!
|
|
|
304
339
|
quicklify init
|
|
305
340
|
|
|
306
341
|
# Deploy non-interactively (CI/CD friendly)
|
|
307
|
-
|
|
342
|
+
export HETZNER_TOKEN="your-api-token"
|
|
343
|
+
quicklify init --provider hetzner --region nbg1 --size cax11 --name my-server
|
|
344
|
+
|
|
345
|
+
# Deploy with auto firewall + SSH hardening
|
|
346
|
+
quicklify init --full-setup
|
|
347
|
+
|
|
348
|
+
# Deploy from a YAML config file
|
|
349
|
+
quicklify init --config quicklify.yml
|
|
350
|
+
|
|
351
|
+
# Deploy using a template
|
|
352
|
+
quicklify init --template production --provider hetzner
|
|
308
353
|
|
|
309
354
|
# List all registered servers
|
|
310
355
|
quicklify list
|
|
@@ -380,6 +425,20 @@ quicklify secure setup my-server # Harden SSH + install fail2ban
|
|
|
380
425
|
quicklify secure setup my-server --port 2222 # Change SSH port
|
|
381
426
|
quicklify secure setup my-server --dry-run # Preview without executing
|
|
382
427
|
|
|
428
|
+
# Backup Coolify database and config
|
|
429
|
+
quicklify backup my-server # Full backup (pg_dump + config)
|
|
430
|
+
quicklify backup my-server --dry-run # Preview backup steps
|
|
431
|
+
|
|
432
|
+
# Restore from a backup
|
|
433
|
+
quicklify restore my-server # Interactive backup selection
|
|
434
|
+
quicklify restore my-server --backup 2026-02-21_15-30-45-123 # Specific backup
|
|
435
|
+
quicklify restore my-server --dry-run # Preview restore steps
|
|
436
|
+
|
|
437
|
+
# Export/Import server list
|
|
438
|
+
quicklify export # Export to ./quicklify-export.json
|
|
439
|
+
quicklify export /path/to/file.json # Export to custom path
|
|
440
|
+
quicklify import /path/to/file.json # Import servers (skips duplicates)
|
|
441
|
+
|
|
383
442
|
# Show version
|
|
384
443
|
quicklify --version
|
|
385
444
|
|
|
@@ -389,32 +448,70 @@ quicklify --help
|
|
|
389
448
|
|
|
390
449
|
### Non-Interactive Mode
|
|
391
450
|
|
|
392
|
-
|
|
451
|
+
Set your API token as an environment variable, then pass all options as flags:
|
|
393
452
|
|
|
394
453
|
```bash
|
|
454
|
+
# Set token (recommended - avoids shell history exposure)
|
|
455
|
+
export HETZNER_TOKEN="your-api-token"
|
|
456
|
+
# or
|
|
457
|
+
export DIGITALOCEAN_TOKEN="your-api-token"
|
|
458
|
+
|
|
459
|
+
# Deploy non-interactively
|
|
395
460
|
quicklify init \
|
|
396
461
|
--provider hetzner \
|
|
397
|
-
--token $HETZNER_TOKEN \
|
|
398
462
|
--region nbg1 \
|
|
399
463
|
--size cax11 \
|
|
400
464
|
--name production-coolify
|
|
401
465
|
```
|
|
402
466
|
|
|
403
|
-
|
|
467
|
+
Token resolution order: environment variable > interactive prompt. The `--token` flag is available but **not recommended** as it exposes the token in shell history.
|
|
468
|
+
|
|
469
|
+
If some flags are missing, only the missing values will be prompted interactively.
|
|
470
|
+
|
|
471
|
+
### YAML Config File
|
|
472
|
+
|
|
473
|
+
Create a `quicklify.yml` file for repeatable deployments:
|
|
474
|
+
|
|
475
|
+
```yaml
|
|
476
|
+
# quicklify.yml
|
|
477
|
+
template: production
|
|
478
|
+
provider: hetzner
|
|
479
|
+
region: nbg1
|
|
480
|
+
size: cx33
|
|
481
|
+
name: my-coolify-prod
|
|
482
|
+
fullSetup: true
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
Then deploy with:
|
|
404
486
|
|
|
405
487
|
```bash
|
|
406
|
-
# Set token as environment variable (avoids shell history exposure)
|
|
407
488
|
export HETZNER_TOKEN="your-api-token"
|
|
408
|
-
|
|
409
|
-
export DIGITALOCEAN_TOKEN="your-api-token"
|
|
410
|
-
|
|
411
|
-
# Token is read automatically from env var
|
|
412
|
-
quicklify init --provider hetzner --region nbg1 --size cax11 --name my-server
|
|
489
|
+
quicklify init --config quicklify.yml
|
|
413
490
|
```
|
|
414
491
|
|
|
415
|
-
|
|
492
|
+
**Security:** Never store API tokens in config files. Use environment variables (`export HETZNER_TOKEN=...`).
|
|
416
493
|
|
|
417
|
-
|
|
494
|
+
**Config merge priority:** CLI flags > YAML values > template defaults > interactive prompts.
|
|
495
|
+
|
|
496
|
+
### Templates
|
|
497
|
+
|
|
498
|
+
Templates provide sensible defaults per provider:
|
|
499
|
+
|
|
500
|
+
| Template | Hetzner | DigitalOcean | Full Setup |
|
|
501
|
+
|----------|---------|--------------|------------|
|
|
502
|
+
| `starter` | nbg1 / cax11 (โฌ3.79) | fra1 / s-2vcpu-2gb ($12) | No |
|
|
503
|
+
| `production` | nbg1 / cx33 (โฌ5.49) | fra1 / s-2vcpu-4gb ($24) | Yes |
|
|
504
|
+
| `dev` | nbg1 / cax11 (โฌ3.79) | fra1 / s-2vcpu-2gb ($12) | No |
|
|
505
|
+
|
|
506
|
+
```bash
|
|
507
|
+
# Quick production deploy
|
|
508
|
+
export HETZNER_TOKEN="your-api-token"
|
|
509
|
+
quicklify init --template production --provider hetzner --name my-server
|
|
510
|
+
|
|
511
|
+
# Cheap starter for testing
|
|
512
|
+
export DIGITALOCEAN_TOKEN="your-api-token"
|
|
513
|
+
quicklify init --template starter --provider digitalocean --name test-server
|
|
514
|
+
```
|
|
418
515
|
|
|
419
516
|
### Interactive Prompts
|
|
420
517
|
|
|
@@ -474,6 +571,13 @@ tests/
|
|
|
474
571
|
โ โโโ providerFactory.test.ts # Provider factory tests
|
|
475
572
|
โ โโโ restart.test.ts # Restart command tests
|
|
476
573
|
โ โโโ secure.test.ts # Secure command tests
|
|
574
|
+
โ โโโ backup.test.ts # Backup command tests
|
|
575
|
+
โ โโโ restore.test.ts # Restore command tests
|
|
576
|
+
โ โโโ transfer.test.ts # Export/Import command tests
|
|
577
|
+
โ โโโ templates.test.ts # Template definitions tests
|
|
578
|
+
โ โโโ yamlConfig.test.ts # YAML config loader tests
|
|
579
|
+
โ โโโ configMerge.test.ts # Config merge logic tests
|
|
580
|
+
โ โโโ init-fullsetup.test.ts # Init --full-setup tests
|
|
477
581
|
โ โโโ serverSelect.test.ts # Server selection utility tests
|
|
478
582
|
โ โโโ ssh-command.test.ts # SSH command tests
|
|
479
583
|
โ โโโ ssh-utils.test.ts # SSH helper tests
|
|
@@ -486,6 +590,7 @@ tests/
|
|
|
486
590
|
โโโ e2e/ # End-to-end tests (full command flows)
|
|
487
591
|
โโโ init.test.ts
|
|
488
592
|
โโโ init-noninteractive.test.ts # Non-interactive mode E2E
|
|
593
|
+
โโโ init-config.test.ts # YAML config + template E2E
|
|
489
594
|
โโโ status.test.ts # Status command E2E
|
|
490
595
|
โโโ destroy.test.ts # Destroy command E2E
|
|
491
596
|
```
|
|
@@ -499,7 +604,7 @@ Tests run automatically on every push/PR via GitHub Actions across:
|
|
|
499
604
|
|
|
500
605
|
### Coverage
|
|
501
606
|
|
|
502
|
-
Current coverage: **
|
|
607
|
+
Current coverage: **98%+ statements/lines**, **91%+ branches**, **98%+ functions**. 742 tests across 40 test suites.
|
|
503
608
|
|
|
504
609
|
## ๐ง Troubleshooting
|
|
505
610
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare function formatTimestamp(date: Date): string;
|
|
2
|
+
export declare function getBackupDir(serverName: string): string;
|
|
3
|
+
export declare function buildPgDumpCommand(): string;
|
|
4
|
+
export declare function buildConfigTarCommand(): string;
|
|
5
|
+
export declare function buildCleanupCommand(): string;
|
|
6
|
+
export declare function buildCoolifyVersionCommand(): string;
|
|
7
|
+
export declare function scpDownload(ip: string, remotePath: string, localPath: string): Promise<{
|
|
8
|
+
code: number;
|
|
9
|
+
stderr: string;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function listBackups(serverName: string): string[];
|
|
12
|
+
export declare function backupCommand(query?: string, options?: {
|
|
13
|
+
dryRun?: boolean;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=backup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAWA,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAElD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAc3C;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAWxD;AAID,wBAAsB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HjG"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { mkdirSync, existsSync, writeFileSync, readdirSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { spawn } from "child_process";
|
|
4
|
+
import { resolveServer } from "../utils/serverSelect.js";
|
|
5
|
+
import { checkSshAvailable, sshExec } from "../utils/ssh.js";
|
|
6
|
+
import { BACKUPS_DIR } from "../utils/config.js";
|
|
7
|
+
import { logger, createSpinner } from "../utils/logger.js";
|
|
8
|
+
// Pure functions (testable)
|
|
9
|
+
export function formatTimestamp(date) {
|
|
10
|
+
return date.toISOString().replace(/[:.]/g, "-").replace("T", "_").replace("Z", "");
|
|
11
|
+
}
|
|
12
|
+
export function getBackupDir(serverName) {
|
|
13
|
+
return join(BACKUPS_DIR, serverName);
|
|
14
|
+
}
|
|
15
|
+
export function buildPgDumpCommand() {
|
|
16
|
+
return "docker exec coolify-db pg_dump -U coolify -d coolify | gzip > /tmp/coolify-backup.sql.gz";
|
|
17
|
+
}
|
|
18
|
+
export function buildConfigTarCommand() {
|
|
19
|
+
return "tar czf /tmp/coolify-config.tar.gz -C /data/coolify/source .env docker-compose.yml docker-compose.prod.yml 2>/dev/null || tar czf /tmp/coolify-config.tar.gz -C /data/coolify/source .env docker-compose.yml";
|
|
20
|
+
}
|
|
21
|
+
export function buildCleanupCommand() {
|
|
22
|
+
return "rm -f /tmp/coolify-backup.sql.gz /tmp/coolify-config.tar.gz";
|
|
23
|
+
}
|
|
24
|
+
export function buildCoolifyVersionCommand() {
|
|
25
|
+
return "docker exec coolify cat /var/www/html/.version 2>/dev/null || echo unknown";
|
|
26
|
+
}
|
|
27
|
+
export function scpDownload(ip, remotePath, localPath) {
|
|
28
|
+
return new Promise((resolve) => {
|
|
29
|
+
const child = spawn("scp", ["-o", "StrictHostKeyChecking=accept-new", `root@${ip}:${remotePath}`, localPath], { stdio: ["inherit", "pipe", "pipe"] });
|
|
30
|
+
let stderr = "";
|
|
31
|
+
child.stderr?.on("data", (data) => {
|
|
32
|
+
stderr += data.toString();
|
|
33
|
+
});
|
|
34
|
+
child.on("close", (code) => resolve({ code: code ?? 1, stderr }));
|
|
35
|
+
child.on("error", (err) => resolve({ code: 1, stderr: err.message }));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export function listBackups(serverName) {
|
|
39
|
+
const dir = getBackupDir(serverName);
|
|
40
|
+
if (!existsSync(dir))
|
|
41
|
+
return [];
|
|
42
|
+
try {
|
|
43
|
+
return readdirSync(dir)
|
|
44
|
+
.filter((name) => existsSync(join(dir, name, "manifest.json")))
|
|
45
|
+
.sort()
|
|
46
|
+
.reverse();
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Command
|
|
53
|
+
export async function backupCommand(query, options) {
|
|
54
|
+
if (!checkSshAvailable()) {
|
|
55
|
+
logger.error("SSH client not found. Please install OpenSSH.");
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const server = await resolveServer(query, "Select a server to backup:");
|
|
59
|
+
if (!server)
|
|
60
|
+
return;
|
|
61
|
+
const dryRun = options?.dryRun || false;
|
|
62
|
+
const timestamp = formatTimestamp(new Date());
|
|
63
|
+
const backupPath = join(getBackupDir(server.name), timestamp);
|
|
64
|
+
if (dryRun) {
|
|
65
|
+
logger.title("Dry Run - Backup");
|
|
66
|
+
logger.info(`Server: ${server.name} (${server.ip})`);
|
|
67
|
+
logger.info(`Backup path: ${backupPath}`);
|
|
68
|
+
console.log();
|
|
69
|
+
logger.info("Commands to execute:");
|
|
70
|
+
logger.step(buildPgDumpCommand());
|
|
71
|
+
logger.step(buildConfigTarCommand());
|
|
72
|
+
logger.step(`scp root@${server.ip}:/tmp/coolify-backup.sql.gz ${backupPath}/`);
|
|
73
|
+
logger.step(`scp root@${server.ip}:/tmp/coolify-config.tar.gz ${backupPath}/`);
|
|
74
|
+
logger.step(buildCleanupCommand());
|
|
75
|
+
console.log();
|
|
76
|
+
logger.warning("No changes applied. Remove --dry-run to execute.");
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// Step 1: Get Coolify version
|
|
80
|
+
const versionResult = await sshExec(server.ip, buildCoolifyVersionCommand());
|
|
81
|
+
const coolifyVersion = versionResult.code === 0 ? versionResult.stdout.trim() : "unknown";
|
|
82
|
+
// Step 2: Database backup
|
|
83
|
+
const dbSpinner = createSpinner("Creating database backup...");
|
|
84
|
+
dbSpinner.start();
|
|
85
|
+
try {
|
|
86
|
+
const dbResult = await sshExec(server.ip, buildPgDumpCommand());
|
|
87
|
+
if (dbResult.code !== 0) {
|
|
88
|
+
dbSpinner.fail("Database backup failed");
|
|
89
|
+
if (dbResult.stderr)
|
|
90
|
+
logger.error(dbResult.stderr);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
dbSpinner.succeed("Database backup created");
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
dbSpinner.fail("Database backup failed");
|
|
97
|
+
logger.error(error instanceof Error ? error.message : String(error));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
// Step 3: Config backup
|
|
101
|
+
const configSpinner = createSpinner("Creating config backup...");
|
|
102
|
+
configSpinner.start();
|
|
103
|
+
try {
|
|
104
|
+
const configResult = await sshExec(server.ip, buildConfigTarCommand());
|
|
105
|
+
if (configResult.code !== 0) {
|
|
106
|
+
configSpinner.fail("Config backup failed");
|
|
107
|
+
if (configResult.stderr)
|
|
108
|
+
logger.error(configResult.stderr);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
configSpinner.succeed("Config backup created");
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
configSpinner.fail("Config backup failed");
|
|
115
|
+
logger.error(error instanceof Error ? error.message : String(error));
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// Step 4: Download to local
|
|
119
|
+
mkdirSync(backupPath, { recursive: true });
|
|
120
|
+
const dlSpinner = createSpinner("Downloading backup files...");
|
|
121
|
+
dlSpinner.start();
|
|
122
|
+
try {
|
|
123
|
+
const dbDl = await scpDownload(server.ip, "/tmp/coolify-backup.sql.gz", join(backupPath, "coolify-backup.sql.gz"));
|
|
124
|
+
if (dbDl.code !== 0) {
|
|
125
|
+
dlSpinner.fail("Failed to download database backup");
|
|
126
|
+
if (dbDl.stderr)
|
|
127
|
+
logger.error(dbDl.stderr);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const configDl = await scpDownload(server.ip, "/tmp/coolify-config.tar.gz", join(backupPath, "coolify-config.tar.gz"));
|
|
131
|
+
if (configDl.code !== 0) {
|
|
132
|
+
dlSpinner.fail("Failed to download config backup");
|
|
133
|
+
if (configDl.stderr)
|
|
134
|
+
logger.error(configDl.stderr);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
dlSpinner.succeed("Backup files downloaded");
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
dlSpinner.fail("Failed to download backup files");
|
|
141
|
+
logger.error(error instanceof Error ? error.message : String(error));
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// Step 5: Write manifest
|
|
145
|
+
const manifest = {
|
|
146
|
+
serverName: server.name,
|
|
147
|
+
serverIp: server.ip,
|
|
148
|
+
provider: server.provider,
|
|
149
|
+
timestamp,
|
|
150
|
+
coolifyVersion,
|
|
151
|
+
files: ["coolify-backup.sql.gz", "coolify-config.tar.gz"],
|
|
152
|
+
};
|
|
153
|
+
writeFileSync(join(backupPath, "manifest.json"), JSON.stringify(manifest, null, 2));
|
|
154
|
+
// Step 6: Cleanup remote
|
|
155
|
+
await sshExec(server.ip, buildCleanupCommand()).catch(() => { });
|
|
156
|
+
logger.success(`Backup saved to ${backupPath}`);
|
|
157
|
+
logger.info(`Coolify version: ${coolifyVersion}`);
|
|
158
|
+
logger.info("Files: coolify-backup.sql.gz, coolify-config.tar.gz, manifest.json");
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AASA,wBAAsB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDvF"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getDefaults, setDefault, getDefault, resetDefaults, VALID_KEYS } from "../utils/defaults.js";
|
|
1
|
+
import { getDefaults, setDefault, getDefault, resetDefaults, VALID_KEYS, } from "../utils/defaults.js";
|
|
2
2
|
import { logger } from "../utils/logger.js";
|
|
3
3
|
export async function configCommand(subcommand, args) {
|
|
4
4
|
switch (subcommand) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AA0DD,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAS/D;AAED,wBAAsB,aAAa,CACjC,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EACnC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -25,7 +25,11 @@ function checkSsh() {
|
|
|
25
25
|
if (checkSshAvailable()) {
|
|
26
26
|
return { name: "SSH Client", status: "pass", detail: "available" };
|
|
27
27
|
}
|
|
28
|
-
return {
|
|
28
|
+
return {
|
|
29
|
+
name: "SSH Client",
|
|
30
|
+
status: "warn",
|
|
31
|
+
detail: "not found (needed for ssh/logs/monitor/update)",
|
|
32
|
+
};
|
|
29
33
|
}
|
|
30
34
|
function checkQuicklifyVersion(version) {
|
|
31
35
|
if (version) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,SAAS,gBAAgB;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,mBAAmB,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,4 +12,5 @@ export declare function firewallCommand(subcommand?: string, query?: string, opt
|
|
|
12
12
|
protocol?: string;
|
|
13
13
|
dryRun?: boolean;
|
|
14
14
|
}): Promise<void>;
|
|
15
|
+
export declare function firewallSetup(ip: string, name: string, dryRun: boolean): Promise<void>;
|
|
15
16
|
//# sourceMappingURL=firewall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firewall.d.ts","sourceRoot":"","sources":["../../src/commands/firewall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAgB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExF,eAAO,MAAM,eAAe,UAAO,CAAC;AACpC,eAAO,MAAM,aAAa,UAA8B,CAAC;AAEzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,GAAG,cAAc,EAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,gBAAwB,GACjC,MAAM,CAER;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAUlD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAmB7D;AAED,wBAAsB,eAAe,CACnC,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/D,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|
|
1
|
+
{"version":3,"file":"firewall.d.ts","sourceRoot":"","sources":["../../src/commands/firewall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAgB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExF,eAAO,MAAM,eAAe,UAAO,CAAC;AACpC,eAAO,MAAM,aAAa,UAA8B,CAAC;AAEzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,GAAG,cAAc,EAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,gBAAwB,GACjC,MAAM,CAER;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAUlD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAmB7D;AAED,wBAAsB,eAAe,CACnC,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/D,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC5F"}
|
|
@@ -78,7 +78,7 @@ export async function firewallCommand(subcommand, query, options) {
|
|
|
78
78
|
break;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
async function firewallSetup(ip, name, dryRun) {
|
|
81
|
+
export async function firewallSetup(ip, name, dryRun) {
|
|
82
82
|
const command = buildFirewallSetupCommand();
|
|
83
83
|
if (dryRun) {
|
|
84
84
|
logger.title("Dry Run - Firewall Setup");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firewall.js","sourceRoot":"","sources":["../../src/commands/firewall.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG3D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAgC,EAChC,IAAY,EACZ,WAA6B,KAAK;IAElC,OAAO,OAAO,MAAM,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,MAAM,QAAQ,GAAG;QACf,wBAAwB;QACxB,2BAA2B;QAC3B,4BAA4B;QAC5B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;QACjD,kBAAkB;QAClB,uBAAuB;KACxB,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACtF,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAsB;gBACpD,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAsB;gBAClD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAmB,EACnB,KAAc,EACd,OAAgE;IAEhE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,UAAU,IAAI,QAAQ,CAAC;IAEnC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,kBAAkB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC;IACtF,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IAExC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,MAAM,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,MAAM;QACR,KAAK,KAAK;YACR,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9D,MAAM;QACR,KAAK,MAAM;YACT,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM;IACV,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAAU,EAAE,IAAY,EAAE,MAAe;
|
|
1
|
+
{"version":3,"file":"firewall.js","sourceRoot":"","sources":["../../src/commands/firewall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsBrD,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+M1E"}
|