hereya-cli 0.70.0 → 0.71.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 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.70.0 linux-x64 node-v24.14.0
24
+ hereya-cli/0.71.0 linux-x64 node-v24.14.0
25
25
  $ hereya --help [COMMAND]
26
26
  USAGE
27
27
  $ hereya COMMAND
@@ -40,7 +40,9 @@ USAGE
40
40
  * [`hereya deploy`](#hereya-deploy)
41
41
  * [`hereya devenv config`](#hereya-devenv-config)
42
42
  * [`hereya devenv install`](#hereya-devenv-install)
43
+ * [`hereya devenv project init PROJECT`](#hereya-devenv-project-init-project)
43
44
  * [`hereya devenv ssh`](#hereya-devenv-ssh)
45
+ * [`hereya devenv uninstall`](#hereya-devenv-uninstall)
44
46
  * [`hereya doc PACKAGE`](#hereya-doc-package)
45
47
  * [`hereya docker run IMAGE`](#hereya-docker-run-image)
46
48
  * [`hereya down`](#hereya-down)
@@ -113,7 +115,7 @@ EXAMPLES
113
115
  $ hereya add cloudy/docker_postgres
114
116
  ```
115
117
 
116
- _See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/add/index.ts)_
118
+ _See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/add/index.ts)_
117
119
 
118
120
  ## `hereya bootstrap INFRASTRUCTURETYPE`
119
121
 
@@ -138,7 +140,7 @@ EXAMPLES
138
140
  $ hereya bootstrap local
139
141
  ```
140
142
 
141
- _See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/bootstrap/index.ts)_
143
+ _See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/bootstrap/index.ts)_
142
144
 
143
145
  ## `hereya config export-backend [FILE]`
144
146
 
@@ -160,7 +162,7 @@ EXAMPLES
160
162
  $ hereya config export-backend ./path/to/export.json
161
163
  ```
162
164
 
163
- _See code: [src/commands/config/export-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/config/export-backend/index.ts)_
165
+ _See code: [src/commands/config/export-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/config/export-backend/index.ts)_
164
166
 
165
167
  ## `hereya config get-backend`
166
168
 
@@ -177,7 +179,7 @@ EXAMPLES
177
179
  $ hereya config get-backend
178
180
  ```
179
181
 
180
- _See code: [src/commands/config/get-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/config/get-backend/index.ts)_
182
+ _See code: [src/commands/config/get-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/config/get-backend/index.ts)_
181
183
 
182
184
  ## `hereya config import-backend FILE`
183
185
 
@@ -197,7 +199,7 @@ EXAMPLES
197
199
  $ hereya config import-backend ./path/to/cloud-backend.json
198
200
  ```
199
201
 
200
- _See code: [src/commands/config/import-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/config/import-backend/index.ts)_
202
+ _See code: [src/commands/config/import-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/config/import-backend/index.ts)_
201
203
 
202
204
  ## `hereya config use-backend TYPE`
203
205
 
@@ -219,7 +221,7 @@ EXAMPLES
219
221
  $ hereya config use-backend local
220
222
  ```
221
223
 
222
- _See code: [src/commands/config/use-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/config/use-backend/index.ts)_
224
+ _See code: [src/commands/config/use-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/config/use-backend/index.ts)_
223
225
 
224
226
  ## `hereya delete-state`
225
227
 
@@ -245,7 +247,7 @@ EXAMPLES
245
247
  $ hereya delete-state --workspace staging
246
248
  ```
247
249
 
248
- _See code: [src/commands/delete-state/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/delete-state/index.ts)_
250
+ _See code: [src/commands/delete-state/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/delete-state/index.ts)_
249
251
 
250
252
  ## `hereya deploy`
251
253
 
@@ -270,7 +272,7 @@ EXAMPLES
270
272
  $ hereya deploy
271
273
  ```
272
274
 
273
- _See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/deploy/index.ts)_
275
+ _See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/deploy/index.ts)_
274
276
 
275
277
  ## `hereya devenv config`
276
278
 
@@ -290,7 +292,7 @@ EXAMPLES
290
292
  $ hereya devenv config -w my-workspace
291
293
  ```
292
294
 
293
- _See code: [src/commands/devenv/config/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/devenv/config/index.ts)_
295
+ _See code: [src/commands/devenv/config/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/devenv/config/index.ts)_
294
296
 
295
297
  ## `hereya devenv install`
296
298
 
@@ -315,7 +317,31 @@ EXAMPLES
315
317
  $ hereya devenv install -w my-workspace -p instanceType=t3.large
316
318
  ```
317
319
 
318
- _See code: [src/commands/devenv/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/devenv/install/index.ts)_
320
+ _See code: [src/commands/devenv/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/devenv/install/index.ts)_
321
+
322
+ ## `hereya devenv project init PROJECT`
323
+
324
+ Initialize a project on a remote dev environment.
325
+
326
+ ```
327
+ USAGE
328
+ $ hereya devenv project init PROJECT -w <value> [-f]
329
+
330
+ ARGUMENTS
331
+ PROJECT project name
332
+
333
+ FLAGS
334
+ -f, --force continue even if folder already exists
335
+ -w, --workspace=<value> (required) name of the workspace
336
+
337
+ DESCRIPTION
338
+ Initialize a project on a remote dev environment.
339
+
340
+ EXAMPLES
341
+ $ hereya devenv project init my-app -w my-workspace
342
+ ```
343
+
344
+ _See code: [src/commands/devenv/project/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/devenv/project/init/index.ts)_
319
345
 
320
346
  ## `hereya devenv ssh`
321
347
 
@@ -335,7 +361,28 @@ EXAMPLES
335
361
  $ hereya devenv ssh -w my-workspace
336
362
  ```
337
363
 
338
- _See code: [src/commands/devenv/ssh/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/devenv/ssh/index.ts)_
364
+ _See code: [src/commands/devenv/ssh/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/devenv/ssh/index.ts)_
365
+
366
+ ## `hereya devenv uninstall`
367
+
368
+ Destroy and remove the dev environment from a workspace.
369
+
370
+ ```
371
+ USAGE
372
+ $ hereya devenv uninstall -w <value> [--debug]
373
+
374
+ FLAGS
375
+ -w, --workspace=<value> (required) name of the workspace to remove the dev environment from
376
+ --debug enable debug mode
377
+
378
+ DESCRIPTION
379
+ Destroy and remove the dev environment from a workspace.
380
+
381
+ EXAMPLES
382
+ $ hereya devenv uninstall -w my-workspace
383
+ ```
384
+
385
+ _See code: [src/commands/devenv/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/devenv/uninstall/index.ts)_
339
386
 
340
387
  ## `hereya doc PACKAGE`
341
388
 
@@ -368,7 +415,7 @@ EXAMPLES
368
415
  $ hereya doc my-package --no-doc
369
416
  ```
370
417
 
371
- _See code: [src/commands/doc/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/doc/index.ts)_
418
+ _See code: [src/commands/doc/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/doc/index.ts)_
372
419
 
373
420
  ## `hereya docker run IMAGE`
374
421
 
@@ -399,7 +446,7 @@ EXAMPLES
399
446
  $ hereya docker run myapp:latest -- --rm -v ./data:/data
400
447
  ```
401
448
 
402
- _See code: [src/commands/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/docker/run/index.ts)_
449
+ _See code: [src/commands/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/docker/run/index.ts)_
403
450
 
404
451
  ## `hereya down`
405
452
 
@@ -426,7 +473,7 @@ EXAMPLES
426
473
  $ hereya down
427
474
  ```
428
475
 
429
- _See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/down/index.ts)_
476
+ _See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/down/index.ts)_
430
477
 
431
478
  ## `hereya env [NAME]`
432
479
 
@@ -457,7 +504,7 @@ EXAMPLES
457
504
  $ hereya env -w dev -l
458
505
  ```
459
506
 
460
- _See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/env/index.ts)_
507
+ _See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/env/index.ts)_
461
508
 
462
509
  ## `hereya env set [NAME]`
463
510
 
@@ -484,7 +531,7 @@ EXAMPLES
484
531
  $ hereya env set FOO -v bar -w dev
485
532
  ```
486
533
 
487
- _See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/env/set/index.ts)_
534
+ _See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/env/set/index.ts)_
488
535
 
489
536
  ## `hereya executor start`
490
537
 
@@ -517,7 +564,7 @@ EXAMPLES
517
564
  HEREYA_TOKEN=<token> HEREYA_CLOUD_URL=https://my-cloud.example.com hereya executor start -w my-workspace
518
565
  ```
519
566
 
520
- _See code: [src/commands/executor/start/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/executor/start/index.ts)_
567
+ _See code: [src/commands/executor/start/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/executor/start/index.ts)_
521
568
 
522
569
  ## `hereya flow add PACKAGE`
523
570
 
@@ -555,7 +602,7 @@ EXAMPLES
555
602
  $ hereya flow add cloudy/docker_postgres -p DB_NAME=mydb -p DB_USER=admin
556
603
  ```
557
604
 
558
- _See code: [src/commands/flow/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/add/index.ts)_
605
+ _See code: [src/commands/flow/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/add/index.ts)_
559
606
 
560
607
  ## `hereya flow docker run IMAGE`
561
608
 
@@ -585,7 +632,7 @@ EXAMPLES
585
632
  $ hereya flow docker run --pin myapp:latest -- --rm
586
633
  ```
587
634
 
588
- _See code: [src/commands/flow/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/docker/run/index.ts)_
635
+ _See code: [src/commands/flow/docker/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/docker/run/index.ts)_
589
636
 
590
637
  ## `hereya flow down`
591
638
 
@@ -619,7 +666,7 @@ EXAMPLES
619
666
  $ hereya flow down --pin
620
667
  ```
621
668
 
622
- _See code: [src/commands/flow/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/down/index.ts)_
669
+ _See code: [src/commands/flow/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/down/index.ts)_
623
670
 
624
671
  ## `hereya flow env [NAME]`
625
672
 
@@ -653,7 +700,7 @@ EXAMPLES
653
700
  $ hereya flow env -l
654
701
  ```
655
702
 
656
- _See code: [src/commands/flow/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/env/index.ts)_
703
+ _See code: [src/commands/flow/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/env/index.ts)_
657
704
 
658
705
  ## `hereya flow provid PACKAGE`
659
706
 
@@ -682,7 +729,7 @@ EXAMPLES
682
729
  $ hereya flow provid hereya/postgres --pin
683
730
  ```
684
731
 
685
- _See code: [src/commands/flow/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/provid/index.ts)_
732
+ _See code: [src/commands/flow/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/provid/index.ts)_
686
733
 
687
734
  ## `hereya flow remove PACKAGE`
688
735
 
@@ -712,7 +759,7 @@ EXAMPLES
712
759
  $ hereya flow remove cloudy/docker_postgres --profile staging
713
760
  ```
714
761
 
715
- _See code: [src/commands/flow/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/remove/index.ts)_
762
+ _See code: [src/commands/flow/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/remove/index.ts)_
716
763
 
717
764
  ## `hereya flow run CMD`
718
765
 
@@ -741,7 +788,7 @@ EXAMPLES
741
788
  $ hereya flow run --pin -- npm test
742
789
  ```
743
790
 
744
- _See code: [src/commands/flow/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/run/index.ts)_
791
+ _See code: [src/commands/flow/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/run/index.ts)_
745
792
 
746
793
  ## `hereya flow up`
747
794
 
@@ -775,7 +822,7 @@ EXAMPLES
775
822
  $ hereya flow up --pin
776
823
  ```
777
824
 
778
- _See code: [src/commands/flow/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/flow/up/index.ts)_
825
+ _See code: [src/commands/flow/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/flow/up/index.ts)_
779
826
 
780
827
  ## `hereya help [COMMAND]`
781
828
 
@@ -832,7 +879,7 @@ EXAMPLES
832
879
  $ hereya import org/my-package -f state.tfstate -w my-workspace
833
880
  ```
834
881
 
835
- _See code: [src/commands/import/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/import/index.ts)_
882
+ _See code: [src/commands/import/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/import/index.ts)_
836
883
 
837
884
  ## `hereya init PROJECT`
838
885
 
@@ -858,7 +905,7 @@ EXAMPLES
858
905
  $ hereya init myProject -w=defaultWorkspace --chdir=./myProject
859
906
  ```
860
907
 
861
- _See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/init/index.ts)_
908
+ _See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/init/index.ts)_
862
909
 
863
910
  ## `hereya login [URL]`
864
911
 
@@ -887,7 +934,7 @@ EXAMPLES
887
934
  $ hereya login --token=your-token https://cloud.hereya.dev
888
935
  ```
889
936
 
890
- _See code: [src/commands/login/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/login/index.ts)_
937
+ _See code: [src/commands/login/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/login/index.ts)_
891
938
 
892
939
  ## `hereya logout`
893
940
 
@@ -904,7 +951,7 @@ EXAMPLES
904
951
  $ hereya logout
905
952
  ```
906
953
 
907
- _See code: [src/commands/logout/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/logout/index.ts)_
954
+ _See code: [src/commands/logout/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/logout/index.ts)_
908
955
 
909
956
  ## `hereya provid PACKAGE`
910
957
 
@@ -932,7 +979,7 @@ EXAMPLES
932
979
  $ hereya provid hereya/postgres --workspace staging
933
980
  ```
934
981
 
935
- _See code: [src/commands/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/provid/index.ts)_
982
+ _See code: [src/commands/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/provid/index.ts)_
936
983
 
937
984
  ## `hereya publish`
938
985
 
@@ -955,7 +1002,7 @@ EXAMPLES
955
1002
  $ hereya publish --chdir=/path/to/package
956
1003
  ```
957
1004
 
958
- _See code: [src/commands/publish/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/publish/index.ts)_
1005
+ _See code: [src/commands/publish/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/publish/index.ts)_
959
1006
 
960
1007
  ## `hereya remove PACKAGE`
961
1008
 
@@ -983,7 +1030,7 @@ EXAMPLES
983
1030
  $ hereya remove cloudy/docker_postgres
984
1031
  ```
985
1032
 
986
- _See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/remove/index.ts)_
1033
+ _See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/remove/index.ts)_
987
1034
 
