hereya-cli 0.60.1 → 0.62.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
@@ -20,7 +20,7 @@ $ npm install -g hereya-cli
20
20
  $ hereya COMMAND
21
21
  running command...
22
22
  $ hereya (--version)
23
- hereya-cli/0.60.1 linux-x64 node-v24.13.0
23
+ hereya-cli/0.62.0 linux-x64 node-v24.13.0
24
24
  $ hereya --help [COMMAND]
25
25
  USAGE
26
26
  $ hereya COMMAND
@@ -44,6 +44,7 @@ USAGE
44
44
  * [`hereya flow add PACKAGE`](#hereya-flow-add-package)
45
45
  * [`hereya flow down`](#hereya-flow-down)
46
46
  * [`hereya flow env [NAME]`](#hereya-flow-env-name)
47
+ * [`hereya flow provid PACKAGE`](#hereya-flow-provid-package)
47
48
  * [`hereya flow remove PACKAGE`](#hereya-flow-remove-package)
48
49
  * [`hereya flow run CMD`](#hereya-flow-run-cmd)
49
50
  * [`hereya flow up`](#hereya-flow-up)
@@ -52,6 +53,7 @@ USAGE
52
53
  * [`hereya init PROJECT`](#hereya-init-project)
53
54
  * [`hereya login [URL]`](#hereya-login-url)
54
55
  * [`hereya logout`](#hereya-logout)
56
+ * [`hereya provid PACKAGE`](#hereya-provid-package)
55
57
  * [`hereya publish`](#hereya-publish)
56
58
  * [`hereya remove PACKAGE`](#hereya-remove-package)
57
59
  * [`hereya run CMD`](#hereya-run-cmd)
@@ -101,7 +103,7 @@ EXAMPLES
101
103
  $ hereya add cloudy/docker_postgres
102
104
  ```
103
105
 
104
- _See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/add/index.ts)_
106
+ _See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/add/index.ts)_
105
107
 
106
108
  ## `hereya bootstrap INFRASTRUCTURETYPE`
107
109
 
@@ -126,7 +128,7 @@ EXAMPLES
126
128
  $ hereya bootstrap local
127
129
  ```
128
130
 
129
- _See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/bootstrap/index.ts)_
131
+ _See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/bootstrap/index.ts)_
130
132
 
131
133
  ## `hereya config export-backend [FILE]`
132
134
 
@@ -148,7 +150,7 @@ EXAMPLES
148
150
  $ hereya config export-backend ./path/to/export.json
149
151
  ```
150
152
 
151
- _See code: [src/commands/config/export-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/config/export-backend/index.ts)_
153
+ _See code: [src/commands/config/export-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/config/export-backend/index.ts)_
152
154
 
153
155
  ## `hereya config get-backend`
154
156
 
@@ -165,7 +167,7 @@ EXAMPLES
165
167
  $ hereya config get-backend
166
168
  ```
167
169
 
168
- _See code: [src/commands/config/get-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/config/get-backend/index.ts)_
170
+ _See code: [src/commands/config/get-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/config/get-backend/index.ts)_
169
171
 
170
172
  ## `hereya config import-backend FILE`
171
173
 
@@ -185,7 +187,7 @@ EXAMPLES
185
187
  $ hereya config import-backend ./path/to/cloud-backend.json
186
188
  ```
187
189
 
188
- _See code: [src/commands/config/import-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/config/import-backend/index.ts)_
190
+ _See code: [src/commands/config/import-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/config/import-backend/index.ts)_
189
191
 
190
192
  ## `hereya config use-backend TYPE`
191
193
 
@@ -207,7 +209,7 @@ EXAMPLES
207
209
  $ hereya config use-backend local
208
210
  ```
209
211
 
210
- _See code: [src/commands/config/use-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/config/use-backend/index.ts)_
212
+ _See code: [src/commands/config/use-backend/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/config/use-backend/index.ts)_
211
213
 
212
214
  ## `hereya delete-state`
213
215
 
@@ -233,7 +235,7 @@ EXAMPLES
233
235
  $ hereya delete-state --workspace staging
234
236
  ```
235
237
 
236
- _See code: [src/commands/delete-state/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/delete-state/index.ts)_
238
+ _See code: [src/commands/delete-state/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/delete-state/index.ts)_
237
239
 
238
240
  ## `hereya deploy`
239
241
 
@@ -258,7 +260,7 @@ EXAMPLES
258
260
  $ hereya deploy
259
261
  ```
260
262
 
261
- _See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/deploy/index.ts)_
263
+ _See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/deploy/index.ts)_
262
264
 
263
265
  ## `hereya doc PACKAGE`
264
266
 
@@ -291,7 +293,7 @@ EXAMPLES
291
293
  $ hereya doc my-package --no-doc
292
294
  ```
293
295
 
294
- _See code: [src/commands/doc/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/doc/index.ts)_
296
+ _See code: [src/commands/doc/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/doc/index.ts)_
295
297
 
296
298
  ## `hereya down`
297
299
 
@@ -318,7 +320,7 @@ EXAMPLES
318
320
  $ hereya down
319
321
  ```
320
322
 
321
- _See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/down/index.ts)_
323
+ _See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/down/index.ts)_
322
324
 
323
325
  ## `hereya env [NAME]`
324
326
 
@@ -349,7 +351,7 @@ EXAMPLES
349
351
  $ hereya env -w dev -l
350
352
  ```
351
353
 
352
- _See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/env/index.ts)_
354
+ _See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/env/index.ts)_
353
355
 
354
356
  ## `hereya env set [NAME]`
355
357
 
@@ -376,7 +378,7 @@ EXAMPLES
376
378
  $ hereya env set FOO -v bar -w dev
377
379
  ```
378
380
 
379
- _See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/env/set/index.ts)_
381
+ _See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/env/set/index.ts)_
380
382
 
381
383
  ## `hereya flow add PACKAGE`
382
384
 
@@ -414,7 +416,7 @@ EXAMPLES
414
416
  $ hereya flow add cloudy/docker_postgres -p DB_NAME=mydb -p DB_USER=admin
415
417
  ```
416
418
 
417
- _See code: [src/commands/flow/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/flow/add/index.ts)_
419
+ _See code: [src/commands/flow/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/flow/add/index.ts)_
418
420
 
419
421
  ## `hereya flow down`
420
422
 
@@ -448,7 +450,7 @@ EXAMPLES
448
450
  $ hereya flow down --pin
449
451
  ```
450
452
 
451
- _See code: [src/commands/flow/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/flow/down/index.ts)_
453
+ _See code: [src/commands/flow/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/flow/down/index.ts)_
452
454
 
453
455
  ## `hereya flow env [NAME]`
454
456
 
@@ -482,7 +484,36 @@ EXAMPLES
482
484
  $ hereya flow env -l
483
485
  ```
484
486
 
485
- _See code: [src/commands/flow/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/flow/env/index.ts)_
487
+ _See code: [src/commands/flow/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/flow/env/index.ts)_
488
+
489
+ ## `hereya flow provid PACKAGE`
490
+
491
+ Display the provisioning ID for a package in a git branch-based workspace
492
+
493
+ ```
494
+ USAGE
495
+ $ hereya flow provid PACKAGE [-C <value>] [--pin] [--profile <value>]
496
+
497
+ ARGUMENTS
498
+ PACKAGE Package name (e.g., hereya/postgres)
499
+
500
+ FLAGS
501
+ -C, --chdir=<value> Project root directory
502
+ --pin Append git commit SHA to workspace name for commit-specific isolation
503
+ --profile=<value> Profile to use for the workspace (will be appended to workspace name)
504
+
505
+ DESCRIPTION
506
+ Display the provisioning ID for a package in a git branch-based workspace
507
+
508
+ EXAMPLES
509
+ $ hereya flow provid hereya/postgres
510
+
511
+ $ hereya flow provid hereya/postgres --profile staging
512
+
513
+ $ hereya flow provid hereya/postgres --pin
514
+ ```
515
+
516
+ _See code: [src/commands/flow/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/flow/provid/index.ts)_
486
517
 
487
518
  ## `hereya flow remove PACKAGE`
488
519
 
@@ -512,7 +543,7 @@ EXAMPLES
512
543
  $ hereya flow remove cloudy/docker_postgres --profile staging
513
544
  ```
514
545
 
515
- _See code: [src/commands/flow/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/flow/remove/index.ts)_
546
+ _See code: [src/commands/flow/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/flow/remove/index.ts)_
516
547
 
517
548
  ## `hereya flow run CMD`
518
549
 
@@ -541,7 +572,7 @@ EXAMPLES
541
572
  $ hereya flow run --pin -- npm test
542
573
  ```
543
574
 
544
- _See code: [src/commands/flow/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/flow/run/index.ts)_
575
+ _See code: [src/commands/flow/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/flow/run/index.ts)_
545
576
 
546
577
  ## `hereya flow up`
547
578
 
@@ -575,7 +606,7 @@ EXAMPLES
575
606
  $ hereya flow up --pin
576
607
  ```
577
608
 
578
- _See code: [src/commands/flow/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/flow/up/index.ts)_
609
+ _See code: [src/commands/flow/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/flow/up/index.ts)_
579
610
 
580
611
  ## `hereya help [COMMAND]`
581
612
 
@@ -632,7 +663,7 @@ EXAMPLES
632
663
  $ hereya import org/my-package -f state.tfstate -w my-workspace
633
664
  ```
634
665
 
635
- _See code: [src/commands/import/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/import/index.ts)_
666
+ _See code: [src/commands/import/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/import/index.ts)_
636
667
 
637
668
  ## `hereya init PROJECT`
638
669
 
@@ -658,7 +689,7 @@ EXAMPLES
658
689
  $ hereya init myProject -w=defaultWorkspace --chdir=./myProject
659
690
  ```
660
691
 
661
- _See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/init/index.ts)_
692
+ _See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/init/index.ts)_
662
693
 
663
694
  ## `hereya login [URL]`
664
695
 
@@ -687,7 +718,7 @@ EXAMPLES
687
718
  $ hereya login --token=your-token https://cloud.hereya.dev
688
719
  ```
689
720
 
690
- _See code: [src/commands/login/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/login/index.ts)_
721
+ _See code: [src/commands/login/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/login/index.ts)_
691
722
 
692
723
  ## `hereya logout`
693
724
 
@@ -704,7 +735,35 @@ EXAMPLES
704
735
  $ hereya logout
705
736
  ```
706
737
 
707
- _See code: [src/commands/logout/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/logout/index.ts)_
738
+ _See code: [src/commands/logout/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/logout/index.ts)_
739
+
740
+ ## `hereya provid PACKAGE`
741
+
742
+ Display the provisioning ID for a package
743
+
744
+ ```
745
+ USAGE
746
+ $ hereya provid PACKAGE [-C <value>] [-w <value>]
747
+
748
+ ARGUMENTS
749
+ PACKAGE Package name (e.g., hereya/postgres)
750
+
751
+ FLAGS
752
+ -C, --chdir=<value> Project root directory
753
+ -w, --workspace=<value> Name of the workspace
754
+
755
+ DESCRIPTION
756
+ Display the provisioning ID for a package
757
+
758
+ EXAMPLES
759
+ $ hereya provid hereya/postgres
760
+
761
+ $ hereya provid hereya/postgres -w dev
762
+
763
+ $ hereya provid hereya/postgres --workspace staging
764
+ ```
765
+
766
+ _See code: [src/commands/provid/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/provid/index.ts)_
708
767
 
709
768
  ## `hereya publish`
710
769
 
@@ -727,7 +786,7 @@ EXAMPLES
727
786
  $ hereya publish --chdir=/path/to/package
728
787
  ```
729
788
 
730
- _See code: [src/commands/publish/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/publish/index.ts)_
789
+ _See code: [src/commands/publish/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/publish/index.ts)_
731
790
 
732
791
  ## `hereya remove PACKAGE`
733
792
 
@@ -755,7 +814,7 @@ EXAMPLES
755
814
  $ hereya remove cloudy/docker_postgres
756
815
  ```
757
816
 
758
- _See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/remove/index.ts)_
817
+ _See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/remove/index.ts)_
759
818
 
760
819
  ## `hereya run CMD`
761
820
 
@@ -781,7 +840,7 @@ EXAMPLES
781
840
  $ hereya run -w uat -- node index.js
782
841
  ```
783
842
 
784
- _See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/run/index.ts)_
843
+ _See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/run/index.ts)_
785
844
 
786
845
  ## `hereya search QUERY`
787
846
 
@@ -812,7 +871,7 @@ EXAMPLES
812
871
  $ hereya search database --json
813
872
  ```
814
873
 
815
- _See code: [src/commands/search/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/search/index.ts)_
874
+ _See code: [src/commands/search/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/search/index.ts)_
816
875
 
817
876
  ## `hereya unbootstrap INFRASTRUCTURETYPE`
818
877
 
@@ -837,7 +896,7 @@ EXAMPLES
837
896
  $ hereya unbootstrap local
838
897
  ```
839
898
 
840
- _See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/unbootstrap/index.ts)_
899
+ _See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/unbootstrap/index.ts)_
841
900
 
842
901
  ## `hereya undeploy`
843
902
 
@@ -862,7 +921,7 @@ EXAMPLES
862
921
  $ hereya undeploy
863
922
  ```
864
923
 
865
- _See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/undeploy/index.ts)_
924
+ _See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/undeploy/index.ts)_
866
925
 
