hereya-cli 0.92.2 → 0.93.1
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
CHANGED
|
@@ -21,7 +21,7 @@ $ npm install -g hereya-cli
|
|
|
21
21
|
$ hereya COMMAND
|
|
22
22
|
running command...
|
|
23
23
|
$ hereya (--version)
|
|
24
|
-
hereya-cli/0.
|
|
24
|
+
hereya-cli/0.93.1 linux-x64 node-v24.14.1
|
|
25
25
|
$ hereya --help [COMMAND]
|
|
26
26
|
USAGE
|
|
27
27
|
$ hereya COMMAND
|
|
@@ -50,6 +50,7 @@ USAGE
|
|
|
50
50
|
* [`hereya devenv install`](#hereya-devenv-install)
|
|
51
51
|
* [`hereya devenv project init PROJECT`](#hereya-devenv-project-init-project)
|
|
52
52
|
* [`hereya devenv project uninit PROJECT`](#hereya-devenv-project-uninit-project)
|
|
53
|
+
* [`hereya devenv sleep`](#hereya-devenv-sleep)
|
|
53
54
|
* [`hereya devenv ssh`](#hereya-devenv-ssh)
|
|
54
55
|
* [`hereya devenv uninstall`](#hereya-devenv-uninstall)
|
|
55
56
|
* [`hereya doc PACKAGE`](#hereya-doc-package)
|
|
@@ -128,7 +129,7 @@ EXAMPLES
|
|
|
128
129
|
$ hereya add cloudy/docker_postgres
|
|
129
130
|
```
|
|
130
131
|
|
|
131
|
-
_See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
132
|
+
_See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/add/index.ts)_
|
|
132
133
|
|
|
133
134
|
## `hereya app deploy NAME`
|
|
134
135
|
|
|
@@ -162,7 +163,7 @@ EXAMPLES
|
|
|
162
163
|
$ hereya app deploy my-org/my-app -w prod -p organizationId=org-123
|
|
163
164
|
```
|
|
164
165
|
|
|
165
|
-
_See code: [src/commands/app/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
166
|
+
_See code: [src/commands/app/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/app/deploy/index.ts)_
|
|
166
167
|
|
|
167
168
|
## `hereya app deployments NAME`
|
|
168
169
|
|
|
@@ -182,7 +183,7 @@ EXAMPLES
|
|
|
182
183
|
$ hereya app deployments my-org/my-app
|
|
183
184
|
```
|
|
184
185
|
|
|
185
|
-
_See code: [src/commands/app/deployments/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
186
|
+
_See code: [src/commands/app/deployments/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/app/deployments/index.ts)_
|
|
186
187
|
|
|
187
188
|
## `hereya app destroy NAME`
|
|
188
189
|
|
|
@@ -211,7 +212,7 @@ EXAMPLES
|
|
|
211
212
|
$ hereya app destroy my-org/my-app -w my-workspace
|
|
212
213
|
```
|
|
213
214
|
|
|
214
|
-
_See code: [src/commands/app/destroy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
215
|
+
_See code: [src/commands/app/destroy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/app/destroy/index.ts)_
|
|
215
216
|
|
|
216
217
|
## `hereya app env NAME [KEY]`
|
|
217
218
|
|
|
@@ -237,7 +238,7 @@ EXAMPLES
|
|
|
237
238
|
$ hereya app env my-org/my-app -w my-workspace DATABASE_URL
|
|
238
239
|
```
|
|
239
240
|
|
|
240
|
-
_See code: [src/commands/app/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
241
|
+
_See code: [src/commands/app/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/app/env/index.ts)_
|
|
241
242
|
|
|
242
243
|
## `hereya app list`
|
|
243
244
|
|
|
@@ -254,7 +255,7 @@ EXAMPLES
|
|
|
254
255
|
$ hereya app list
|
|
255
256
|
```
|
|
256
257
|
|
|
257
|
-
_See code: [src/commands/app/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
258
|
+
_See code: [src/commands/app/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/app/list/index.ts)_
|
|
258
259
|
|
|
259
260
|
## `hereya app new DIRNAME`
|
|
260
261
|
|
|
@@ -280,7 +281,7 @@ EXAMPLES
|
|
|
280
281
|
$ hereya app new ./my-app -n my-org/my-app --description "An ai-app-builder app"
|
|
281
282
|
```
|
|
282
283
|
|
|
283
|
-
_See code: [src/commands/app/new/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
284
|
+
_See code: [src/commands/app/new/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/app/new/index.ts)_
|
|
284
285
|
|
|
285
286
|
## `hereya app status NAME`
|
|
286
287
|
|
|
@@ -303,7 +304,7 @@ EXAMPLES
|
|
|
303
304
|
$ hereya app status my-org/my-app -w my-workspace
|
|
304
305
|
```
|
|
305
306
|
|
|
306
|
-
_See code: [src/commands/app/status/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
307
|
+
_See code: [src/commands/app/status/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/app/status/index.ts)_
|
|
307
308
|
|
|
308
309
|
## `hereya bootstrap INFRASTRUCTURETYPE`
|
|
309
310
|
|
|
@@ -328,7 +329,7 @@ EXAMPLES
|
|
|
328
329
|
$ hereya bootstrap local
|
|
329
330
|
```
|
|
330
331
|
|
|
331
|
-
_See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
332
|
+
_See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/bootstrap/index.ts)_
|
|
332
333
|
|
|
333
334
|
## `hereya clone PROJECT`
|
|
334
335
|
|
|
@@ -353,7 +354,7 @@ EXAMPLES
|
|
|
353
354
|
$ hereya clone myProject --chdir=./myProject
|
|
354
355
|
```
|
|
355
356
|
|
|
356
|
-
_See code: [src/commands/clone/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
357
|
+
_See code: [src/commands/clone/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/clone/index.ts)_
|
|
357
358
|
|
|
358
359
|
## `hereya config export-backend [FILE]`
|
|
359
360
|
|
|
@@ -375,7 +376,7 @@ EXAMPLES
|
|
|
375
376
|
$ hereya config export-backend ./path/to/export.json
|
|
376
377
|
```
|
|
377
378
|
|
|
378
|
-
_See code: [src/commands/config/export-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
379
|
+
_See code: [src/commands/config/export-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/config/export-backend/index.ts)_
|
|
379
380
|
|
|
380
381
|
## `hereya config get-backend`
|
|
381
382
|
|
|
@@ -392,7 +393,7 @@ EXAMPLES
|
|
|
392
393
|
$ hereya config get-backend
|
|
393
394
|
```
|
|
394
395
|
|
|
395
|
-
_See code: [src/commands/config/get-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
396
|
+
_See code: [src/commands/config/get-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/config/get-backend/index.ts)_
|
|
396
397
|
|
|
397
398
|
## `hereya config import-backend FILE`
|
|
398
399
|
|
|
@@ -412,7 +413,7 @@ EXAMPLES
|
|
|
412
413
|
$ hereya config import-backend ./path/to/cloud-backend.json
|
|
413
414
|
```
|
|
414
415
|
|
|
415
|
-
_See code: [src/commands/config/import-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
416
|
+
_See code: [src/commands/config/import-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/config/import-backend/index.ts)_
|
|
416
417
|
|
|
417
418
|
## `hereya config use-backend TYPE`
|
|
418
419
|
|
|
@@ -434,7 +435,7 @@ EXAMPLES
|
|
|
434
435
|
$ hereya config use-backend local
|
|
435
436
|
```
|
|
436
437
|
|
|
437
|
-
_See code: [src/commands/config/use-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
438
|
+
_See code: [src/commands/config/use-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/config/use-backend/index.ts)_
|
|
438
439
|
|
|
439
440
|
## `hereya delete-state`
|
|
440
441
|
|
|
@@ -460,7 +461,7 @@ EXAMPLES
|
|
|
460
461
|
$ hereya delete-state --workspace staging
|
|
461
462
|
```
|
|
462
463
|
|
|
463
|
-
_See code: [src/commands/delete-state/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
464
|
+
_See code: [src/commands/delete-state/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/delete-state/index.ts)_
|
|
464
465
|
|
|
465
466
|
## `hereya deploy`
|
|
466
467
|
|
|
@@ -486,7 +487,7 @@ EXAMPLES
|
|
|
486
487
|
$ hereya deploy
|
|
487
488
|
```
|
|
488
489
|
|
|
489
|
-
_See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
490
|
+
_See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/deploy/index.ts)_
|
|
490
491
|
|
|
491
492
|
## `hereya devenv config`
|
|
492
493
|
|
|
@@ -506,7 +507,7 @@ EXAMPLES
|
|
|
506
507
|
$ hereya devenv config -w my-workspace
|
|
507
508
|
```
|
|
508
509
|
|
|
509
|
-
_See code: [src/commands/devenv/config/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
510
|
+
_See code: [src/commands/devenv/config/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/devenv/config/index.ts)_
|
|
510
511
|
|
|
511
512
|
## `hereya devenv install`
|
|
512
513
|
|
|
@@ -531,7 +532,7 @@ EXAMPLES
|
|
|
531
532
|
$ hereya devenv install -w my-workspace -p instanceType=t3.large
|
|
532
533
|
```
|
|
533
534
|
|
|
534
|
-
_See code: [src/commands/devenv/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
535
|
+
_See code: [src/commands/devenv/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/devenv/install/index.ts)_
|
|
535
536
|
|
|
536
537
|
## `hereya devenv project init PROJECT`
|
|
537
538
|
|
|
@@ -563,7 +564,7 @@ EXAMPLES
|
|
|
563
564
|
$ hereya devenv project init my-app -w my-workspace -t acme/node-starter -p region=us-east-1
|
|
564
565
|
```
|
|
565
566
|
|
|
566
|
-
_See code: [src/commands/devenv/project/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
567
|
+
_See code: [src/commands/devenv/project/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/devenv/project/init/index.ts)_
|
|
567
568
|
|
|
568
569
|
## `hereya devenv project uninit PROJECT`
|
|
569
570
|
|
|
@@ -589,7 +590,28 @@ EXAMPLES
|
|
|
589
590
|
$ hereya devenv project uninit my-app -w my-workspace --force
|
|
590
591
|
```
|
|
591
592
|
|
|
592
|
-
_See code: [src/commands/devenv/project/uninit/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
593
|
+
_See code: [src/commands/devenv/project/uninit/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/devenv/project/uninit/index.ts)_
|
|
594
|
+
|
|
595
|
+
## `hereya devenv sleep`
|
|
596
|
+
|
|
597
|
+
Stop the dev environment instance for a workspace (lifecycle=on-demand only).
|
|
598
|
+
|
|
599
|
+
```
|
|
600
|
+
USAGE
|
|
601
|
+
$ hereya devenv sleep -w <value> [--debug]
|
|
602
|
+
|
|
603
|
+
FLAGS
|
|
604
|
+
-w, --workspace=<value> (required) name of the workspace whose dev environment should be stopped
|
|
605
|
+
--debug enable debug mode
|
|
606
|
+
|
|
607
|
+
DESCRIPTION
|
|
608
|
+
Stop the dev environment instance for a workspace (lifecycle=on-demand only).
|
|
609
|
+
|
|
610
|
+
EXAMPLES
|
|
611
|
+
$ hereya devenv sleep -w my-workspace
|
|
612
|
+
```
|
|
613
|
+
|
|
614
|
+
_See code: [src/commands/devenv/sleep/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/devenv/sleep/index.ts)_
|
|
593
615
|
|
|
594
616
|
## `hereya devenv ssh`
|
|
595
617
|
|
|
@@ -609,7 +631,7 @@ EXAMPLES
|
|
|
609
631
|
$ hereya devenv ssh -w my-workspace
|
|
610
632
|
```
|
|
611
633
|
|
|
612
|
-
_See code: [src/commands/devenv/ssh/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
634
|
+
_See code: [src/commands/devenv/ssh/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/devenv/ssh/index.ts)_
|
|
613
635
|
|
|
614
636
|
## `hereya devenv uninstall`
|
|
615
637
|
|
|
@@ -630,7 +652,7 @@ EXAMPLES
|
|
|
630
652
|
$ hereya devenv uninstall -w my-workspace
|
|
631
653
|
```
|
|
632
654
|
|
|
633
|
-
_See code: [src/commands/devenv/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
655
|
+
_See code: [src/commands/devenv/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/devenv/uninstall/index.ts)_
|
|
634
656
|
|
|
635
657
|
## `hereya doc PACKAGE`
|
|
636
658
|
|
|
@@ -663,7 +685,7 @@ EXAMPLES
|
|
|
663
685
|
$ hereya doc my-package --no-doc
|
|
664
686
|
```
|
|
665
687
|
|
|
666
|
-
_See code: [src/commands/doc/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
688
|
+
_See code: [src/commands/doc/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/doc/index.ts)_
|
|
667
689
|
|
|
668
690
|
## `hereya docker run IMAGE`
|
|
669
691
|
|
|
@@ -694,7 +716,7 @@ EXAMPLES
|
|
|
694
716
|
$ hereya docker run myapp:latest -- --rm -v ./data:/data
|
|
695
717
|
```
|
|
696
718
|
|
|
697
|
-
_See code: [src/commands/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
719
|
+
_See code: [src/commands/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/docker/run/index.ts)_
|
|
698
720
|
|
|
699
721
|
## `hereya down`
|
|
700
722
|
|
|
@@ -721,7 +743,7 @@ EXAMPLES
|
|
|
721
743
|
$ hereya down
|
|
722
744
|
```
|
|
723
745
|
|
|
724
|
-
_See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
746
|
+
_See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/down/index.ts)_
|
|
725
747
|
|
|
726
748
|
## `hereya env [NAME]`
|
|
727
749
|
|
|
@@ -752,7 +774,7 @@ EXAMPLES
|
|
|
752
774
|
$ hereya env -w dev -l
|
|
753
775
|
```
|
|
754
776
|
|
|
755
|
-
_See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
777
|
+
_See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/env/index.ts)_
|
|
756
778
|
|
|
757
779
|
## `hereya env set [NAME]`
|
|
758
780
|
|
|
@@ -779,7 +801,7 @@ EXAMPLES
|
|
|
779
801
|
$ hereya env set FOO -v bar -w dev
|
|
780
802
|
```
|
|
781
803
|
|
|
782
|
-
_See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
804
|
+
_See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/env/set/index.ts)_
|
|
783
805
|
|
|
784
806
|
## `hereya executor start`
|
|
785
807
|
|
|
@@ -813,7 +835,7 @@ EXAMPLES
|
|
|
813
835
|
HEREYA_TOKEN=<token> HEREYA_CLOUD_URL=https://my-cloud.example.com hereya executor start -w my-workspace
|
|
814
836
|
```
|
|
815
837
|
|
|
816
|
-
_See code: [src/commands/executor/start/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
838
|
+
_See code: [src/commands/executor/start/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/executor/start/index.ts)_
|
|
817
839
|
|
|
818
840
|
## `hereya flow add PACKAGE`
|
|
819
841
|
|
|
@@ -851,7 +873,7 @@ EXAMPLES
|
|
|
851
873
|
$ hereya flow add cloudy/docker_postgres -p DB_NAME=mydb -p DB_USER=admin
|
|
852
874
|
```
|
|
853
875
|
|
|
854
|
-
_See code: [src/commands/flow/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
876
|
+
_See code: [src/commands/flow/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/add/index.ts)_
|
|
855
877
|
|
|
856
878
|
## `hereya flow docker run IMAGE`
|
|
857
879
|
|
|
@@ -881,7 +903,7 @@ EXAMPLES
|
|
|
881
903
|
$ hereya flow docker run --pin myapp:latest -- --rm
|
|
882
904
|
```
|
|
883
905
|
|
|
884
|
-
_See code: [src/commands/flow/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
906
|
+
_See code: [src/commands/flow/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/docker/run/index.ts)_
|
|
885
907
|
|
|
886
908
|
## `hereya flow down`
|
|
887
909
|
|
|
@@ -915,7 +937,7 @@ EXAMPLES
|
|
|
915
937
|
$ hereya flow down --pin
|
|
916
938
|
```
|
|
917
939
|
|
|
918
|
-
_See code: [src/commands/flow/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
940
|
+
_See code: [src/commands/flow/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/down/index.ts)_
|
|
919
941
|
|
|
920
942
|
## `hereya flow env [NAME]`
|
|
921
943
|
|
|
@@ -949,7 +971,7 @@ EXAMPLES
|
|
|
949
971
|
$ hereya flow env -l
|
|
950
972
|
```
|
|
951
973
|
|
|
952
|
-
_See code: [src/commands/flow/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
974
|
+
_See code: [src/commands/flow/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/env/index.ts)_
|
|
953
975
|
|
|
954
976
|
## `hereya flow provid PACKAGE`
|
|
955
977
|
|
|
@@ -978,7 +1000,7 @@ EXAMPLES
|
|
|
978
1000
|
$ hereya flow provid hereya/postgres --pin
|
|
979
1001
|
```
|
|
980
1002
|
|
|
981
|
-
_See code: [src/commands/flow/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1003
|
+
_See code: [src/commands/flow/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/provid/index.ts)_
|
|
982
1004
|
|
|
983
1005
|
## `hereya flow remove PACKAGE`
|
|
984
1006
|
|
|
@@ -1008,7 +1030,7 @@ EXAMPLES
|
|
|
1008
1030
|
$ hereya flow remove cloudy/docker_postgres --profile staging
|
|
1009
1031
|
```
|
|
1010
1032
|
|
|
1011
|
-
_See code: [src/commands/flow/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1033
|
+
_See code: [src/commands/flow/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/remove/index.ts)_
|
|
1012
1034
|
|
|
1013
1035
|
## `hereya flow run CMD`
|
|
1014
1036
|
|
|
@@ -1037,7 +1059,7 @@ EXAMPLES
|
|
|
1037
1059
|
$ hereya flow run --pin -- npm test
|
|
1038
1060
|
```
|
|
1039
1061
|
|
|
1040
|
-
_See code: [src/commands/flow/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1062
|
+
_See code: [src/commands/flow/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/run/index.ts)_
|
|
1041
1063
|
|
|
1042
1064
|
## `hereya flow up`
|
|
1043
1065
|
|
|
@@ -1071,7 +1093,7 @@ EXAMPLES
|
|
|
1071
1093
|
$ hereya flow up --pin
|
|
1072
1094
|
```
|
|
1073
1095
|
|
|
1074
|
-
_See code: [src/commands/flow/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1096
|
+
_See code: [src/commands/flow/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/flow/up/index.ts)_
|
|
1075
1097
|
|
|
1076
1098
|
## `hereya help [COMMAND]`
|
|
1077
1099
|
|
|
@@ -1128,7 +1150,7 @@ EXAMPLES
|
|
|
1128
1150
|
$ hereya import org/my-package -f state.tfstate -w my-workspace
|
|
1129
1151
|
```
|
|
1130
1152
|
|
|
1131
|
-
_See code: [src/commands/import/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1153
|
+
_See code: [src/commands/import/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/import/index.ts)_
|
|
1132
1154
|
|
|
1133
1155
|
## `hereya import-repo PROJECT`
|
|
1134
1156
|
|
|
@@ -1158,7 +1180,7 @@ EXAMPLES
|
|
|
1158
1180
|
$ hereya import-repo myProject -w=dev -r=https://github.com/acme/api --clone --chdir=./api
|
|
1159
1181
|
```
|
|
1160
1182
|
|
|
1161
|
-
_See code: [src/commands/import-repo/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1183
|
+
_See code: [src/commands/import-repo/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/import-repo/index.ts)_
|
|
1162
1184
|
|
|
1163
1185
|
## `hereya init PROJECT`
|
|
1164
1186
|
|
|
@@ -1192,7 +1214,7 @@ EXAMPLES
|
|
|
1192
1214
|
$ hereya init myProject -w=dev -t=acme/node-starter -d=prod -p region=us-east-1
|
|
1193
1215
|
```
|
|
1194
1216
|
|
|
1195
|
-
_See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1217
|
+
_See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/init/index.ts)_
|
|
1196
1218
|
|
|
1197
1219
|
## `hereya list`
|
|
1198
1220
|
|
|
@@ -1209,7 +1231,7 @@ EXAMPLES
|
|
|
1209
1231
|
$ hereya list
|
|
1210
1232
|
```
|
|
1211
1233
|
|
|
1212
|
-
_See code: [src/commands/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1234
|
+
_See code: [src/commands/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/list/index.ts)_
|
|
1213
1235
|
|
|
1214
1236
|
## `hereya login [URL]`
|
|
1215
1237
|
|
|
@@ -1238,7 +1260,7 @@ EXAMPLES
|
|
|
1238
1260
|
$ hereya login --token=your-token https://cloud.hereya.dev
|
|
1239
1261
|
```
|
|
1240
1262
|
|
|
1241
|
-
_See code: [src/commands/login/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1263
|
+
_See code: [src/commands/login/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/login/index.ts)_
|
|
1242
1264
|
|
|
1243
1265
|
## `hereya logout`
|
|
1244
1266
|
|
|
@@ -1255,7 +1277,7 @@ EXAMPLES
|
|
|
1255
1277
|
$ hereya logout
|
|
1256
1278
|
```
|
|
1257
1279
|
|
|
1258
|
-
_See code: [src/commands/logout/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1280
|
+
_See code: [src/commands/logout/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/logout/index.ts)_
|
|
1259
1281
|
|
|
1260
1282
|
## `hereya provid PACKAGE`
|
|
1261
1283
|
|
|
@@ -1283,7 +1305,7 @@ EXAMPLES
|
|
|
1283
1305
|
$ hereya provid hereya/postgres --workspace staging
|
|
1284
1306
|
```
|
|
1285
1307
|
|
|
1286
|
-
_See code: [src/commands/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1308
|
+
_See code: [src/commands/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/provid/index.ts)_
|
|
1287
1309
|
|
|
1288
1310
|
## `hereya publish`
|
|
1289
1311
|
|
|
@@ -1306,7 +1328,7 @@ EXAMPLES
|
|
|
1306
1328
|
$ hereya publish --chdir=/path/to/package
|
|
1307
1329
|
```
|
|
1308
1330
|
|
|
1309
|
-
_See code: [src/commands/publish/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1331
|
+
_See code: [src/commands/publish/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/publish/index.ts)_
|
|
1310
1332
|
|
|
1311
1333
|
## `hereya remove PACKAGE`
|
|
1312
1334
|
|
|
@@ -1334,7 +1356,7 @@ EXAMPLES
|
|
|
1334
1356
|
$ hereya remove cloudy/docker_postgres
|
|
1335
1357
|
```
|
|
1336
1358
|
|
|
1337
|
-
_See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1359
|
+
_See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/remove/index.ts)_
|
|
1338
1360
|
|
|
1339
1361
|
## `hereya run CMD`
|
|
1340
1362
|
|
|
@@ -1360,7 +1382,7 @@ EXAMPLES
|
|
|
1360
1382
|
$ hereya run -w uat -- node index.js
|
|
1361
1383
|
```
|
|
1362
1384
|
|
|
1363
|
-
_See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1385
|
+
_See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/run/index.ts)_
|
|
1364
1386
|
|
|
1365
1387
|
## `hereya search QUERY`
|
|
1366
1388
|
|
|
@@ -1391,7 +1413,7 @@ EXAMPLES
|
|
|
1391
1413
|
$ hereya search database --json
|
|
1392
1414
|
```
|
|
1393
1415
|
|
|
1394
|
-
_See code: [src/commands/search/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1416
|
+
_See code: [src/commands/search/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/search/index.ts)_
|
|
1395
1417
|
|
|
1396
1418
|
## `hereya unbootstrap INFRASTRUCTURETYPE`
|
|
1397
1419
|
|
|
@@ -1416,7 +1438,7 @@ EXAMPLES
|
|
|
1416
1438
|
$ hereya unbootstrap local
|
|
1417
1439
|
```
|
|
1418
1440
|
|
|
1419
|
-
_See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1441
|
+
_See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/unbootstrap/index.ts)_
|
|
1420
1442
|
|
|
1421
1443
|
## `hereya undeploy`
|
|
1422
1444
|
|
|
@@ -1442,7 +1464,7 @@ EXAMPLES
|
|
|
1442
1464
|
$ hereya undeploy
|
|
1443
1465
|
```
|
|
1444
1466
|
|
|
1445
|
-
_See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1467
|
+
_See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/undeploy/index.ts)_
|
|
1446
1468
|
|
|
1447
1469
|
## `hereya uninit PROJECT`
|
|
1448
1470
|
|
|
@@ -1470,7 +1492,7 @@ EXAMPLES
|
|
|
1470
1492
|
$ hereya uninit myProject -w dev -p prodWorkspace=prod
|
|
1471
1493
|
```
|
|
1472
1494
|
|
|
1473
|
-
_See code: [src/commands/uninit/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1495
|
+
_See code: [src/commands/uninit/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/uninit/index.ts)_
|
|
1474
1496
|
|
|
1475
1497
|
## `hereya up`
|
|
1476
1498
|
|
|
@@ -1497,7 +1519,7 @@ EXAMPLES
|
|
|
1497
1519
|
$ hereya up
|
|
1498
1520
|
```
|
|
1499
1521
|
|
|
1500
|
-
_See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1522
|
+
_See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/up/index.ts)_
|
|
1501
1523
|
|
|
1502
1524
|
## `hereya update [VERSION]`
|
|
1503
1525
|
|
|
@@ -1519,7 +1541,7 @@ EXAMPLES
|
|
|
1519
1541
|
$ hereya update 0.75.0
|
|
1520
1542
|
```
|
|
1521
1543
|
|
|
1522
|
-
_See code: [src/commands/update/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1544
|
+
_See code: [src/commands/update/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/update/index.ts)_
|
|
1523
1545
|
|
|
1524
1546
|
## `hereya workspace create NAME`
|
|
1525
1547
|
|
|
@@ -1544,7 +1566,7 @@ EXAMPLES
|
|
|
1544
1566
|
$ hereya workspace create dev
|
|
1545
1567
|
```
|
|
1546
1568
|
|
|
1547
|
-
_See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1569
|
+
_See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/create/index.ts)_
|
|
1548
1570
|
|
|
1549
1571
|
## `hereya workspace delete NAME`
|
|
1550
1572
|
|
|
@@ -1564,7 +1586,7 @@ EXAMPLES
|
|
|
1564
1586
|
$ hereya workspace delete dev
|
|
1565
1587
|
```
|
|
1566
1588
|
|
|
1567
|
-
_See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1589
|
+
_See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/delete/index.ts)_
|
|
1568
1590
|
|
|
1569
1591
|
## `hereya workspace env [NAME]`
|
|
1570
1592
|
|
|
@@ -1590,7 +1612,7 @@ EXAMPLES
|
|
|
1590
1612
|
$ hereya workspace env myEnv -w dev
|
|
1591
1613
|
```
|
|
1592
1614
|
|
|
1593
|
-
_See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1615
|
+
_See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/env/index.ts)_
|
|
1594
1616
|
|
|
1595
1617
|
## `hereya workspace env set`
|
|
1596
1618
|
|
|
@@ -1614,7 +1636,7 @@ EXAMPLES
|
|
|
1614
1636
|
$ hereya workspace env set -w my-workspace -n myVar -v my-value -i aws -s
|
|
1615
1637
|
```
|
|
1616
1638
|
|
|
1617
|
-
_See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1639
|
+
_See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/env/set/index.ts)_
|
|
1618
1640
|
|
|
1619
1641
|
## `hereya workspace env unset`
|
|
1620
1642
|
|
|
@@ -1635,7 +1657,7 @@ EXAMPLES
|
|
|
1635
1657
|
$ hereya workspace env unset -w my-workspace -n myVar
|
|
1636
1658
|
```
|
|
1637
1659
|
|
|
1638
|
-
_See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1660
|
+
_See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/env/unset/index.ts)_
|
|
1639
1661
|
|
|
1640
1662
|
## `hereya workspace executor install`
|
|
1641
1663
|
|
|
@@ -1662,7 +1684,7 @@ DESCRIPTION
|
|
|
1662
1684
|
- ephemeral: ASG scaled to 0 with a broker Lambda + OIDC for on-demand wake.
|
|
1663
1685
|
```
|
|
1664
1686
|
|
|
1665
|
-
_See code: [src/commands/workspace/executor/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1687
|
+
_See code: [src/commands/workspace/executor/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/executor/install/index.ts)_
|
|
1666
1688
|
|
|
1667
1689
|
## `hereya workspace executor token`
|
|
1668
1690
|
|
|
@@ -1679,7 +1701,7 @@ DESCRIPTION
|
|
|
1679
1701
|
Generate a workspace-scoped executor token for the remote executor
|
|
1680
1702
|
```
|
|
1681
1703
|
|
|
1682
|
-
_See code: [src/commands/workspace/executor/token/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1704
|
+
_See code: [src/commands/workspace/executor/token/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/executor/token/index.ts)_
|
|
1683
1705
|
|
|
1684
1706
|
## `hereya workspace executor uninstall`
|
|
1685
1707
|
|
|
@@ -1703,7 +1725,7 @@ DESCRIPTION
|
|
|
1703
1725
|
controls log output.
|
|
1704
1726
|
```
|
|
1705
1727
|
|
|
1706
|
-
_See code: [src/commands/workspace/executor/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1728
|
+
_See code: [src/commands/workspace/executor/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/executor/uninstall/index.ts)_
|
|
1707
1729
|
|
|
1708
1730
|
## `hereya workspace install PACKAGE`
|
|
1709
1731
|
|
|
@@ -1730,7 +1752,7 @@ EXAMPLES
|
|
|
1730
1752
|
$ hereya workspace install hereya/aws-cognito
|
|
1731
1753
|
```
|
|
1732
1754
|
|
|
1733
|
-
_See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1755
|
+
_See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/install/index.ts)_
|
|
1734
1756
|
|
|
1735
1757
|
## `hereya workspace list`
|
|
1736
1758
|
|
|
@@ -1754,7 +1776,7 @@ EXAMPLES
|
|
|
1754
1776
|
$ hereya workspace list --org personal
|
|
1755
1777
|
```
|
|
1756
1778
|
|
|
1757
|
-
_See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1779
|
+
_See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/list/index.ts)_
|
|
1758
1780
|
|
|
1759
1781
|
## `hereya workspace set-profile PROFILE`
|
|
1760
1782
|
|
|
@@ -1778,7 +1800,7 @@ EXAMPLES
|
|
|
1778
1800
|
$ hereya workspace set-profile prod-profile -w production
|
|
1779
1801
|
```
|
|
1780
1802
|
|
|
1781
|
-
_See code: [src/commands/workspace/set-profile/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1803
|
+
_See code: [src/commands/workspace/set-profile/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/set-profile/index.ts)_
|
|
1782
1804
|
|
|
1783
1805
|
## `hereya workspace uninstall PACKAGE`
|
|
1784
1806
|
|
|
@@ -1805,5 +1827,5 @@ EXAMPLES
|
|
|
1805
1827
|
$ hereya workspace uninstall hereya/aws-cognito
|
|
1806
1828
|
```
|
|
1807
1829
|
|
|
1808
|
-
_See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
1830
|
+
_See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.93.1/src/commands/workspace/uninstall/index.ts)_
|
|
1809
1831
|
<!-- commandsstop -->
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class DevenvSleep extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
workspace: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { Listr, ListrLogger, ListrLogLevels } from 'listr2';
|
|
3
|
+
import { getBackend } from '../../../backend/index.js';
|
|
4
|
+
import { getExecutorForWorkspace } from '../../../executor/context.js';
|
|
5
|
+
import { getLogPath, isDebug, setDebug } from '../../../lib/log.js';
|
|
6
|
+
export default class DevenvSleep extends Command {
|
|
7
|
+
static description = 'Stop the dev environment instance for a workspace (lifecycle=on-demand only).';
|
|
8
|
+
static examples = ['<%= config.bin %> <%= command.id %> -w my-workspace'];
|
|
9
|
+
static flags = {
|
|
10
|
+
debug: Flags.boolean({
|
|
11
|
+
default: false,
|
|
12
|
+
description: 'enable debug mode',
|
|
13
|
+
}),
|
|
14
|
+
workspace: Flags.string({
|
|
15
|
+
char: 'w',
|
|
16
|
+
description: 'name of the workspace whose dev environment should be stopped',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { flags } = await this.parse(DevenvSleep);
|
|
22
|
+
setDebug(flags.debug);
|
|
23
|
+
const myLogger = new ListrLogger({ useIcons: false });
|
|
24
|
+
const task = new Listr([
|
|
25
|
+
{
|
|
26
|
+
async task(ctx, task) {
|
|
27
|
+
return task.newListr([
|
|
28
|
+
{
|
|
29
|
+
async task(ctx) {
|
|
30
|
+
const backend = await getBackend();
|
|
31
|
+
const getWorkspaceEnvOutput = await backend.getWorkspaceEnv({ workspace: flags.workspace });
|
|
32
|
+
if (!getWorkspaceEnvOutput.success) {
|
|
33
|
+
throw new Error(getWorkspaceEnvOutput.reason);
|
|
34
|
+
}
|
|
35
|
+
const executor$ = await getExecutorForWorkspace(flags.workspace);
|
|
36
|
+
if (!executor$.success) {
|
|
37
|
+
throw new Error(executor$.reason);
|
|
38
|
+
}
|
|
39
|
+
const { executor } = executor$;
|
|
40
|
+
const env = await executor.resolveEnvValues({ env: getWorkspaceEnvOutput.env });
|
|
41
|
+
if (!env.devEnvWakeUrl) {
|
|
42
|
+
throw new Error(`Workspace ${flags.workspace} was not provisioned with lifecycle=on-demand; nothing to sleep.`);
|
|
43
|
+
}
|
|
44
|
+
ctx.wakeUrl = env.devEnvWakeUrl;
|
|
45
|
+
ctx.wakeToken = env.devEnvWakeToken;
|
|
46
|
+
},
|
|
47
|
+
title: `Loading workspace ${flags.workspace}`,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
async task(ctx) {
|
|
51
|
+
const response = await fetch(`${ctx.wakeUrl}/sleep`, {
|
|
52
|
+
headers: { Authorization: `Bearer ${ctx.wakeToken}` },
|
|
53
|
+
method: 'POST',
|
|
54
|
+
});
|
|
55
|
+
if (!response.ok) {
|
|
56
|
+
const body = await response.text().catch(() => '');
|
|
57
|
+
throw new Error(`broker /sleep returned ${response.status}: ${body}`);
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
title: 'Stopping dev environment',
|
|
61
|
+
},
|
|
62
|
+
]);
|
|
63
|
+
},
|
|
64
|
+
title: `Putting dev environment to sleep for workspace ${flags.workspace}`,
|
|
65
|
+
},
|
|
66
|
+
], { concurrent: false, rendererOptions: { collapseSubtasks: !isDebug() } });
|
|
67
|
+
try {
|
|
68
|
+
await task.run();
|
|
69
|
+
myLogger.log(ListrLogLevels.COMPLETED, 'Dev environment is now stopping');
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.error(`${error.message}
|
|
73
|
+
|
|
74
|
+
See ${getLogPath()} for more details`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1,12 +1,74 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { Listr } from 'listr2';
|
|
2
3
|
import { spawnSync } from 'node:child_process';
|
|
3
4
|
import { randomUUID } from 'node:crypto';
|
|
4
5
|
import fs from 'node:fs/promises';
|
|
6
|
+
import { Socket } from 'node:net';
|
|
5
7
|
import os from 'node:os';
|
|
6
8
|
import path from 'node:path';
|
|
7
9
|
import { getBackend } from '../../../backend/index.js';
|
|
8
10
|
import { getExecutorForWorkspace } from '../../../executor/context.js';
|
|
11
|
+
import { getLogPath } from '../../../lib/log.js';
|
|
9
12
|
import { setKeyFilePermissions } from '../../../lib/ssh-utils.js';
|
|
13
|
+
// Polling cadence and overall timeout for the wake broker. Overridable via env
|
|
14
|
+
// vars purely to keep tests fast — the defaults are the production values.
|
|
15
|
+
function getWakePollIntervalMs() {
|
|
16
|
+
return Number(process.env.HEREYA_WAKE_POLL_INTERVAL_MS) || 4000;
|
|
17
|
+
}
|
|
18
|
+
function getWakeTimeoutMs() {
|
|
19
|
+
return Number(process.env.HEREYA_WAKE_TIMEOUT_MS) || 90_000;
|
|
20
|
+
}
|
|
21
|
+
// Probe budget for waiting on sshd after the EC2 instance reports running.
|
|
22
|
+
// EC2 returns state=running before sshd starts accepting connections; without
|
|
23
|
+
// this probe, the immediate `ssh` spawn races and gets ECONNREFUSED.
|
|
24
|
+
// Set HEREYA_SSH_READY_TIMEOUT_MS=0 to disable the probe entirely (tests).
|
|
25
|
+
function getSshReadyTimeoutMs() {
|
|
26
|
+
const raw = process.env.HEREYA_SSH_READY_TIMEOUT_MS;
|
|
27
|
+
if (raw === undefined)
|
|
28
|
+
return 60_000;
|
|
29
|
+
return Number(raw);
|
|
30
|
+
}
|
|
31
|
+
function getSshReadyAttemptIntervalMs() {
|
|
32
|
+
return Number(process.env.HEREYA_SSH_READY_ATTEMPT_INTERVAL_MS) || 2000;
|
|
33
|
+
}
|
|
34
|
+
function sleep(ms) {
|
|
35
|
+
return new Promise((resolve) => {
|
|
36
|
+
setTimeout(resolve, ms);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function probeTcp(host, port, timeoutMs) {
|
|
40
|
+
return new Promise((resolve) => {
|
|
41
|
+
const socket = new Socket();
|
|
42
|
+
let done = false;
|
|
43
|
+
const finish = (ok) => {
|
|
44
|
+
if (done)
|
|
45
|
+
return;
|
|
46
|
+
done = true;
|
|
47
|
+
socket.destroy();
|
|
48
|
+
resolve(ok);
|
|
49
|
+
};
|
|
50
|
+
socket.setTimeout(timeoutMs);
|
|
51
|
+
socket.once('connect', () => finish(true));
|
|
52
|
+
socket.once('timeout', () => finish(false));
|
|
53
|
+
socket.once('error', () => finish(false));
|
|
54
|
+
socket.connect(port, host);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async function waitForSshReady(host, port, totalTimeoutMs, attemptIntervalMs) {
|
|
58
|
+
const start = Date.now();
|
|
59
|
+
// First attempt fires immediately.
|
|
60
|
+
while (Date.now() - start < totalTimeoutMs) {
|
|
61
|
+
// eslint-disable-next-line no-await-in-loop
|
|
62
|
+
const ok = await probeTcp(host, port, Math.min(2000, attemptIntervalMs));
|
|
63
|
+
if (ok)
|
|
64
|
+
return;
|
|
65
|
+
if (Date.now() - start + attemptIntervalMs >= totalTimeoutMs)
|
|
66
|
+
break;
|
|
67
|
+
// eslint-disable-next-line no-await-in-loop
|
|
68
|
+
await sleep(attemptIntervalMs);
|
|
69
|
+
}
|
|
70
|
+
throw new Error(`SSH at ${host}:${port} did not accept connections within ${totalTimeoutMs / 1000}s`);
|
|
71
|
+
}
|
|
10
72
|
export default class DevenvSsh extends Command {
|
|
11
73
|
static description = 'SSH into a dev environment instance.';
|
|
12
74
|
static examples = [
|
|
@@ -34,13 +96,26 @@ export default class DevenvSsh extends Command {
|
|
|
34
96
|
}
|
|
35
97
|
const { executor } = executor$;
|
|
36
98
|
env = await executor.resolveEnvValues({ env });
|
|
37
|
-
|
|
99
|
+
let sshHost = env.devEnvSshHost;
|
|
38
100
|
const sshPrivateKey = env.devEnvSshPrivateKey;
|
|
39
101
|
const sshUser = env.devEnvSshUser;
|
|
40
102
|
const sshHostDns = env.devEnvSshHostDns;
|
|
103
|
+
const wakeUrl = env.devEnvWakeUrl;
|
|
104
|
+
const wakeToken = env.devEnvWakeToken;
|
|
41
105
|
if (!sshHost || !sshPrivateKey || !sshUser) {
|
|
42
106
|
this.error('devEnvSshHost, devEnvSshPrivateKey, and devEnvSshUser must be set in the workspace environment');
|
|
43
107
|
}
|
|
108
|
+
if (wakeUrl && wakeToken) {
|
|
109
|
+
try {
|
|
110
|
+
const wakeResult = await this.wakeAndPoll(wakeUrl, wakeToken);
|
|
111
|
+
// Override sshHost with the freshly-resolved IP from the broker
|
|
112
|
+
sshHost = wakeResult.host;
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
116
|
+
this.error(`Failed to wake dev environment: ${message}. See ${getLogPath()} for details.`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
44
119
|
const host = sshHostDns || sshHost;
|
|
45
120
|
const tempKeyPath = path.join(os.tmpdir(), `hereya-ssh-${randomUUID()}`);
|
|
46
121
|
try {
|
|
@@ -70,4 +145,72 @@ export default class DevenvSsh extends Command {
|
|
|
70
145
|
}
|
|
71
146
|
return Promise.resolve();
|
|
72
147
|
}
|
|
148
|
+
async fetchStatus(wakeUrl, wakeToken) {
|
|
149
|
+
const response = await fetch(`${wakeUrl}/status`, {
|
|
150
|
+
headers: { Authorization: `Bearer ${wakeToken}` },
|
|
151
|
+
method: 'GET',
|
|
152
|
+
});
|
|
153
|
+
if (!response.ok) {
|
|
154
|
+
const body = await response.text().catch(() => '');
|
|
155
|
+
throw new Error(`broker /status returned ${response.status}: ${body}`);
|
|
156
|
+
}
|
|
157
|
+
return response.json();
|
|
158
|
+
}
|
|
159
|
+
async postWake(wakeUrl, wakeToken) {
|
|
160
|
+
const response = await fetch(`${wakeUrl}/wake`, {
|
|
161
|
+
headers: { Authorization: `Bearer ${wakeToken}` },
|
|
162
|
+
method: 'POST',
|
|
163
|
+
});
|
|
164
|
+
if (!response.ok) {
|
|
165
|
+
const body = await response.text().catch(() => '');
|
|
166
|
+
throw new Error(`broker /wake returned ${response.status}: ${body}`);
|
|
167
|
+
}
|
|
168
|
+
return response.json();
|
|
169
|
+
}
|
|
170
|
+
async wakeAndPoll(wakeUrl, wakeToken) {
|
|
171
|
+
const pollIntervalMs = getWakePollIntervalMs();
|
|
172
|
+
const timeoutMs = getWakeTimeoutMs();
|
|
173
|
+
const sshReadyTimeoutMs = getSshReadyTimeoutMs();
|
|
174
|
+
const sshReadyAttemptIntervalMs = getSshReadyAttemptIntervalMs();
|
|
175
|
+
const task = new Listr([
|
|
176
|
+
{
|
|
177
|
+
task: async (ctx) => {
|
|
178
|
+
const initial = await this.fetchStatus(wakeUrl, wakeToken);
|
|
179
|
+
if (initial.state === 'running' && initial.host) {
|
|
180
|
+
ctx.host = initial.host;
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
await this.postWake(wakeUrl, wakeToken);
|
|
184
|
+
const start = Date.now();
|
|
185
|
+
let done = false;
|
|
186
|
+
while (!done) {
|
|
187
|
+
if (Date.now() - start >= timeoutMs) {
|
|
188
|
+
throw new Error(`timed out waiting for dev environment to start after ${timeoutMs / 1000}s`);
|
|
189
|
+
}
|
|
190
|
+
// eslint-disable-next-line no-await-in-loop
|
|
191
|
+
await sleep(pollIntervalMs);
|
|
192
|
+
// eslint-disable-next-line no-await-in-loop
|
|
193
|
+
const status = await this.fetchStatus(wakeUrl, wakeToken);
|
|
194
|
+
if (status.state === 'running' && status.host) {
|
|
195
|
+
ctx.host = status.host;
|
|
196
|
+
done = true;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
title: 'Waking dev environment',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
enabled: () => sshReadyTimeoutMs > 0,
|
|
204
|
+
async task(ctx) {
|
|
205
|
+
await waitForSshReady(ctx.host, 22, sshReadyTimeoutMs, sshReadyAttemptIntervalMs);
|
|
206
|
+
},
|
|
207
|
+
title: 'Waiting for SSH to accept connections',
|
|
208
|
+
},
|
|
209
|
+
], { concurrent: false, ctx: { host: '' } });
|
|
210
|
+
const result = await task.run();
|
|
211
|
+
if (!result.host) {
|
|
212
|
+
throw new Error('broker did not return a host after wake');
|
|
213
|
+
}
|
|
214
|
+
return { host: result.host };
|
|
215
|
+
}
|
|
73
216
|
}
|
package/oclif.manifest.json
CHANGED
|
@@ -1540,38 +1540,6 @@
|
|
|
1540
1540
|
"index.js"
|
|
1541
1541
|
]
|
|
1542
1542
|
},
|
|
1543
|
-
"config:export-backend": {
|
|
1544
|
-
"aliases": [],
|
|
1545
|
-
"args": {
|
|
1546
|
-
"file": {
|
|
1547
|
-
"description": "Path to save the export file. Defaults to cloud-backend.json in current directory",
|
|
1548
|
-
"name": "file",
|
|
1549
|
-
"required": false
|
|
1550
|
-
}
|
|
1551
|
-
},
|
|
1552
|
-
"description": "Export the cloud backend configuration to a file",
|
|
1553
|
-
"examples": [
|
|
1554
|
-
"<%= config.bin %> <%= command.id %>",
|
|
1555
|
-
"<%= config.bin %> <%= command.id %> ./path/to/export.json"
|
|
1556
|
-
],
|
|
1557
|
-
"flags": {},
|
|
1558
|
-
"hasDynamicHelp": false,
|
|
1559
|
-
"hiddenAliases": [],
|
|
1560
|
-
"id": "config:export-backend",
|
|
1561
|
-
"pluginAlias": "hereya-cli",
|
|
1562
|
-
"pluginName": "hereya-cli",
|
|
1563
|
-
"pluginType": "core",
|
|
1564
|
-
"strict": true,
|
|
1565
|
-
"enableJsonFlag": false,
|
|
1566
|
-
"isESM": true,
|
|
1567
|
-
"relativePath": [
|
|
1568
|
-
"dist",
|
|
1569
|
-
"commands",
|
|
1570
|
-
"config",
|
|
1571
|
-
"export-backend",
|
|
1572
|
-
"index.js"
|
|
1573
|
-
]
|
|
1574
|
-
},
|
|
1575
1543
|
"app:status": {
|
|
1576
1544
|
"aliases": [],
|
|
1577
1545
|
"args": {
|
|
@@ -1613,6 +1581,38 @@
|
|
|
1613
1581
|
"index.js"
|
|
1614
1582
|
]
|
|
1615
1583
|
},
|
|
1584
|
+
"config:export-backend": {
|
|
1585
|
+
"aliases": [],
|
|
1586
|
+
"args": {
|
|
1587
|
+
"file": {
|
|
1588
|
+
"description": "Path to save the export file. Defaults to cloud-backend.json in current directory",
|
|
1589
|
+
"name": "file",
|
|
1590
|
+
"required": false
|
|
1591
|
+
}
|
|
1592
|
+
},
|
|
1593
|
+
"description": "Export the cloud backend configuration to a file",
|
|
1594
|
+
"examples": [
|
|
1595
|
+
"<%= config.bin %> <%= command.id %>",
|
|
1596
|
+
"<%= config.bin %> <%= command.id %> ./path/to/export.json"
|
|
1597
|
+
],
|
|
1598
|
+
"flags": {},
|
|
1599
|
+
"hasDynamicHelp": false,
|
|
1600
|
+
"hiddenAliases": [],
|
|
1601
|
+
"id": "config:export-backend",
|
|
1602
|
+
"pluginAlias": "hereya-cli",
|
|
1603
|
+
"pluginName": "hereya-cli",
|
|
1604
|
+
"pluginType": "core",
|
|
1605
|
+
"strict": true,
|
|
1606
|
+
"enableJsonFlag": false,
|
|
1607
|
+
"isESM": true,
|
|
1608
|
+
"relativePath": [
|
|
1609
|
+
"dist",
|
|
1610
|
+
"commands",
|
|
1611
|
+
"config",
|
|
1612
|
+
"export-backend",
|
|
1613
|
+
"index.js"
|
|
1614
|
+
]
|
|
1615
|
+
},
|
|
1616
1616
|
"config:get-backend": {
|
|
1617
1617
|
"aliases": [],
|
|
1618
1618
|
"args": {},
|
|
@@ -1802,6 +1802,47 @@
|
|
|
1802
1802
|
"index.js"
|
|
1803
1803
|
]
|
|
1804
1804
|
},
|
|
1805
|
+
"devenv:sleep": {
|
|
1806
|
+
"aliases": [],
|
|
1807
|
+
"args": {},
|
|
1808
|
+
"description": "Stop the dev environment instance for a workspace (lifecycle=on-demand only).",
|
|
1809
|
+
"examples": [
|
|
1810
|
+
"<%= config.bin %> <%= command.id %> -w my-workspace"
|
|
1811
|
+
],
|
|
1812
|
+
"flags": {
|
|
1813
|
+
"debug": {
|
|
1814
|
+
"description": "enable debug mode",
|
|
1815
|
+
"name": "debug",
|
|
1816
|
+
"allowNo": false,
|
|
1817
|
+
"type": "boolean"
|
|
1818
|
+
},
|
|
1819
|
+
"workspace": {
|
|
1820
|
+
"char": "w",
|
|
1821
|
+
"description": "name of the workspace whose dev environment should be stopped",
|
|
1822
|
+
"name": "workspace",
|
|
1823
|
+
"required": true,
|
|
1824
|
+
"hasDynamicHelp": false,
|
|
1825
|
+
"multiple": false,
|
|
1826
|
+
"type": "option"
|
|
1827
|
+
}
|
|
1828
|
+
},
|
|
1829
|
+
"hasDynamicHelp": false,
|
|
1830
|
+
"hiddenAliases": [],
|
|
1831
|
+
"id": "devenv:sleep",
|
|
1832
|
+
"pluginAlias": "hereya-cli",
|
|
1833
|
+
"pluginName": "hereya-cli",
|
|
1834
|
+
"pluginType": "core",
|
|
1835
|
+
"strict": true,
|
|
1836
|
+
"enableJsonFlag": false,
|
|
1837
|
+
"isESM": true,
|
|
1838
|
+
"relativePath": [
|
|
1839
|
+
"dist",
|
|
1840
|
+
"commands",
|
|
1841
|
+
"devenv",
|
|
1842
|
+
"sleep",
|
|
1843
|
+
"index.js"
|
|
1844
|
+
]
|
|
1845
|
+
},
|
|
1805
1846
|
"devenv:ssh": {
|
|
1806
1847
|
"aliases": [],
|
|
1807
1848
|
"args": {},
|
|
@@ -2320,32 +2361,34 @@
|
|
|
2320
2361
|
"index.js"
|
|
2321
2362
|
]
|
|
2322
2363
|
},
|
|
2323
|
-
"flow:
|
|
2364
|
+
"flow:run": {
|
|
2324
2365
|
"aliases": [],
|
|
2325
2366
|
"args": {
|
|
2326
|
-
"
|
|
2327
|
-
"description": "
|
|
2328
|
-
"name": "
|
|
2367
|
+
"cmd": {
|
|
2368
|
+
"description": "command to run",
|
|
2369
|
+
"name": "cmd",
|
|
2329
2370
|
"required": true
|
|
2330
2371
|
}
|
|
2331
2372
|
},
|
|
2332
|
-
"description": "
|
|
2373
|
+
"description": "Run a command with hereya env vars in a git branch-based workspace",
|
|
2333
2374
|
"examples": [
|
|
2334
|
-
"<%= config.bin %> <%= command.id %>
|
|
2335
|
-
"<%= config.bin %> <%= command.id %>
|
|
2375
|
+
"<%= config.bin %> <%= command.id %> -- npm run dev",
|
|
2376
|
+
"<%= config.bin %> <%= command.id %> --profile staging -- node index.js",
|
|
2377
|
+
"<%= config.bin %> <%= command.id %> --pin -- npm test"
|
|
2336
2378
|
],
|
|
2337
2379
|
"flags": {
|
|
2338
2380
|
"chdir": {
|
|
2339
|
-
"description": "
|
|
2381
|
+
"description": "directory to run command in",
|
|
2340
2382
|
"name": "chdir",
|
|
2341
2383
|
"required": false,
|
|
2342
2384
|
"hasDynamicHelp": false,
|
|
2343
2385
|
"multiple": false,
|
|
2344
2386
|
"type": "option"
|
|
2345
2387
|
},
|
|
2346
|
-
"
|
|
2347
|
-
"description": "
|
|
2348
|
-
"name": "
|
|
2388
|
+
"pin": {
|
|
2389
|
+
"description": "append git commit SHA to workspace name for commit-specific isolation",
|
|
2390
|
+
"name": "pin",
|
|
2391
|
+
"required": false,
|
|
2349
2392
|
"allowNo": false,
|
|
2350
2393
|
"type": "boolean"
|
|
2351
2394
|
},
|
|
@@ -2360,49 +2403,47 @@
|
|
|
2360
2403
|
},
|
|
2361
2404
|
"hasDynamicHelp": false,
|
|
2362
2405
|
"hiddenAliases": [],
|
|
2363
|
-
"id": "flow:
|
|
2406
|
+
"id": "flow:run",
|
|
2364
2407
|
"pluginAlias": "hereya-cli",
|
|
2365
2408
|
"pluginName": "hereya-cli",
|
|
2366
2409
|
"pluginType": "core",
|
|
2367
|
-
"strict":
|
|
2410
|
+
"strict": false,
|
|
2368
2411
|
"enableJsonFlag": false,
|
|
2369
2412
|
"isESM": true,
|
|
2370
2413
|
"relativePath": [
|
|
2371
2414
|
"dist",
|
|
2372
2415
|
"commands",
|
|
2373
2416
|
"flow",
|
|
2374
|
-
"
|
|
2417
|
+
"run",
|
|
2375
2418
|
"index.js"
|
|
2376
2419
|
]
|
|
2377
2420
|
},
|
|
2378
|
-
"flow:
|
|
2421
|
+
"flow:remove": {
|
|
2379
2422
|
"aliases": [],
|
|
2380
2423
|
"args": {
|
|
2381
|
-
"
|
|
2382
|
-
"description": "
|
|
2383
|
-
"name": "
|
|
2424
|
+
"package": {
|
|
2425
|
+
"description": "Remove a previously added package.",
|
|
2426
|
+
"name": "package",
|
|
2384
2427
|
"required": true
|
|
2385
2428
|
}
|
|
2386
2429
|
},
|
|
2387
|
-
"description": "
|
|
2430
|
+
"description": "Remove a package from the project in a git branch-based workspace",
|
|
2388
2431
|
"examples": [
|
|
2389
|
-
"<%= config.bin %> <%= command.id %>
|
|
2390
|
-
"<%= config.bin %> <%= command.id %> --profile staging
|
|
2391
|
-
"<%= config.bin %> <%= command.id %> --pin -- npm test"
|
|
2432
|
+
"<%= config.bin %> <%= command.id %> cloudy/docker_postgres",
|
|
2433
|
+
"<%= config.bin %> <%= command.id %> cloudy/docker_postgres --profile staging"
|
|
2392
2434
|
],
|
|
2393
2435
|
"flags": {
|
|
2394
2436
|
"chdir": {
|
|
2395
|
-
"description": "
|
|
2437
|
+
"description": "\n Directory where the command will be executed.\n If not specified, it defaults to the current working directory.\n Alternatively, you can define the project root by setting the HEREYA_PROJECT_ROOT_DIR environment variable.\n ",
|
|
2396
2438
|
"name": "chdir",
|
|
2397
2439
|
"required": false,
|
|
2398
2440
|
"hasDynamicHelp": false,
|
|
2399
2441
|
"multiple": false,
|
|
2400
2442
|
"type": "option"
|
|
2401
2443
|
},
|
|
2402
|
-
"
|
|
2403
|
-
"description": "
|
|
2404
|
-
"name": "
|
|
2405
|
-
"required": false,
|
|
2444
|
+
"debug": {
|
|
2445
|
+
"description": "enable debug mode",
|
|
2446
|
+
"name": "debug",
|
|
2406
2447
|
"allowNo": false,
|
|
2407
2448
|
"type": "boolean"
|
|
2408
2449
|
},
|
|
@@ -2417,18 +2458,18 @@
|
|
|
2417
2458
|
},
|
|
2418
2459
|
"hasDynamicHelp": false,
|
|
2419
2460
|
"hiddenAliases": [],
|
|
2420
|
-
"id": "flow:
|
|
2461
|
+
"id": "flow:remove",
|
|
2421
2462
|
"pluginAlias": "hereya-cli",
|
|
2422
2463
|
"pluginName": "hereya-cli",
|
|
2423
2464
|
"pluginType": "core",
|
|
2424
|
-
"strict":
|
|
2465
|
+
"strict": true,
|
|
2425
2466
|
"enableJsonFlag": false,
|
|
2426
2467
|
"isESM": true,
|
|
2427
2468
|
"relativePath": [
|
|
2428
2469
|
"dist",
|
|
2429
2470
|
"commands",
|
|
2430
2471
|
"flow",
|
|
2431
|
-
"
|
|
2472
|
+
"remove",
|
|
2432
2473
|
"index.js"
|
|
2433
2474
|
]
|
|
2434
2475
|
},
|
|
@@ -2562,6 +2603,56 @@
|
|
|
2562
2603
|
"index.js"
|
|
2563
2604
|
]
|
|
2564
2605
|
},
|
|
2606
|
+
"workspace:env": {
|
|
2607
|
+
"aliases": [],
|
|
2608
|
+
"args": {
|
|
2609
|
+
"name": {
|
|
2610
|
+
"description": "name of the env to display",
|
|
2611
|
+
"name": "name",
|
|
2612
|
+
"required": false
|
|
2613
|
+
}
|
|
2614
|
+
},
|
|
2615
|
+
"description": "Print workspace env vars.",
|
|
2616
|
+
"examples": [
|
|
2617
|
+
"<%= config.bin %> <%= command.id %> -w dev",
|
|
2618
|
+
"<%= config.bin %> <%= command.id %> myEnv -w dev"
|
|
2619
|
+
],
|
|
2620
|
+
"flags": {
|
|
2621
|
+
"list": {
|
|
2622
|
+
"char": "l",
|
|
2623
|
+
"description": "list only the env vars without values",
|
|
2624
|
+
"name": "list",
|
|
2625
|
+
"required": false,
|
|
2626
|
+
"allowNo": false,
|
|
2627
|
+
"type": "boolean"
|
|
2628
|
+
},
|
|
2629
|
+
"workspace": {
|
|
2630
|
+
"char": "w",
|
|
2631
|
+
"description": "name of the workspace to print env vars for",
|
|
2632
|
+
"name": "workspace",
|
|
2633
|
+
"required": true,
|
|
2634
|
+
"hasDynamicHelp": false,
|
|
2635
|
+
"multiple": false,
|
|
2636
|
+
"type": "option"
|
|
2637
|
+
}
|
|
2638
|
+
},
|
|
2639
|
+
"hasDynamicHelp": false,
|
|
2640
|
+
"hiddenAliases": [],
|
|
2641
|
+
"id": "workspace:env",
|
|
2642
|
+
"pluginAlias": "hereya-cli",
|
|
2643
|
+
"pluginName": "hereya-cli",
|
|
2644
|
+
"pluginType": "core",
|
|
2645
|
+
"strict": true,
|
|
2646
|
+
"enableJsonFlag": false,
|
|
2647
|
+
"isESM": true,
|
|
2648
|
+
"relativePath": [
|
|
2649
|
+
"dist",
|
|
2650
|
+
"commands",
|
|
2651
|
+
"workspace",
|
|
2652
|
+
"env",
|
|
2653
|
+
"index.js"
|
|
2654
|
+
]
|
|
2655
|
+
},
|
|
2565
2656
|
"workspace:delete": {
|
|
2566
2657
|
"aliases": [],
|
|
2567
2658
|
"args": {
|
|
@@ -2593,34 +2684,21 @@
|
|
|
2593
2684
|
"index.js"
|
|
2594
2685
|
]
|
|
2595
2686
|
},
|
|
2596
|
-
"workspace:
|
|
2687
|
+
"workspace:list": {
|
|
2597
2688
|
"aliases": [],
|
|
2598
|
-
"args": {
|
|
2599
|
-
|
|
2600
|
-
"description": "name of the env to display",
|
|
2601
|
-
"name": "name",
|
|
2602
|
-
"required": false
|
|
2603
|
-
}
|
|
2604
|
-
},
|
|
2605
|
-
"description": "Print workspace env vars.",
|
|
2689
|
+
"args": {},
|
|
2690
|
+
"description": "List workspaces.",
|
|
2606
2691
|
"examples": [
|
|
2607
|
-
"<%= config.bin %> <%= command.id %>
|
|
2608
|
-
"<%= config.bin %> <%= command.id %>
|
|
2692
|
+
"<%= config.bin %> <%= command.id %>",
|
|
2693
|
+
"<%= config.bin %> <%= command.id %> --org my-org",
|
|
2694
|
+
"<%= config.bin %> <%= command.id %> --org personal"
|
|
2609
2695
|
],
|
|
2610
2696
|
"flags": {
|
|
2611
|
-
"
|
|
2612
|
-
"char": "
|
|
2613
|
-
"description": "
|
|
2614
|
-
"name": "
|
|
2697
|
+
"org": {
|
|
2698
|
+
"char": "o",
|
|
2699
|
+
"description": "Filter workspaces by organization name. Use \"personal\" to show only your personal workspaces.",
|
|
2700
|
+
"name": "org",
|
|
2615
2701
|
"required": false,
|
|
2616
|
-
"allowNo": false,
|
|
2617
|
-
"type": "boolean"
|
|
2618
|
-
},
|
|
2619
|
-
"workspace": {
|
|
2620
|
-
"char": "w",
|
|
2621
|
-
"description": "name of the workspace to print env vars for",
|
|
2622
|
-
"name": "workspace",
|
|
2623
|
-
"required": true,
|
|
2624
2702
|
"hasDynamicHelp": false,
|
|
2625
2703
|
"multiple": false,
|
|
2626
2704
|
"type": "option"
|
|
@@ -2628,7 +2706,7 @@
|
|
|
2628
2706
|
},
|
|
2629
2707
|
"hasDynamicHelp": false,
|
|
2630
2708
|
"hiddenAliases": [],
|
|
2631
|
-
"id": "workspace:
|
|
2709
|
+
"id": "workspace:list",
|
|
2632
2710
|
"pluginAlias": "hereya-cli",
|
|
2633
2711
|
"pluginName": "hereya-cli",
|
|
2634
2712
|
"pluginType": "core",
|
|
@@ -2639,7 +2717,7 @@
|
|
|
2639
2717
|
"dist",
|
|
2640
2718
|
"commands",
|
|
2641
2719
|
"workspace",
|
|
2642
|
-
"
|
|
2720
|
+
"list",
|
|
2643
2721
|
"index.js"
|
|
2644
2722
|
]
|
|
2645
2723
|
},
|
|
@@ -2707,43 +2785,6 @@
|
|
|
2707
2785
|
"index.js"
|
|
2708
2786
|
]
|
|
2709
2787
|
},
|
|
2710
|
-
"workspace:list": {
|
|
2711
|
-
"aliases": [],
|
|
2712
|
-
"args": {},
|
|
2713
|
-
"description": "List workspaces.",
|
|
2714
|
-
"examples": [
|
|
2715
|
-
"<%= config.bin %> <%= command.id %>",
|
|
2716
|
-
"<%= config.bin %> <%= command.id %> --org my-org",
|
|
2717
|
-
"<%= config.bin %> <%= command.id %> --org personal"
|
|
2718
|
-
],
|
|
2719
|
-
"flags": {
|
|
2720
|
-
"org": {
|
|
2721
|
-
"char": "o",
|
|
2722
|
-
"description": "Filter workspaces by organization name. Use \"personal\" to show only your personal workspaces.",
|
|
2723
|
-
"name": "org",
|
|
2724
|
-
"required": false,
|
|
2725
|
-
"hasDynamicHelp": false,
|
|
2726
|
-
"multiple": false,
|
|
2727
|
-
"type": "option"
|
|
2728
|
-
}
|
|
2729
|
-
},
|
|
2730
|
-
"hasDynamicHelp": false,
|
|
2731
|
-
"hiddenAliases": [],
|
|
2732
|
-
"id": "workspace:list",
|
|
2733
|
-
"pluginAlias": "hereya-cli",
|
|
2734
|
-
"pluginName": "hereya-cli",
|
|
2735
|
-
"pluginType": "core",
|
|
2736
|
-
"strict": true,
|
|
2737
|
-
"enableJsonFlag": false,
|
|
2738
|
-
"isESM": true,
|
|
2739
|
-
"relativePath": [
|
|
2740
|
-
"dist",
|
|
2741
|
-
"commands",
|
|
2742
|
-
"workspace",
|
|
2743
|
-
"list",
|
|
2744
|
-
"index.js"
|
|
2745
|
-
]
|
|
2746
|
-
},
|
|
2747
2788
|
"workspace:set-profile": {
|
|
2748
2789
|
"aliases": [],
|
|
2749
2790
|
"args": {
|
|
@@ -3320,5 +3361,5 @@
|
|
|
3320
3361
|
]
|
|
3321
3362
|
}
|
|
3322
3363
|
},
|
|
3323
|
-
"version": "0.
|
|
3364
|
+
"version": "0.93.1"
|
|
3324
3365
|
}
|