988
1035
  ## `hereya run CMD`
989
1036
 
@@ -1009,7 +1056,7 @@ EXAMPLES
1009
1056
  $ hereya run -w uat -- node index.js
1010
1057
  ```
1011
1058
 
1012
- _See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/run/index.ts)_
1059
+ _See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/run/index.ts)_
1013
1060
 
1014
1061
  ## `hereya search QUERY`
1015
1062
 
@@ -1040,7 +1087,7 @@ EXAMPLES
1040
1087
  $ hereya search database --json
1041
1088
  ```
1042
1089
 
1043
- _See code: [src/commands/search/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/search/index.ts)_
1090
+ _See code: [src/commands/search/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/search/index.ts)_
1044
1091
 
1045
1092
  ## `hereya unbootstrap INFRASTRUCTURETYPE`
1046
1093
 
@@ -1065,7 +1112,7 @@ EXAMPLES
1065
1112
  $ hereya unbootstrap local
1066
1113
  ```
1067
1114
 
1068
- _See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/unbootstrap/index.ts)_
1115
+ _See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/unbootstrap/index.ts)_
1069
1116
 
1070
1117
  ## `hereya undeploy`
1071
1118
 
@@ -1090,7 +1137,7 @@ EXAMPLES
1090
1137
  $ hereya undeploy
1091
1138
  ```