867
926
  ## `hereya up`
868
927
 
@@ -889,7 +948,7 @@ EXAMPLES
889
948
  $ hereya up
890
949
  ```
891
950
 
892
- _See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/up/index.ts)_
951
+ _See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/up/index.ts)_
893
952
 
894
953
  ## `hereya workspace create NAME`
895
954
 
@@ -914,7 +973,7 @@ EXAMPLES
914
973
  $ hereya workspace create dev
915
974
  ```
916
975
 
917
- _See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/create/index.ts)_
976
+ _See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/create/index.ts)_
918
977
 
919
978
  ## `hereya workspace delete NAME`
920
979
 
@@ -934,7 +993,7 @@ EXAMPLES
934
993
  $ hereya workspace delete dev
935
994
  ```
936
995
 
937
- _See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/delete/index.ts)_
996
+ _See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/delete/index.ts)_
938
997
 
939
998
  ## `hereya workspace env [NAME]`
940
999
 
@@ -960,7 +1019,7 @@ EXAMPLES
960
1019
  $ hereya workspace env myEnv -w dev
961
1020
  ```
962
1021
 
963
- _See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/env/index.ts)_
1022
+ _See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/env/index.ts)_
964
1023
 
965
1024
  ## `hereya workspace env set`
966
1025
 
