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 +98 -39
- package/dist/commands/flow/provid/index.d.ts +14 -0
- package/dist/commands/flow/provid/index.js +64 -0
- package/dist/commands/provid/index.d.ts +14 -0
- package/dist/commands/provid/index.js +104 -0
- package/dist/iac/common.d.ts +10 -5
- package/dist/iac/terraform.js +63 -5
- package/dist/infrastructure/aws.js +3 -0
- package/dist/infrastructure/local.js +8 -0
- package/oclif.manifest.json +192 -83
- package/package.json +1 -1
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
+
}
|
package/dist/iac/common.d.ts
CHANGED
|
@@ -17,9 +17,10 @@ export type ApplyInput = {
|
|
|
17
17
|
};
|
|
18
18
|
id: string;
|
|
19
19
|
infraConfig?: {
|
|
20
|
-
|
|
20
|
+
localStatePath?: string;
|
|
21
|
+
terraformStateBucketName?: string;
|
|
21
22
|
terraformStateBucketRegion?: string;
|
|
22
|
-
terraformStateLockTableName
|
|
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
|
-
|
|
44
|
+
infraConfig?: {
|
|
45
|
+
localStatePath?: string;
|
|
46
|
+
terraformStateBucketName?: string;
|
|
45
47
|
terraformStateBucketRegion?: string;
|
|
46
|
-
terraformStateLockTableName
|
|
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;
|
package/dist/iac/terraform.js
CHANGED
|
@@ -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
|
-
|
|
182
|
-
|
|
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,
|
package/oclif.manifest.json
CHANGED
|
@@ -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
|
-
"
|
|
567
|
+
"provid": {
|
|
568
568
|
"aliases": [],
|
|
569
|
-
"args": {
|
|
570
|
-
|
|
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
|
-
"
|
|
573
|
-
"
|
|
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
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
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:
|
|
1022
|
+
"config:use-backend": {
|
|
972
1023
|
"aliases": [],
|
|
973
1024
|
"args": {
|
|
974
|
-
"
|
|
975
|
-
"description": "
|
|
976
|
-
"name": "
|
|
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": "
|
|
1031
|
+
"description": "set the current backend type",
|
|
981
1032
|
"examples": [
|
|
982
|
-
"<%= config.bin %> <%= command.id %>
|
|
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:
|
|
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
|
-
"
|
|
1050
|
+
"use-backend",
|
|
999
1051
|
"index.js"
|
|
1000
1052
|
]
|
|
1001
1053
|
},
|
|
1002
|
-
"config:
|
|
1054
|
+
"config:import-backend": {
|
|
1003
1055
|
"aliases": [],
|
|
1004
1056
|
"args": {
|
|
1005
|
-
"
|
|
1006
|
-
"description": "
|
|
1007
|
-
"name": "
|
|
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": "
|
|
1063
|
+
"description": "Import a backend configuration from a file",
|
|
1012
1064
|
"examples": [
|
|
1013
|
-
"<%= config.bin %> <%= command.id %>
|
|
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:
|
|
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
|
-
"
|
|
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.
|
|
2048
|
+
"version": "0.62.0"
|
|
1940
2049
|
}
|