1092
1139
 
1093
- _See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/undeploy/index.ts)_
1140
+ _See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/undeploy/index.ts)_
1094
1141
 
1095
1142
  ## `hereya up`
1096
1143
 
@@ -1117,7 +1164,7 @@ EXAMPLES
1117
1164
  $ hereya up
1118
1165
  ```
1119
1166
 
1120
- _See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/up/index.ts)_
1167
+ _See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/up/index.ts)_
1121
1168
 
1122
1169
  ## `hereya workspace create NAME`
1123
1170
 
@@ -1142,7 +1189,7 @@ EXAMPLES
1142
1189
  $ hereya workspace create dev
1143
1190
  ```
1144
1191
 
1145
- _See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/create/index.ts)_
1192
+ _See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/create/index.ts)_
1146
1193
 
1147
1194
  ## `hereya workspace delete NAME`
1148
1195
 
@@ -1162,7 +1209,7 @@ EXAMPLES
1162
1209
  $ hereya workspace delete dev
1163
1210
  ```
1164
1211
 
1165
- _See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/delete/index.ts)_
1212
+ _See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/delete/index.ts)_
1166
1213
 
1167
1214
  ## `hereya workspace env [NAME]`
1168
1215
 
@@ -1188,7 +1235,7 @@ EXAMPLES
1188
1235
  $ hereya workspace env myEnv -w dev
1189
1236
  ```