@@ -984,7 +1043,7 @@ EXAMPLES
984
1043
  $ hereya workspace env set -w my-workspace -n myVar -v my-value -i aws -s
985
1044
  ```
986
1045
 
987
- _See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/env/set/index.ts)_
1046
+ _See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/env/set/index.ts)_
988
1047
 
989
1048
  ## `hereya workspace env unset`
990
1049
 
@@ -1005,7 +1064,7 @@ EXAMPLES
1005
1064
  $ hereya workspace env unset -w my-workspace -n myVar
1006
1065
  ```
1007
1066
 
1008
- _See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/env/unset/index.ts)_
1067
+ _See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/env/unset/index.ts)_
1009
1068
 
1010
1069
  ## `hereya workspace install PACKAGE`
1011
1070
 
@@ -1032,7 +1091,7 @@ EXAMPLES
1032
1091
  $ hereya workspace install hereya/aws-cognito
1033
1092
  ```
1034
1093
 
1035
- _See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/install/index.ts)_
1094
+ _See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/install/index.ts)_
1036
1095
 
1037
1096
  ## `hereya workspace list`
1038
1097
 
@@ -1049,7 +1108,7 @@ EXAMPLES
1049
1108
  $ hereya workspace list
1050
1109
  ```
1051
1110
 
1052
- _See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/list/index.ts)_
1111
+ _See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/list/index.ts)_
1053
1112
 
1054
1113
  ## `hereya workspace set-profile PROFILE`
1055
1114
 
@@ -1073,7 +1132,7 @@ EXAMPLES
1073
1132
  $ hereya workspace set-profile prod-profile -w production
1074
1133
  ```
1075
1134
 
1076
- _See code: [src/commands/workspace/set-profile/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/set-profile/index.ts)_
1135
+ _See code: [src/commands/workspace/set-profile/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/set-profile/index.ts)_
1077
1136
 
1078
1137
  ## `hereya workspace uninstall PACKAGE`
1079
1138
 
@@ -1100,5 +1159,5 @@ EXAMPLES
1100
1159
  $ hereya workspace uninstall hereya/aws-cognito
1101
1160
  ```
1102
1161
 
1103
- _See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.60.1/src/commands/workspace/uninstall/index.ts)_
1162
+ _See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.62.0/src/commands/workspace/uninstall/index.ts)_
1104
1163
  <!-- commandsstop -->