1190
1237
 
1191
- _See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/env/index.ts)_
1238
+ _See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/env/index.ts)_
1192
1239
 
1193
1240
  ## `hereya workspace env set`
1194
1241
 
@@ -1212,7 +1259,7 @@ EXAMPLES
1212
1259
  $ hereya workspace env set -w my-workspace -n myVar -v my-value -i aws -s
1213
1260
  ```
1214
1261
 
1215
- _See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/env/set/index.ts)_
1262
+ _See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/env/set/index.ts)_
1216
1263
 
1217
1264
  ## `hereya workspace env unset`
1218
1265
 
@@ -1233,7 +1280,7 @@ EXAMPLES
1233
1280
  $ hereya workspace env unset -w my-workspace -n myVar
1234
1281
  ```
1235
1282
 
1236
- _See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/env/unset/index.ts)_
1283
+ _See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/env/unset/index.ts)_
1237
1284
 
1238
1285
  ## `hereya workspace executor install`
1239
1286
 
@@ -1252,7 +1299,7 @@ DESCRIPTION
1252
1299
  Install a remote executor into a workspace
1253
1300
  ```
1254
1301
 
1255
- _See code: [src/commands/workspace/executor/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/executor/install/index.ts)_
1302
+ _See code: [src/commands/workspace/executor/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/executor/install/index.ts)_
1256
1303
 
1257
1304
  ## `hereya workspace executor token`
1258
1305
 
@@ -1269,7 +1316,7 @@ DESCRIPTION
1269
1316
  Generate a workspace-scoped executor token for the remote executor
1270
1317
  ```
1271
1318
 
1272
- _See code: [src/commands/workspace/executor/token/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/executor/token/index.ts)_
1319
+ _See code: [src/commands/workspace/executor/token/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/executor/token/index.ts)_
1273
1320
 
1274
1321
  ## `hereya workspace executor uninstall`
1275
1322
 
@@ -1287,7 +1334,7 @@ DESCRIPTION
1287
1334
  Uninstall the remote executor from a workspace
1288
1335
  ```
1289
1336
 
1290
- _See code: [src/commands/workspace/executor/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/executor/uninstall/index.ts)_
1337
+ _See code: [src/commands/workspace/executor/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/executor/uninstall/index.ts)_
1291
1338
 
1292
1339
  ## `hereya workspace install PACKAGE`
1293
1340
 
@@ -1314,7 +1361,7 @@ EXAMPLES
1314
1361
  $ hereya workspace install hereya/aws-cognito
1315
1362
  ```
1316
1363
 
1317
- _See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/install/index.ts)_
1364
+ _See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/install/index.ts)_
1318
1365
 
1319
1366
  ## `hereya workspace list`
1320
1367
 
@@ -1338,7 +1385,7 @@ EXAMPLES
1338
1385
  $ hereya workspace list --org personal
1339
1386
  ```
1340
1387
 
1341
- _See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/list/index.ts)_
1388
+ _See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/list/index.ts)_
1342
1389
 
1343
1390
  ## `hereya workspace set-profile PROFILE`
1344
1391
 
@@ -1362,7 +1409,7 @@ EXAMPLES
1362
1409
  $ hereya workspace set-profile prod-profile -w production
1363
1410
  ```
1364
1411
 
1365
- _See code: [src/commands/workspace/set-profile/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/set-profile/index.ts)_
1412
+ _See code: [src/commands/workspace/set-profile/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/set-profile/index.ts)_
1366
1413
 
1367
1414
  ## `hereya workspace uninstall PACKAGE`
1368
1415
 
@@ -1389,5 +1436,5 @@ EXAMPLES
1389
1436
  $ hereya workspace uninstall hereya/aws-cognito