@@ -0,0 +1,14 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class FlowProvid extends Command {
3
+ static args: {
4
+ package: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static examples: string[];
8
+ static flags: {
9
+ chdir: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ pin: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,64 @@
1
+ import { Args, Command, Flags } from '@oclif/core';
2
+ import { getBackend } from '../../../backend/index.js';
3
+ import { getConfigManager } from '../../../lib/config/index.js';
4
+ import { buildFlowWorkspaceName } from '../../../lib/flow-utils.js';
5
+ import { validateFlowCommand } from '../../../lib/workspace-validation.js';
6
+ import Provid from '../../provid/index.js';
7
+ export default class FlowProvid extends Command {
8
+ static args = {
9
+ package: Args.string({
10
+ description: 'Package name (e.g., hereya/postgres)',
11
+ required: true,
12
+ }),
13
+ };
14
+ static description = 'Display the provisioning ID for a package in a git branch-based workspace';
15
+ static examples = [
16
+ '<%= config.bin %> <%= command.id %> hereya/postgres',
17
+ '<%= config.bin %> <%= command.id %> hereya/postgres --profile staging',
18
+ '<%= config.bin %> <%= command.id %> hereya/postgres --pin',
19
+ ];
20
+ static flags = {
21
+ chdir: Flags.string({
22
+ char: 'C',
23
+ description: 'Project root directory',
24
+ required: false,
25
+ }),
26
+ pin: Flags.boolean({
27
+ description: 'Append git commit SHA to workspace name for commit-specific isolation',
28
+ required: false,
29
+ }),
30
+ profile: Flags.string({
31
+ description: 'Profile to use for the workspace (will be appended to workspace name)',
32
+ required: false,
33
+ }),
34
+ };
35
+ async run() {
36
+ const { args, flags } = await this.parse(FlowProvid);
37
+ const projectRootDir = flags.chdir || process.env.HEREYA_PROJECT_ROOT_DIR;
38
+ // Load project config
39
+ const configManager = getConfigManager();
40
+ const loadConfigOutput = await configManager.loadConfig({ projectRootDir });
41
+ if (!loadConfigOutput.found) {
42
+ this.error("Project not initialized. Run 'hereya init' first.");
43
+ }
44
+ // Build workspace name using flow utility
45
+ const workspaceName = await buildFlowWorkspaceName({
46
+ pin: flags.pin,
47
+ profile: flags.profile,
48
+ project: loadConfigOutput.config.project,
49
+ projectRootDir,
50
+ });
51
+ // Validate that if workspace exists, it's not a deployment workspace
52
+ const backend = await getBackend();
53
+ const validation = await validateFlowCommand(workspaceName, backend);
54
+ if (!validation.isValid) {
55
+ this.error(validation.message);
56
+ }
57
+ // Build args for provid command
58
+ const providArgs = [args.package, '--workspace', workspaceName];
59
+ // Pass through chdir flag
60
+ if (flags.chdir)
61
+ providArgs.push('--chdir', flags.chdir);
62
+ await Provid.run(providArgs);
63
+ }
64
+ }
@@ -0,0 +1,14 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Provid extends Command {
3
+ static args: {
4
+ package: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ };
6
+ static description: string;
7
+ static examples: string[];
8
+ static flags: {
9
+ chdir: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ workspace: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ run(): Promise<void>;
13
+ private findPackageVersion;
14
+ }
@@ -0,0 +1,104 @@
1
+ import { Args, Command, Flags } from '@oclif/core';
2
+ import fs from 'node:fs/promises';
3
+ import { getBackend } from '../../backend/index.js';
4
+ import { getPackageDownloadPath } from '../../infrastructure/common.js';
5
+ import { getProvisioningLogicalId } from '../../infrastructure/index.js';
6
+ import { getConfigManager } from '../../lib/config/index.js';
7
+ import { getPackageCanonicalName } from '../../lib/package/index.js';
8
+ export default class Provid extends Command {
9
+ static args = {
10
+ package: Args.string({
11
+ description: 'Package name (e.g., hereya/postgres)',
12
+ required: true,
13
+ }),
14
+ };
15
+ static description = 'Display the provisioning ID for a package';
16
+ static examples = [
17
+ '<%= config.bin %> <%= command.id %> hereya/postgres',
18
+ '<%= config.bin %> <%= command.id %> hereya/postgres -w dev',
19
+ '<%= config.bin %> <%= command.id %> hereya/postgres --workspace staging',
20
+ ];
21
+ static flags = {
22
+ chdir: Flags.string({
23
+ char: 'C',
24
+ description: 'Project root directory',
25
+ required: false,
26
+ }),
27
+ workspace: Flags.string({
28
+ char: 'w',
29
+ description: 'Name of the workspace',
30
+ required: false,
31
+ }),
32
+ };
33
+ async run() {
34
+ const { args, flags } = await this.parse(Provid);
35
+ const projectRootDir = flags.chdir || process.env.HEREYA_PROJECT_ROOT_DIR;
36
+ const configManager = getConfigManager();
37
+ const loadConfigOutput = await configManager.loadConfig({ projectRootDir });
38
+ if (!loadConfigOutput.found) {
39
+ this.warn(`Project not initialized. Run 'hereya init' first.`);
40
+ return;
41
+ }
42
+ const { config } = loadConfigOutput;
43
+ let { workspace } = flags;
44
+ if (!workspace) {
45
+ workspace = config.workspace;
46
+ }
47
+ if (!workspace) {
48
+ this.error('You must specify a workspace with --workspace or set a default workspace in hereya.yaml');
49
+ }
50
+ const { project } = config;
51
+ const packageName = args.package;
52
+ const packageCanonicalName = getPackageCanonicalName(packageName);
53
+ const logicalId = getProvisioningLogicalId({ pkg: packageName, project, workspace });
54
+ const backend = await getBackend();
55
+ const provisioningIdResult = await backend.getProvisioningId({
56
+ logicalId,
57
+ packageCanonicalName,
58
+ project,
59
+ workspace,
60
+ });
61
+ if (!provisioningIdResult.success) {
62
+ this.error(provisioningIdResult.reason);
63
+ }
64
+ // Get version from config (packages, deploy, or onDeploy sections)
65
+ const version = this.findPackageVersion(config, packageName);
66
+ const packagePath = await getPackageDownloadPath({ id: provisioningIdResult.id, version });
67
+ this.log(`Package: ${packageName}`);
68
+ this.log(`Workspace: ${workspace}`);
69
+ this.log(`Project: ${project}`);
70
+ this.log(`Logical ID: ${logicalId}`);
71
+ this.log(`Provisioning ID: ${provisioningIdResult.id}`);
72
+ // Check if the package path exists locally
73
+ const pathExists = await fs.stat(packagePath).then(() => true).catch(() => false);
74
+ if (pathExists) {
75
+ this.log(`Package Path: ${packagePath}`);
76
+ }
77
+ else {
78
+ this.log(`Package Path: not found locally (provisioning may not have happened yet or occurred on a different computer)`);
79
+ }
80
+ }
81
+ findPackageVersion(config, packageName) {
82
+ // Check direct packages entry
83
+ if (config.packages?.[packageName]?.version) {
84
+ return config.packages[packageName].version;
85
+ }
86
+ // Check direct deploy entry
87
+ if (config.deploy?.[packageName]?.version) {
88
+ return config.deploy[packageName].version;
89
+ }
90
+ // Check onDeploy sections in packages
91
+ for (const pkg of Object.values(config.packages ?? {})) {
92
+ if (pkg.onDeploy?.pkg === packageName && pkg.onDeploy?.version) {
93
+ return pkg.onDeploy.version;
94
+ }
95
+ }
96
+ // Check onDeploy sections in deploy
97
+ for (const pkg of Object.values(config.deploy ?? {})) {
98
+ if (pkg.onDeploy?.pkg === packageName && pkg.onDeploy?.version) {
99
+ return pkg.onDeploy.version;
100
+ }
101
+ }
102
+ return undefined;
103
+ }
104
+ }
@@ -17,9 +17,10 @@ export type ApplyInput = {
17
17
  };
18
18
  id: string;
19
19
  infraConfig?: {
20
- terraformStateBucketName: string;
20
+ localStatePath?: string;
21
+ terraformStateBucketName?: string;
21
22
  terraformStateBucketRegion?: string;
22
- terraformStateLockTableName: string;
23
+ terraformStateLockTableName?: string;
23
24
  };
24
25
  logger?: Logger;
25
26
  parameters?: {
@@ -40,10 +41,11 @@ export type DestroyInput = ApplyInput;
40
41
  export type DestroyOutput = ApplyOutput;
41
42
  export type GetStateLocationInput = {
42
43
  id: string;
43
- infraConfig: {
44
- terraformStateBucketName: string;
44
+ infraConfig?: {
45
+ localStatePath?: string;
46
+ terraformStateBucketName?: string;
45
47
  terraformStateBucketRegion?: string;
46
- terraformStateLockTableName: string;
48
+ terraformStateLockTableName?: string;
47
49
  };
48
50
  };
49
51
  export type GetStateLocationOutput = {
@@ -51,6 +53,9 @@ export type GetStateLocationOutput = {
51
53
  key: string;
52
54
  region: string;
53
55
  success: true;
56
+ } | {
57
+ localPath: string;
58
+ success: true;
54
59
  } | {
55
60
  reason: string;
56
61
  success: false;
@@ -8,10 +8,24 @@ import { mapObject } from '../lib/object-utils.js';
8
8
  import { runShell } from '../lib/shell.js';
9
9
  export class Terraform {
10
10
  async apply(input) {
11
- if (input.infraConfig &&
11
+ if (input.infraConfig?.localStatePath) {
12
+ // Local backend
13
+ await fs.promises.mkdir(input.infraConfig.localStatePath, { recursive: true });
14
+ const backendConfig = `
15
+ terraform {
16
+ backend "local" {
17
+ path = "${path.join(input.infraConfig.localStatePath, 'terraform.tfstate')}"
18
+ }
19
+ }
20
+ `;
21
+ const backendFile = path.join(input.pkgPath, 'hereya_terraform_backend.tf');
22
+ await fs.promises.writeFile(backendFile, backendConfig);
23
+ }
24
+ else if (input.infraConfig &&
12
25
  input.infraConfig.terraformStateBucketName &&
13
26
  input.infraConfig.terraformStateLockTableName &&
14
27
  input.infraConfig.terraformStateBucketRegion) {
28
+ // S3 backend
15
29
  const backendConfig = `
16
30
  terraform {
17
31
  backend "s3" {
@@ -72,6 +86,38 @@ export class Terraform {
72
86
  }
73
87
  async destroy(input) {
74
88
  const terraform = await this.getTerraformBinary(input.logger);
89
+ // Write backend configuration
90
+ if (input.infraConfig?.localStatePath) {
91
+ // Local backend
92
+ await fs.promises.mkdir(input.infraConfig.localStatePath, { recursive: true });
93
+ const backendConfig = `
94
+ terraform {
95
+ backend "local" {
96
+ path = "${path.join(input.infraConfig.localStatePath, 'terraform.tfstate')}"
97
+ }
98
+ }
99
+ `;
100
+ const backendFile = path.join(input.pkgPath, 'hereya_terraform_backend.tf');
101
+ await fs.promises.writeFile(backendFile, backendConfig);
102
+ }
103
+ else if (input.infraConfig &&
104
+ input.infraConfig.terraformStateBucketName &&
105
+ input.infraConfig.terraformStateLockTableName &&
106
+ input.infraConfig.terraformStateBucketRegion) {
107
+ // S3 backend
108
+ const backendConfig = `
109
+ terraform {
110
+ backend "s3" {
111
+ bucket = "${input.infraConfig.terraformStateBucketName}"
112
+ key = "${input.id}/terraform.tfstate"
113
+ region = "${input.infraConfig.terraformStateBucketRegion}"
114
+ dynamodb_table = "${input.infraConfig.terraformStateLockTableName}"
115
+ }
116
+ }
117
+ `;
118
+ const backendFile = path.join(input.pkgPath, 'hereya_terraform_backend.tf');
119
+ await fs.promises.writeFile(backendFile, backendConfig);
120
+ }
75
121
  try {
76
122
  await runShell(terraform, ['init'], {
77
123
  directory: input.pkgPath,
@@ -177,11 +223,23 @@ export class Terraform {
177
223
  return true;
178
224
  }
179
225
  async getStateLocation(input) {
226
+ if (input.infraConfig?.localStatePath) {
227
+ return {
228
+ localPath: path.join(input.infraConfig.localStatePath, 'terraform.tfstate'),
229
+ success: true,
230
+ };
231
+ }
232
+ if (input.infraConfig?.terraformStateBucketName) {
233
+ return {
234
+ bucket: input.infraConfig.terraformStateBucketName,
235
+ key: `${input.id}/terraform.tfstate`,
236
+ region: input.infraConfig.terraformStateBucketRegion ?? '',
237
+ success: true,
238
+ };
239
+ }
180
240
  return {
181
- bucket: input.infraConfig.terraformStateBucketName,
182
- key: `${input.id}/terraform.tfstate`,
183
- region: input.infraConfig.terraformStateBucketRegion ?? '',
184
- success: true,
241
+ reason: 'No state location configuration provided',
242
+ success: false,
185
243
  };
186
244
  }
187
245
  async getEnv(pkgPath, logger) {
@@ -248,6 +248,9 @@ export class AwsInfrastructure {
248
248
  if (!stateLocation$.success) {
249
249
  return { reason: stateLocation$.reason, success: false };
250
250
  }
251
+ if (!('bucket' in stateLocation$)) {
252
+ return { reason: 'Expected S3 state location for AWS infrastructure', success: false };
253
+ }
251
254
  const { bucket, key } = stateLocation$;
252
255
  const s3Client = new S3Client({});
253
256
  await s3Client.send(new PutObjectCommand({
@@ -1,4 +1,6 @@
1
1
  import * as fs from 'node:fs/promises';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
2
4
  import { getIac } from '../iac/index.js';
3
5
  import { downloadPackage } from '../lib/package/index.js';
4
6
  import { getPackageDownloadPath, } from './common.js';
@@ -25,6 +27,9 @@ export class LocalInfrastructure {
25
27
  const output = await iac.destroy({
26
28
  env: input.env ?? {},
27
29
  id: input.id,
30
+ infraConfig: {
31
+ localStatePath: path.join(os.homedir(), '.hereya', 'tf', 'states', input.id),
32
+ },
28
33
  logger: input.logger,
29
34
  parameters: input.parameters,
30
35
  pkgPath: downloadPath,
@@ -47,6 +52,9 @@ export class LocalInfrastructure {
47
52
  const output = await iac.apply({
48
53
  env: input.env ?? {},
49
54
  id: input.id,
55
+ infraConfig: {
56
+ localStatePath: path.join(os.homedir(), '.hereya', 'tf', 'states', input.id),
57
+ },
50
58
  logger: input.logger,
51
59
  parameters: input.parameters,
52
60
  pkgPath: downloadPath,
@@ -193,63 +193,6 @@
193
193
  "index.js"
194
194
  ]
195
195
  },
196
- "doc": {
197
- "aliases": [],
198
- "args": {
199
- "package": {
200
- "description": "Package name with optional version (e.g., my-package or my-package@1.0.0)",
201
- "name": "package",
202
- "required": true
203
- }
204
- },
205
- "description": "Display documentation for a package from the registry",
206
- "examples": [
207
- "<%= config.bin %> <%= command.id %> my-package",
208
- "<%= config.bin %> <%= command.id %> my-package@1.0.0",
209
- "<%= config.bin %> <%= command.id %> my-package --json",
210
- "<%= config.bin %> <%= command.id %> my-package --no-doc"
211
- ],
212
- "flags": {
213
- "chdir": {
214
- "char": "C",
215
- "description": "directory to run command in",
216
- "helpGroup": "global",
217
- "name": "chdir",
218
- "default": ".",
219
- "hasDynamicHelp": false,
220
- "multiple": false,
221
- "type": "option"
222
- },
223
- "json": {
224
- "char": "j",
225
- "description": "Output in JSON format",
226
- "name": "json",
227
- "allowNo": false,
228
- "type": "boolean"
229
- },
230
- "no-doc": {
231
- "description": "Show only metadata without the full documentation",
232
- "name": "no-doc",
233
- "allowNo": false,
234
- "type": "boolean"
235
- }
236
- },
237
- "hasDynamicHelp": false,
238
- "hiddenAliases": [],
239
- "id": "doc",
240
- "pluginAlias": "hereya-cli",
241
- "pluginName": "hereya-cli",
242
- "pluginType": "core",
243
- "strict": true,
244
- "enableJsonFlag": false,
245
- "isESM": true,
246
- "relativePath": [
247
- "dist",
248
- "commands",
249
- "doc",
250
- "index.js"
251
- ]
252
- },
253
196
  "down": {
254
197
  "aliases": [],
255
198
  "args": {},
@@ -314,6 +257,63 @@
314
257
  "index.js"
315
258
  ]
316
259
  },
260
+ "doc": {
261
+ "aliases": [],
262
+ "args": {
263
+ "package": {
264
+ "description": "Package name with optional version (e.g., my-package or my-package@1.0.0)",
265
+ "name": "package",
266
+ "required": true
267
+ }
268
+ },
269
+ "description": "Display documentation for a package from the registry",
270
+ "examples": [
271
+ "<%= config.bin %> <%= command.id %> my-package",
272
+ "<%= config.bin %> <%= command.id %> my-package@1.0.0",
273
+ "<%= config.bin %> <%= command.id %> my-package --json",
274
+ "<%= config.bin %> <%= command.id %> my-package --no-doc"
275
+ ],
276
+ "flags": {
277
+ "chdir": {
278
+ "char": "C",
279
+ "description": "directory to run command in",
280
+ "helpGroup": "global",
281
+ "name": "chdir",
282
+ "default": ".",
283
+ "hasDynamicHelp": false,
284
+ "multiple": false,
285
+ "type": "option"
286
+ },
287
+ "json": {
288
+ "char": "j",
289
+ "description": "Output in JSON format",
290
+ "name": "json",
291
+ "allowNo": false,
292
+ "type": "boolean"
293
+ },
294
+ "no-doc": {
295
+ "description": "Show only metadata without the full documentation",
296
+ "name": "no-doc",
297
+ "allowNo": false,
298
+ "type": "boolean"
299
+ }
300
+ },
301
+ "hasDynamicHelp": false,
302
+ "hiddenAliases": [],
303
+ "id": "doc",
304
+ "pluginAlias": "hereya-cli",
305
+ "pluginName": "hereya-cli",
306
+ "pluginType": "core",
307
+ "strict": true,
308
+ "enableJsonFlag": false,
309
+ "isESM": true,
310
+ "relativePath": [
311
+ "dist",
312
+ "commands",
313
+ "doc",
314
+ "index.js"
315
+ ]
316
+ },
317
317
  "env": {
318
318
  "aliases": [],
319
319
  "args": {
@@ -564,27 +564,44 @@
564
564
  "index.js"
565
565
  ]
566
566
  },
567
- "publish": {
567
+ "provid": {
568
568
  "aliases": [],
569
- "args": {},
570
- "description": "Publish a package to the Hereya registry",
569
+ "args": {
570
+ "package": {
571
+ "description": "Package name (e.g., hereya/postgres)",
572
+ "name": "package",
573
+ "required": true
574
+ }
575
+ },
576
+ "description": "Display the provisioning ID for a package",
571
577
  "examples": [
572
- "$ hereya publish",
573
- "$ hereya publish --chdir=/path/to/package"
578
+ "<%= config.bin %> <%= command.id %> hereya/postgres",
579
+ "<%= config.bin %> <%= command.id %> hereya/postgres -w dev",
580
+ "<%= config.bin %> <%= command.id %> hereya/postgres --workspace staging"
574
581
  ],
575
582
  "flags": {
576
583
  "chdir": {
577
- "description": "\n Directory where the command will be executed.\n If not specified, it defaults to the current working directory.\n ",
584
+ "char": "C",
585
+ "description": "Project root directory",
578
586
  "name": "chdir",
579
587
  "required": false,
580
588
  "hasDynamicHelp": false,
581
589
  "multiple": false,
582
590
  "type": "option"
591
+ },
592
+ "workspace": {
593
+ "char": "w",
594
+ "description": "Name of the workspace",
595
+ "name": "workspace",
596
+ "required": false,
597
+ "hasDynamicHelp": false,
598
+ "multiple": false,
599
+ "type": "option"
583
600
  }
584
601
  },
585
602
  "hasDynamicHelp": false,
586
603
  "hiddenAliases": [],
587
- "id": "publish",
604
+ "id": "provid",
588
605
  "pluginAlias": "hereya-cli",
589
606
  "pluginName": "hereya-cli",
590
607
  "pluginType": "core",
@@ -594,7 +611,7 @@
594
611
  "relativePath": [
595
612
  "dist",
596
613
  "commands",
597
- "publish",
614
+ "provid",
598
615
  "index.js"
599
616
  ]
600
617
  },
@@ -652,6 +669,40 @@
652
669
  "index.js"
653
670
  ]
654
671
  },
672
+ "publish": {
673
+ "aliases": [],
674
+ "args": {},
675
+ "description": "Publish a package to the Hereya registry",
676
+ "examples": [
677
+ "$ hereya publish",
678
+ "$ hereya publish --chdir=/path/to/package"
679
+ ],
680
+ "flags": {
681
+ "chdir": {
682
+ "description": "\n Directory where the command will be executed.\n If not specified, it defaults to the current working directory.\n ",
683
+ "name": "chdir",
684
+ "required": false,
685
+ "hasDynamicHelp": false,
686
+ "multiple": false,
687
+ "type": "option"
688
+ }
689
+ },
690
+ "hasDynamicHelp": false,
691
+ "hiddenAliases": [],
692
+ "id": "publish",
693
+ "pluginAlias": "hereya-cli",
694
+ "pluginName": "hereya-cli",
695
+ "pluginType": "core",
696
+ "strict": true,
697
+ "enableJsonFlag": false,
698
+ "isESM": true,
699
+ "relativePath": [
700
+ "dist",
701
+ "commands",
702
+ "publish",
703
+ "index.js"
704
+ ]
705
+ },
655
706
  "run": {
656
707
  "aliases": [],
657
708
  "args": {
@@ -968,23 +1019,24 @@
968
1019
  "index.js"
969
1020
  ]
970
1021
  },
971
- "config:import-backend": {
1022
+ "config:use-backend": {
972
1023
  "aliases": [],
973
1024
  "args": {
974
- "file": {
975
- "description": "Path to the file containing the backend configuration to import",
976
- "name": "file",
1025
+ "type": {
1026
+ "description": "type of backend to use. Possible values: s3, local",
1027
+ "name": "type",
977
1028
  "required": true
978
1029
  }
979
1030
  },
980
- "description": "Import a backend configuration from a file",
1031
+ "description": "set the current backend type",
981
1032
  "examples": [
982
- "<%= config.bin %> <%= command.id %> ./path/to/cloud-backend.json"
1033
+ "<%= config.bin %> <%= command.id %> s3",
1034
+ "<%= config.bin %> <%= command.id %> local"
983
1035
  ],
984
1036
  "flags": {},
985
1037
  "hasDynamicHelp": false,
986
1038
  "hiddenAliases": [],
987
- "id": "config:import-backend",
1039
+ "id": "config:use-backend",
988
1040
  "pluginAlias": "hereya-cli",
989
1041
  "pluginName": "hereya-cli",
990
1042
  "pluginType": "core",
@@ -995,28 +1047,27 @@
995
1047
  "dist",
996
1048
  "commands",
997
1049
  "config",
998
- "import-backend",
1050
+ "use-backend",
999
1051
  "index.js"
1000
1052
  ]
1001
1053
  },
1002
- "config:use-backend": {
1054
+ "config:import-backend": {
1003
1055
  "aliases": [],
1004
1056
  "args": {
1005
- "type": {
1006
- "description": "type of backend to use. Possible values: s3, local",
1007
- "name": "type",
1057
+ "file": {
1058
+ "description": "Path to the file containing the backend configuration to import",
1059
+ "name": "file",
1008
1060
  "required": true
1009
1061
  }
1010
1062
  },
1011
- "description": "set the current backend type",
1063
+ "description": "Import a backend configuration from a file",
1012
1064
  "examples": [
1013
- "<%= config.bin %> <%= command.id %> s3",
1014
- "<%= config.bin %> <%= command.id %> local"
1065
+ "<%= config.bin %> <%= command.id %> ./path/to/cloud-backend.json"
1015
1066
  ],
1016
1067
  "flags": {},
1017
1068
  "hasDynamicHelp": false,
1018
1069
  "hiddenAliases": [],
1019
- "id": "config:use-backend",
1070
+ "id": "config:import-backend",
1020
1071
  "pluginAlias": "hereya-cli",
1021
1072
  "pluginName": "hereya-cli",
1022
1073
  "pluginType": "core",
@@ -1027,7 +1078,7 @@
1027
1078
  "dist",
1028
1079
  "commands",
1029
1080
  "config",
1030
- "use-backend",
1081
+ "import-backend",
1031
1082
  "index.js"
1032
1083
  ]
1033
1084
  },
@@ -1295,6 +1346,64 @@
1295
1346
  "index.js"
1296
1347
  ]
1297
1348
  },
1349
+ "flow:provid": {
1350
+ "aliases": [],
1351
+ "args": {
1352
+ "package": {
1353
+ "description": "Package name (e.g., hereya/postgres)",
1354
+ "name": "package",
1355
+ "required": true
1356
+ }
1357
+ },
1358
+ "description": "Display the provisioning ID for a package in a git branch-based workspace",
1359
+ "examples": [
1360
+ "<%= config.bin %> <%= command.id %> hereya/postgres",
1361
+ "<%= config.bin %> <%= command.id %> hereya/postgres --profile staging",
1362
+ "<%= config.bin %> <%= command.id %> hereya/postgres --pin"
1363
+ ],
1364
+ "flags": {
1365
+ "chdir": {
1366
+ "char": "C",
1367
+ "description": "Project root directory",
1368
+ "name": "chdir",
1369
+ "required": false,
1370
+ "hasDynamicHelp": false,
1371
+ "multiple": false,
1372
+ "type": "option"
1373
+ },
1374
+ "pin": {
1375
+ "description": "Append git commit SHA to workspace name for commit-specific isolation",
1376
+ "name": "pin",
1377
+ "required": false,
1378
+ "allowNo": false,
1379
+ "type": "boolean"
1380
+ },
1381
+ "profile": {
1382
+ "description": "Profile to use for the workspace (will be appended to workspace name)",
1383
+ "name": "profile",
1384
+ "required": false,
1385
+ "hasDynamicHelp": false,
1386
+ "multiple": false,
1387
+ "type": "option"
1388
+ }
1389
+ },
1390
+ "hasDynamicHelp": false,
1391
+ "hiddenAliases": [],
1392
+ "id": "flow:provid",
1393
+ "pluginAlias": "hereya-cli",
1394
+ "pluginName": "hereya-cli",
1395
+ "pluginType": "core",
1396
+ "strict": true,
1397
+ "enableJsonFlag": false,
1398
+ "isESM": true,
1399
+ "relativePath": [
1400
+ "dist",
1401
+ "commands",
1402
+ "flow",
1403
+ "provid",
1404
+ "index.js"
1405
+ ]
1406
+ },
1298
1407
  "flow:remove": {
1299
1408
  "aliases": [],
1300
1409
  "args": {
@@ -1936,5 +2045,5 @@
1936
2045
  ]
1937
2046
  }
1938
2047
  },
1939
- "version": "0.60.1"
2048
+ "version": "0.62.0"
1940
2049
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hereya-cli",
3
3
  "description": "Infrastructure as Package",
4
- "version": "0.60.1",
4
+ "version": "0.62.0",
5
5
  "author": "Hereya Developers",
6
6
  "bin": {
7
7
  "hereya": "./bin/run.js"