1390
1437
  ```
1391
1438
 
1392
- _See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.70.0/src/commands/workspace/uninstall/index.ts)_
1439
+ _See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.71.0/src/commands/workspace/uninstall/index.ts)_
1393
1440
  <!-- commandsstop -->
@@ -0,0 +1,14 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class DevenvProjectInit extends Command {
3
+ static args: {
4
+ project: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static examples: string[];
8
+ static flags: {
9
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ workspace: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ run(): Promise<void>;
13
+ protected spawnSsh(args: string[]): Promise<void>;
14
+ }
@@ -0,0 +1,94 @@
1
+ import { Args, Command, Flags } from '@oclif/core';
2
+ import { spawn } from 'node:child_process';
3
+ import { randomUUID } from 'node:crypto';
4
+ import fs from 'node:fs/promises';
5
+ import os from 'node:os';
6
+ import path from 'node:path';
7
+ import { getBackend } from '../../../../backend/index.js';
8
+ import { getExecutorForWorkspace } from '../../../../executor/context.js';
9
+ import { setKeyFilePermissions } from '../../../../lib/ssh-utils.js';
10
+ export default class DevenvProjectInit extends Command {
11
+ static args = {
12
+ project: Args.string({
13
+ description: 'project name',
14
+ required: true,
15
+ }),
16
+ };
17
+ static description = 'Initialize a project on a remote dev environment.';
18
+ static examples = [
19
+ '<%= config.bin %> <%= command.id %> my-app -w my-workspace',
20
+ ];
21
+ static flags = {
22
+ force: Flags.boolean({
23
+ char: 'f',
24
+ default: false,
25
+ description: 'continue even if folder already exists',
26
+ }),
27
+ workspace: Flags.string({
28
+ char: 'w',
29
+ description: 'name of the workspace',
30
+ required: true,
31
+ }),
32
+ };
33
+ async run() {
34
+ const { args, flags } = await this.parse(DevenvProjectInit);
35
+ const { project } = args;
36
+ const { force, workspace } = flags;
37
+ const backend = await getBackend();
38
+ const getWorkspaceEnvOutput = await backend.getWorkspaceEnv({ workspace });
39
+ if (!getWorkspaceEnvOutput.success) {
40
+ this.error(getWorkspaceEnvOutput.reason);
41
+ }
42
+ let { env } = getWorkspaceEnvOutput;
43
+ const executor$ = await getExecutorForWorkspace(workspace);
44
+ if (!executor$.success) {
45
+ this.error(executor$.reason);
46
+ }
47
+ const { executor } = executor$;
48
+ env = await executor.resolveEnvValues({ env });
49
+ const sshHost = env.devEnvSshHost;
50
+ const sshPrivateKey = env.devEnvSshPrivateKey;
51
+ const sshUser = env.devEnvSshUser;
52
+ const sshHostDns = env.devEnvSshHostDns;
53
+ if (!sshHost || !sshPrivateKey || !sshUser) {
54
+ this.error('devEnvSshHost, devEnvSshPrivateKey, and devEnvSshUser must be set in the workspace environment');
55
+ }
56
+ const host = sshHostDns || sshHost;
57
+ const tempKeyPath = path.join(os.tmpdir(), `hereya-ssh-${randomUUID()}`);
58
+ try {
59
+ await fs.writeFile(tempKeyPath, sshPrivateKey);
60
+ await setKeyFilePermissions(tempKeyPath);
61
+ const remoteScript = force
62
+ ? `mkdir -p ~/${project} && cd ~/${project} && hereya init ${project} -w ${workspace}`
63
+ : `if [ -d ~/${project} ]; then echo "ERROR: Folder ~/${project} already exists. Use --force to continue." && exit 1; fi && mkdir -p ~/${project} && cd ~/${project} && hereya init ${project} -w ${workspace}`;
64
+ const sshArgs = ['-i', tempKeyPath, '-o', 'StrictHostKeyChecking=no', `${sshUser}@${host}`, remoteScript];
65
+ await this.spawnSsh(sshArgs);
66
+ }
67
+ finally {
68
+ try {
69
+ await fs.unlink(tempKeyPath);
70
+ }
71
+ catch {
72
+ // Ignore cleanup errors
73
+ }
74
+ }
75
+ }
76
+ spawnSsh(args) {
77
+ return new Promise((resolve, reject) => {
78
+ const child = spawn('ssh', args, {
79
+ stdio: 'inherit',
80
+ });
81
+ child.on('close', (code) => {
82
+ if (code === 0) {
83
+ resolve();
84
+ }
85
+ else {
86
+ reject(new Error(`SSH exited with code ${code}`));
87
+ }
88
+ });
89
+ child.on('error', (err) => {
90
+ reject(err);
91
+ });
92
+ });
93
+ }
94
+ }
@@ -0,0 +1,10 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class DevenvUninstall 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,115 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { Listr, ListrLogger, ListrLogLevels } from 'listr2';
3
+ import { getBackend } from '../../../backend/index.js';
4
+ import { getExecutor } from '../../../executor/index.js';
5
+ import { getLogger, getLogPath, isDebug, setDebug } from '../../../lib/log.js';
6
+ import { delay } from '../../../lib/shell.js';
7
+ export default class DevenvUninstall extends Command {
8
+ static description = 'Destroy and remove the dev environment from a workspace.';
9
+ static examples = ['<%= config.bin %> <%= command.id %> -w my-workspace'];
10
+ static flags = {
11
+ debug: Flags.boolean({
12
+ default: false,
13
+ description: 'enable debug mode',
14
+ }),
15
+ workspace: Flags.string({
16
+ char: 'w',
17
+ description: 'name of the workspace to remove the dev environment from',
18
+ required: true,
19
+ }),
20
+ };
21
+ async run() {
22
+ const { flags } = await this.parse(DevenvUninstall);
23
+ setDebug(flags.debug);
24
+ const pkg = 'hereya/dev-env-aws';
25
+ const myLogger = new ListrLogger({ useIcons: false });
26
+ const task = new Listr([
27
+ {
28
+ async task(ctx, task) {
29
+ return task.newListr([
30
+ {
31
+ async task(ctx) {
32
+ const backend = await getBackend();
33
+ const loadWorkspaceOutput = await backend.getWorkspace(flags.workspace);
34
+ if (!loadWorkspaceOutput.found || loadWorkspaceOutput.hasError) {
35
+ throw new Error(`Workspace ${flags.workspace} not found`);
36
+ }
37
+ if (loadWorkspaceOutput.workspace.mirrorOf) {
38
+ throw new Error(`Workspace ${flags.workspace} is a mirror of ${loadWorkspaceOutput.workspace.mirrorOf}`);
39
+ }
40
+ const packageInfo = loadWorkspaceOutput.workspace.packages?.[pkg];
41
+ if (!packageInfo) {
42
+ throw new Error(`Package ${pkg} not found in workspace ${flags.workspace}`);
43
+ }
44
+ const installedVersion = packageInfo.version || '';
45
+ ctx.packageWithInstalledVersion = installedVersion ? `${pkg}@${installedVersion}` : pkg;
46
+ ctx.workspace = loadWorkspaceOutput;
47
+ await delay(500);
48
+ },
49
+ title: `Loading workspace ${flags.workspace}`,
50
+ },
51
+ {
52
+ async task(ctx) {
53
+ const parameters = {
54
+ ...ctx.workspace.workspace.packages?.[pkg].parameters,
55
+ };
56
+ ctx.parameters = parameters;
57
+ await delay(500);
58
+ },
59
+ title: 'Resolving parameters',
60
+ },
61
+ {
62
+ rendererOptions: {
63
+ persistentOutput: isDebug(),
64
+ },
65
+ async task(ctx, task) {
66
+ const executor$ = getExecutor();
67
+ if (!executor$.success) {
68
+ throw new Error(executor$.reason);
69
+ }
70
+ const { executor } = executor$;
71
+ const destroyOutput = await executor.destroy({
72
+ logger: getLogger(task),
73
+ package: ctx.packageWithInstalledVersion,
74
+ parameters: ctx.parameters,
75
+ workspace: flags.workspace,
76
+ });
77
+ if (!destroyOutput.success) {
78
+ throw new Error(destroyOutput.reason);
79
+ }
80
+ ctx.destroyOutput = destroyOutput;
81
+ },
82
+ title: 'Destroying dev environment',
83
+ },
84
+ {
85
+ async task(ctx) {
86
+ const { env, metadata } = ctx.destroyOutput;
87
+ const backend = await getBackend();
88
+ const output = await backend.removePackageFromWorkspace({
89
+ env,
90
+ infra: metadata.infra,
91
+ package: ctx.destroyOutput.pkgName,
92
+ workspace: flags.workspace,
93
+ });
94
+ if (!output.success) {
95
+ throw new Error(output.reason);
96
+ }
97
+ },
98
+ title: 'Removing exported environment variables from workspace',
99
+ },
100
+ ]);
101
+ },
102
+ title: `Uninstalling dev environment from workspace ${flags.workspace}`,
103
+ },
104
+ ], { concurrent: false, rendererOptions: { collapseSubtasks: !isDebug() } });
105
+ try {
106
+ await task.run();
107
+ myLogger.log(ListrLogLevels.COMPLETED, `Dev environment uninstalled successfully from workspace ${flags.workspace}`);
108
+ }
109
+ catch (error) {
110
+ this.error(`${error.message}
111
+
112
+ See ${getLogPath()} for more details`);
113
+ }
114
+ }
115
+ }
@@ -496,30 +496,6 @@
496
496
  "index.js"
497
497
  ]
498
498
  },
499
- "logout": {
500
- "aliases": [],
501
- "args": {},
502
- "description": "Logout from Hereya Cloud",
503
- "examples": [
504
- "<%= config.bin %> <%= command.id %>"
505
- ],
506
- "flags": {},
507
- "hasDynamicHelp": false,
508
- "hiddenAliases": [],
509
- "id": "logout",
510
- "pluginAlias": "hereya-cli",
511
- "pluginName": "hereya-cli",
512
- "pluginType": "core",
513
- "strict": true,
514
- "enableJsonFlag": false,
515
- "isESM": true,
516
- "relativePath": [
517
- "dist",
518
- "commands",
519
- "logout",
520
- "index.js"
521
- ]
522
- },
523
499
  "login": {
524
500
  "aliases": [],
525
501
  "args": {
@@ -564,6 +540,30 @@
564
540
  "index.js"
565
541
  ]
566
542
  },
543
+ "logout": {
544
+ "aliases": [],
545
+ "args": {},
546
+ "description": "Logout from Hereya Cloud",
547
+ "examples": [
548
+ "<%= config.bin %> <%= command.id %>"
549
+ ],
550
+ "flags": {},
551
+ "hasDynamicHelp": false,
552
+ "hiddenAliases": [],
553
+ "id": "logout",
554
+ "pluginAlias": "hereya-cli",
555
+ "pluginName": "hereya-cli",
556
+ "pluginType": "core",
557
+ "strict": true,
558
+ "enableJsonFlag": false,
559
+ "isESM": true,
560
+ "relativePath": [
561
+ "dist",
562
+ "commands",
563
+ "logout",
564
+ "index.js"
565
+ ]
566
+ },
567
567
  "provid": {
568
568
  "aliases": [],
569
569
  "args": {
@@ -1218,6 +1218,47 @@
1218
1218
  "index.js"
1219
1219
  ]
1220
1220
  },
1221
+ "devenv:uninstall": {
1222
+ "aliases": [],
1223
+ "args": {},
1224
+ "description": "Destroy and remove the dev environment from a workspace.",
1225
+ "examples": [
1226
+ "<%= config.bin %> <%= command.id %> -w my-workspace"
1227
+ ],
1228
+ "flags": {
1229
+ "debug": {
1230
+ "description": "enable debug mode",
1231
+ "name": "debug",
1232
+ "allowNo": false,
1233
+ "type": "boolean"
1234
+ },
1235
+ "workspace": {
1236
+ "char": "w",
1237
+ "description": "name of the workspace to remove the dev environment from",
1238
+ "name": "workspace",
1239
+ "required": true,
1240
+ "hasDynamicHelp": false,
1241
+ "multiple": false,
1242
+ "type": "option"
1243
+ }
1244
+ },
1245
+ "hasDynamicHelp": false,
1246
+ "hiddenAliases": [],
1247
+ "id": "devenv:uninstall",
1248
+ "pluginAlias": "hereya-cli",
1249
+ "pluginName": "hereya-cli",
1250
+ "pluginType": "core",
1251
+ "strict": true,
1252
+ "enableJsonFlag": false,
1253
+ "isESM": true,
1254
+ "relativePath": [
1255
+ "dist",
1256
+ "commands",
1257
+ "devenv",
1258
+ "uninstall",
1259
+ "index.js"
1260
+ ]
1261
+ },
1221
1262
  "docker:run": {
1222
1263
  "aliases": [],
1223
1264
  "args": {
@@ -2186,6 +2227,55 @@
2186
2227
  "index.js"
2187
2228
  ]
2188
2229
  },
2230
+ "devenv:project:init": {
2231
+ "aliases": [],
2232
+ "args": {
2233
+ "project": {
2234
+ "description": "project name",
2235
+ "name": "project",
2236
+ "required": true
2237
+ }
2238
+ },
2239
+ "description": "Initialize a project on a remote dev environment.",
2240
+ "examples": [
2241
+ "<%= config.bin %> <%= command.id %> my-app -w my-workspace"
2242
+ ],
2243
+ "flags": {
2244
+ "force": {
2245
+ "char": "f",
2246
+ "description": "continue even if folder already exists",
2247
+ "name": "force",
2248
+ "allowNo": false,
2249
+ "type": "boolean"
2250
+ },
2251
+ "workspace": {
2252
+ "char": "w",
2253
+ "description": "name of the workspace",
2254
+ "name": "workspace",
2255
+ "required": true,
2256
+ "hasDynamicHelp": false,
2257
+ "multiple": false,
2258
+ "type": "option"
2259
+ }
2260
+ },
2261
+ "hasDynamicHelp": false,
2262
+ "hiddenAliases": [],
2263
+ "id": "devenv:project:init",
2264
+ "pluginAlias": "hereya-cli",
2265
+ "pluginName": "hereya-cli",
2266
+ "pluginType": "core",
2267
+ "strict": true,
2268
+ "enableJsonFlag": false,
2269
+ "isESM": true,
2270
+ "relativePath": [
2271
+ "dist",
2272
+ "commands",
2273
+ "devenv",
2274
+ "project",
2275
+ "init",
2276
+ "index.js"
2277
+ ]
2278
+ },
2189
2279
  "flow:docker:run": {
2190
2280
  "aliases": [],
2191
2281
  "args": {
@@ -2488,5 +2578,5 @@
2488
2578
  ]
2489
2579
  }
2490
2580
  },
2491
- "version": "0.70.0"
2581
+ "version": "0.71.0"
2492
2582
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hereya-cli",
3
3
  "description": "Infrastructure as Package",
4
- "version": "0.70.0",
4
+ "version": "0.71.0",
5
5
  "author": "Hereya Developers",
6
6
  "bin": {
7
7
  "hereya": "./bin/run.js"