@enspirit/emb 0.25.0 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ $ npm install -g @enspirit/emb
14
14
  $ emb COMMAND
15
15
  running command...
16
16
  $ emb (--version)
17
- @enspirit/emb/0.25.0 darwin-arm64 node-v22.21.1
17
+ @enspirit/emb/0.25.1 darwin-arm64 node-v22.21.1
18
18
  $ emb --help [COMMAND]
19
19
  USAGE
20
20
  $ emb COMMAND
@@ -113,7 +113,7 @@ EXAMPLES
113
113
  $ emb clean
114
114
  ```
115
115
 
116
- _See code: [src/commands/clean.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/clean.ts)_
116
+ _See code: [src/commands/clean.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/clean.ts)_
117
117
 
118
118
  ## `emb components`
119
119
 
@@ -138,7 +138,7 @@ EXAMPLES
138
138
  $ emb components
139
139
  ```
140
140
 
141
- _See code: [src/commands/components/index.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/components/index.ts)_
141
+ _See code: [src/commands/components/index.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/components/index.ts)_
142
142
 
143
143
  ## `emb components shell SERVICE`
144
144
 
@@ -166,7 +166,7 @@ EXAMPLES
166
166
  $ emb components shell
167
167
  ```
168
168
 
169
- _See code: [src/commands/components/shell.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/components/shell.ts)_
169
+ _See code: [src/commands/components/shell.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/components/shell.ts)_
170
170
 
171
171
  ## `emb config print`
172
172
 
@@ -191,7 +191,7 @@ EXAMPLES
191
191
  $ emb config print
192
192
  ```
193
193
 
194
- _See code: [src/commands/config/print.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/config/print.ts)_
194
+ _See code: [src/commands/config/print.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/config/print.ts)_
195
195
 
196
196
  ## `emb containers`
197
197
 
@@ -216,7 +216,7 @@ EXAMPLES
216
216
  $ emb containers
217
217
  ```
218
218
 
219
- _See code: [src/commands/containers/index.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/containers/index.ts)_
219
+ _See code: [src/commands/containers/index.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/containers/index.ts)_
220
220
 
221
221
  ## `emb containers prune`
222
222
 
@@ -240,7 +240,7 @@ EXAMPLES
240
240
  $ emb containers prune
241
241
  ```
242
242
 
243
- _See code: [src/commands/containers/prune.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/containers/prune.ts)_
243
+ _See code: [src/commands/containers/prune.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/containers/prune.ts)_
244
244
 
245
245
  ## `emb down [SERVICE]`
246
246
 
@@ -268,7 +268,7 @@ EXAMPLES
268
268
  $ emb down
269
269
  ```
270
270
 
271
- _See code: [src/commands/down.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/down.ts)_
271
+ _See code: [src/commands/down.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/down.ts)_
272
272
 
273
273
  ## `emb help [COMMAND]`
274
274
 
@@ -314,7 +314,7 @@ EXAMPLES
314
314
  $ emb images
315
315
  ```
316
316
 
317
- _See code: [src/commands/images/index.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/images/index.ts)_
317
+ _See code: [src/commands/images/index.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/images/index.ts)_
318
318
 
319
319
  ## `emb images delete`
320
320
 
@@ -339,7 +339,7 @@ EXAMPLES
339
339
  $ emb images delete
340
340
  ```
341
341
 
342
- _See code: [src/commands/images/delete.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/images/delete.ts)_
342
+ _See code: [src/commands/images/delete.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/images/delete.ts)_
343
343
 
344
344
  ## `emb images prune`
345
345
 
@@ -364,7 +364,7 @@ EXAMPLES
364
364
  $ emb images prune
365
365
  ```
366
366
 
367
- _See code: [src/commands/images/prune.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/images/prune.ts)_
367
+ _See code: [src/commands/images/prune.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/images/prune.ts)_
368
368
 
369
369
  ## `emb images push`
370
370
 
@@ -393,7 +393,7 @@ EXAMPLES
393
393
  $ emb images push --registry my.registry.io --retag newtag
394
394
  ```
395
395
 
396
- _See code: [src/commands/images/push.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/images/push.ts)_
396
+ _See code: [src/commands/images/push.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/images/push.ts)_
397
397
 
398
398
  ## `emb kubernetes logs COMPONENT`
399
399
 
@@ -419,7 +419,7 @@ EXAMPLES
419
419
  $ emb kubernetes logs
420
420
  ```
421
421
 
422
- _See code: [src/commands/kubernetes/logs.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/kubernetes/logs.ts)_
422
+ _See code: [src/commands/kubernetes/logs.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/kubernetes/logs.ts)_
423
423
 
424
424
  ## `emb kubernetes ps`
425
425
 
@@ -442,7 +442,7 @@ EXAMPLES
442
442
  $ emb kubernetes ps
443
443
  ```
444
444
 
445
- _See code: [src/commands/kubernetes/ps.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/kubernetes/ps.ts)_
445
+ _See code: [src/commands/kubernetes/ps.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/kubernetes/ps.ts)_
446
446
 
447
447
  ## `emb kubernetes restart [DEPLOYMENT]`
448
448
 
@@ -467,7 +467,7 @@ EXAMPLES
467
467
  $ emb kubernetes restart
468
468
  ```
469
469
 
470
- _See code: [src/commands/kubernetes/restart.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/kubernetes/restart.ts)_
470
+ _See code: [src/commands/kubernetes/restart.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/kubernetes/restart.ts)_
471
471
 
472
472
  ## `emb kubernetes shell COMPONENT`
473
473
 
@@ -496,7 +496,7 @@ EXAMPLES
496
496
  $ emb kubernetes shell
497
497
  ```
498
498
 
499
- _See code: [src/commands/kubernetes/shell.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/kubernetes/shell.ts)_
499
+ _See code: [src/commands/kubernetes/shell.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/kubernetes/shell.ts)_
500
500
 
501
501
  ## `emb logs [SERVICE]`
502
502
 
@@ -527,7 +527,7 @@ EXAMPLES
527
527
  $ emb logs --no-follow backend
528
528
  ```
529
529
 
530
- _See code: [src/commands/logs/index.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/logs/index.ts)_
530
+ _See code: [src/commands/logs/index.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/logs/index.ts)_
531
531
 
532
532
  ## `emb logs archive [SERVICE]`
533
533
 
@@ -563,7 +563,7 @@ EXAMPLES
563
563
  $ emb logs archive --tail 1000
564
564
  ```
565
565
 
566
- _See code: [src/commands/logs/archive.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/logs/archive.ts)_
566
+ _See code: [src/commands/logs/archive.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/logs/archive.ts)_
567
567
 
568
568
  ## `emb ps`
569
569
 
@@ -586,7 +586,7 @@ EXAMPLES
586
586
  $ emb ps
587
587
  ```
588
588
 
589
- _See code: [src/commands/ps.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/ps.ts)_
589
+ _See code: [src/commands/ps.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/ps.ts)_
590
590
 
591
591
  ## `emb resources`
592
592
 
@@ -614,7 +614,7 @@ EXAMPLES
614
614
  $ emb resources --publishable
615
615
  ```
616
616
 
617
- _See code: [src/commands/resources/index.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/resources/index.ts)_
617
+ _See code: [src/commands/resources/index.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/resources/index.ts)_
618
618
 
619
619
  ## `emb resources build [COMPONENT]`
620
620
 
@@ -648,7 +648,7 @@ EXAMPLES
648
648
  $ emb resources build build --publishable --flavor production
649
649
  ```
650
650
 
651
- _See code: [src/commands/resources/build.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/resources/build.ts)_
651
+ _See code: [src/commands/resources/build.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/resources/build.ts)_
652
652
 
653
653
  ## `emb resources publish [RESOURCES]`
654
654
 
@@ -679,7 +679,7 @@ EXAMPLES
679
679
  $ emb resources publish api:image --flavor production
680
680
  ```
681
681
 
682
- _See code: [src/commands/resources/publish.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/resources/publish.ts)_
682
+ _See code: [src/commands/resources/publish.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/resources/publish.ts)_
683
683
 
684
684
  ## `emb restart [SERVICE]`
685
685
 
@@ -707,7 +707,7 @@ EXAMPLES
707
707
  $ emb restart
708
708
  ```
709
709
 
710
- _See code: [src/commands/restart.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/restart.ts)_
710
+ _See code: [src/commands/restart.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/restart.ts)_
711
711
 
712
712
  ## `emb run TASK`
713
713
 
@@ -765,7 +765,7 @@ EXAMPLES
765
765
  $ emb secrets --json
766
766
  ```
767
767
 
768
- _See code: [src/commands/secrets/index.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/secrets/index.ts)_
768
+ _See code: [src/commands/secrets/index.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/secrets/index.ts)_
769
769
 
770
770
  ## `emb secrets providers`
771
771
 
@@ -790,7 +790,7 @@ EXAMPLES
790
790
  $ emb secrets providers
791
791
  ```
792
792
 
793
- _See code: [src/commands/secrets/providers.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/secrets/providers.ts)_
793
+ _See code: [src/commands/secrets/providers.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/secrets/providers.ts)_
794
794
 
795
795
  ## `emb secrets validate`
796
796
 
@@ -820,7 +820,7 @@ EXAMPLES
820
820
  $ emb secrets validate --json
821
821
  ```
822
822
 
823
- _See code: [src/commands/secrets/validate.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/secrets/validate.ts)_
823
+ _See code: [src/commands/secrets/validate.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/secrets/validate.ts)_
824
824
 
825
825
  ## `emb shell SERVICE`
826
826
 
@@ -873,7 +873,7 @@ EXAMPLES
873
873
  $ emb start
874
874
  ```
875
875
 
876
- _See code: [src/commands/start.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/start.ts)_
876
+ _See code: [src/commands/start.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/start.ts)_
877
877
 
878
878
  ## `emb stop [SERVICE]`
879
879
 
@@ -901,7 +901,7 @@ EXAMPLES
901
901
  $ emb stop
902
902
  ```
903
903
 
904
- _See code: [src/commands/stop.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/stop.ts)_
904
+ _See code: [src/commands/stop.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/stop.ts)_
905
905
 
906
906
  ## `emb tasks`
907
907
 
@@ -925,7 +925,7 @@ EXAMPLES
925
925
  $ emb tasks
926
926
  ```
927
927
 
928
- _See code: [src/commands/tasks/index.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/tasks/index.ts)_
928
+ _See code: [src/commands/tasks/index.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/tasks/index.ts)_
929
929
 
930
930
  ## `emb tasks run TASK`
931
931
 
@@ -958,7 +958,7 @@ EXAMPLES
958
958
  $ emb tasks run
959
959
  ```
960
960
 
961
- _See code: [src/commands/tasks/run.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/tasks/run.ts)_
961
+ _See code: [src/commands/tasks/run.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/tasks/run.ts)_
962
962
 
963
963
  ## `emb up [SERVICE]`
964
964
 
@@ -987,7 +987,7 @@ EXAMPLES
987
987
  $ emb up
988
988
  ```
989
989
 
990
- _See code: [src/commands/up.ts](https://github.com/enspirit/emb/blob/v0.25.0/src/commands/up.ts)_
990
+ _See code: [src/commands/up.ts](https://github.com/enspirit/emb/blob/v0.25.1/src/commands/up.ts)_
991
991
 
992
992
  ## `emb update [CHANNEL]`
993
993
 
@@ -30,22 +30,26 @@ export class PublishResourcesOperation extends AbstractOperation {
30
30
  if (publishableResources.length === 0) {
31
31
  return {};
32
32
  }
33
+ // Create a set of publishable resource IDs for filtering
34
+ const publishableIds = new Set(publishableResources.map((r) => r.id));
35
+ // Use ALL resources for dependency resolution, since publishable resources
36
+ // may depend on non-publishable ones (e.g., api:image depends on base:image)
37
+ const allResourcesCollection = new EMBCollection(monorepo.resources, {
38
+ idField: 'id',
39
+ depField: 'dependencies',
40
+ });
33
41
  // If specific resources requested, filter to those
34
42
  let targetResources;
35
43
  if (input.resources && input.resources.length > 0) {
36
- const collection = new EMBCollection(publishableResources, {
37
- idField: 'id',
38
- depField: 'dependencies',
39
- });
40
- targetResources = findRunOrder(input.resources, collection);
44
+ // Resolve order using full collection, then filter to only publishable
45
+ const orderedResources = findRunOrder(input.resources, allResourcesCollection);
46
+ targetResources = orderedResources.filter((r) => publishableIds.has(r.id));
41
47
  }
42
48
  else {
43
- // All publishable resources
44
- const collection = new EMBCollection(publishableResources, {
45
- idField: 'id',
46
- depField: 'dependencies',
47
- });
48
- targetResources = findRunOrder(publishableResources.map((r) => r.id), collection);
49
+ // All publishable resources - resolve order using full collection
50
+ const orderedResources = findRunOrder(publishableResources.map((r) => r.id), allResourcesCollection);
51
+ // Filter to only publishable (dependencies are resolved but not published)
52
+ targetResources = orderedResources.filter((r) => publishableIds.has(r.id));
49
53
  }
50
54
  // Verify each resource's builder supports publish
51
55
  for (const resource of targetResources) {
@@ -931,20 +931,28 @@
931
931
  "push.js"
932
932
  ]
933
933
  },
934
- "kubernetes:logs": {
934
+ "resources:build": {
935
935
  "aliases": [],
936
936
  "args": {
937
937
  "component": {
938
- "description": "The component you want to see the logs of",
938
+ "description": "List of resources to build (defaults to all)",
939
939
  "name": "component",
940
- "required": true
940
+ "required": false
941
941
  }
942
942
  },
943
- "description": "Follow kubernetes logs.",
943
+ "description": "Build the resources of the monorepo",
944
944
  "examples": [
945
- "<%= config.bin %> <%= command.id %>"
945
+ "<%= config.bin %> <%= command.id %> build --flavor development",
946
+ "<%= config.bin %> <%= command.id %> build --publishable --flavor production"
946
947
  ],
947
948
  "flags": {
949
+ "json": {
950
+ "description": "Format output as json.",
951
+ "helpGroup": "GLOBAL",
952
+ "name": "json",
953
+ "allowNo": false,
954
+ "type": "boolean"
955
+ },
948
956
  "verbose": {
949
957
  "name": "verbose",
950
958
  "allowNo": true,
@@ -959,52 +967,71 @@
959
967
  "multiple": false,
960
968
  "type": "option"
961
969
  },
962
- "namespace": {
963
- "aliases": [
964
- "ns"
965
- ],
966
- "char": "n",
967
- "description": "The Kubernetes namespace to target",
968
- "name": "namespace",
970
+ "flavor": {
971
+ "description": "Specify the flavor to use.",
972
+ "name": "flavor",
969
973
  "required": false,
970
974
  "hasDynamicHelp": false,
971
975
  "multiple": false,
972
976
  "type": "option"
973
977
  },
974
- "follow": {
978
+ "dry-run": {
979
+ "description": "Do not build the resources but only produce build meta information",
980
+ "name": "dry-run",
981
+ "required": false,
982
+ "allowNo": false,
983
+ "type": "boolean"
984
+ },
985
+ "force": {
975
986
  "char": "f",
976
- "description": "Follow log output",
977
- "name": "follow",
978
- "allowNo": true,
987
+ "description": "Bypass the cache and force the build",
988
+ "name": "force",
989
+ "required": false,
990
+ "allowNo": false,
991
+ "type": "boolean"
992
+ },
993
+ "publishable": {
994
+ "description": "Only build resources that are publishable (publish: true) and their dependencies",
995
+ "name": "publishable",
996
+ "required": false,
997
+ "allowNo": false,
979
998
  "type": "boolean"
980
999
  }
981
1000
  },
982
1001
  "hasDynamicHelp": false,
983
1002
  "hiddenAliases": [],
984
- "id": "kubernetes:logs",
1003
+ "id": "resources:build",
985
1004
  "pluginAlias": "@enspirit/emb",
986
1005
  "pluginName": "@enspirit/emb",
987
1006
  "pluginType": "core",
988
- "strict": true,
989
- "enableJsonFlag": false,
1007
+ "strict": false,
1008
+ "enableJsonFlag": true,
990
1009
  "isESM": true,
991
1010
  "relativePath": [
992
1011
  "dist",
993
1012
  "src",
994
1013
  "cli",
995
1014
  "commands",
996
- "kubernetes",
997
- "logs.js"
1015
+ "resources",
1016
+ "build.js"
998
1017
  ]
999
1018
  },
1000
- "kubernetes:ps": {
1019
+ "resources": {
1001
1020
  "aliases": [],
1002
1021
  "args": {},
1003
- "description": "Show running pods.",
1022
+ "description": "List resources.",
1004
1023
  "examples": [
1005
- "<%= config.bin %> <%= command.id %>"
1024
+ "<%= config.bin %> <%= command.id %>",
1025
+ "<%= config.bin %> <%= command.id %> --publishable"
1006
1026
  ],
1007
1027
  "flags": {
1028
+ "json": {
1029
+ "description": "Format output as json.",
1030
+ "helpGroup": "GLOBAL",
1031
+ "name": "json",
1032
+ "allowNo": false,
1033
+ "type": "boolean"
1034
+ },
1008
1035
  "verbose": {
1009
1036
  "name": "verbose",
1010
1037
  "allowNo": true,
@@ -1019,55 +1046,62 @@
1019
1046
  "multiple": false,
1020
1047
  "type": "option"
1021
1048
  },
1022
- "namespace": {
1023
- "aliases": [
1024
- "ns"
1025
- ],
1026
- "char": "n",
1027
- "description": "The Kubernetes namespace to target",
1028
- "name": "namespace",
1049
+ "flavor": {
1050
+ "description": "Specify the flavor to use.",
1051
+ "name": "flavor",
1029
1052
  "required": false,
1030
1053
  "hasDynamicHelp": false,
1031
1054
  "multiple": false,
1032
1055
  "type": "option"
1033
1056
  },
1034
- "watch": {
1035
- "name": "watch",
1036
- "allowNo": true,
1057
+ "publishable": {
1058
+ "description": "Only show resources that are publishable (publish: true)",
1059
+ "name": "publishable",
1060
+ "required": false,
1061
+ "allowNo": false,
1037
1062
  "type": "boolean"
1038
1063
  }
1039
1064
  },
1040
1065
  "hasDynamicHelp": false,
1041
1066
  "hiddenAliases": [],
1042
- "id": "kubernetes:ps",
1067
+ "id": "resources",
1043
1068
  "pluginAlias": "@enspirit/emb",
1044
1069
  "pluginName": "@enspirit/emb",
1045
1070
  "pluginType": "core",
1046
- "strict": false,
1047
- "enableJsonFlag": false,
1071
+ "strict": true,
1072
+ "enableJsonFlag": true,
1048
1073
  "isESM": true,
1049
1074
  "relativePath": [
1050
1075
  "dist",
1051
1076
  "src",
1052
1077
  "cli",
1053
1078
  "commands",
1054
- "kubernetes",
1055
- "ps.js"
1079
+ "resources",
1080
+ "index.js"
1056
1081
  ]
1057
1082
  },
1058
- "kubernetes:restart": {
1083
+ "resources:publish": {
1059
1084
  "aliases": [],
1060
1085
  "args": {
1061
- "deployment": {
1062
- "description": "The deployment(s) to restart",
1063
- "name": "deployment"
1086
+ "resources": {
1087
+ "description": "List of resources to publish (defaults to all publishable)",
1088
+ "name": "resources",
1089
+ "required": false
1064
1090
  }
1065
1091
  },
1066
- "description": "Restart pods of an instance.",
1092
+ "description": "Publish resources to their registries",
1067
1093
  "examples": [
1068
- "<%= config.bin %> <%= command.id %>"
1094
+ "<%= config.bin %> <%= command.id %> --flavor production",
1095
+ "<%= config.bin %> <%= command.id %> api:image --flavor production"
1069
1096
  ],
1070
1097
  "flags": {
1098
+ "json": {
1099
+ "description": "Format output as json.",
1100
+ "helpGroup": "GLOBAL",
1101
+ "name": "json",
1102
+ "allowNo": false,
1103
+ "type": "boolean"
1104
+ },
1071
1105
  "verbose": {
1072
1106
  "name": "verbose",
1073
1107
  "allowNo": true,
@@ -1082,49 +1116,50 @@
1082
1116
  "multiple": false,
1083
1117
  "type": "option"
1084
1118
  },
1085
- "namespace": {
1086
- "aliases": [
1087
- "ns"
1088
- ],
1089
- "char": "n",
1090
- "description": "The Kubernetes namespace to target",
1091
- "name": "namespace",
1119
+ "flavor": {
1120
+ "description": "Specify the flavor to use.",
1121
+ "name": "flavor",
1092
1122
  "required": false,
1093
1123
  "hasDynamicHelp": false,
1094
1124
  "multiple": false,
1095
1125
  "type": "option"
1126
+ },
1127
+ "dry-run": {
1128
+ "description": "Do not publish, just show what would be published",
1129
+ "name": "dry-run",
1130
+ "required": false,
1131
+ "allowNo": false,
1132
+ "type": "boolean"
1096
1133
  }
1097
1134
  },
1098
1135
  "hasDynamicHelp": false,
1099
1136
  "hiddenAliases": [],
1100
- "id": "kubernetes:restart",
1137
+ "id": "resources:publish",
1101
1138
  "pluginAlias": "@enspirit/emb",
1102
1139
  "pluginName": "@enspirit/emb",
1103
1140
  "pluginType": "core",
1104
1141
  "strict": false,
1105
- "enableJsonFlag": false,
1142
+ "enableJsonFlag": true,
1106
1143
  "isESM": true,
1107
1144
  "relativePath": [
1108
1145
  "dist",
1109
1146
  "src",
1110
1147
  "cli",
1111
1148
  "commands",
1112
- "kubernetes",
1113
- "restart.js"
1149
+ "resources",
1150
+ "publish.js"
1114
1151
  ]
1115
1152
  },
1116
- "kubernetes:shell": {
1117
- "aliases": [
1118
- "shell"
1119
- ],
1153
+ "kubernetes:logs": {
1154
+ "aliases": [],
1120
1155
  "args": {
1121
1156
  "component": {
1122
- "description": "The component you want to get a shell on",
1157
+ "description": "The component you want to see the logs of",
1123
1158
  "name": "component",
1124
1159
  "required": true
1125
1160
  }
1126
1161
  },
1127
- "description": "Get a shell on a deployed component.",
1162
+ "description": "Follow kubernetes logs.",
1128
1163
  "examples": [
1129
1164
  "<%= config.bin %> <%= command.id %>"
1130
1165
  ],
@@ -1155,19 +1190,17 @@
1155
1190
  "multiple": false,
1156
1191
  "type": "option"
1157
1192
  },
1158
- "shell": {
1159
- "char": "s",
1160
- "description": "The shell to run",
1161
- "name": "shell",
1162
- "default": "bash",
1163
- "hasDynamicHelp": false,
1164
- "multiple": false,
1165
- "type": "option"
1193
+ "follow": {
1194
+ "char": "f",
1195
+ "description": "Follow log output",
1196
+ "name": "follow",
1197
+ "allowNo": true,
1198
+ "type": "boolean"
1166
1199
  }
1167
1200
  },
1168
1201
  "hasDynamicHelp": false,
1169
1202
  "hiddenAliases": [],
1170
- "id": "kubernetes:shell",
1203
+ "id": "kubernetes:logs",
1171
1204
  "pluginAlias": "@enspirit/emb",
1172
1205
  "pluginName": "@enspirit/emb",
1173
1206
  "pluginType": "core",
@@ -1180,33 +1213,17 @@
1180
1213
  "cli",
1181
1214
  "commands",
1182
1215
  "kubernetes",
1183
- "shell.js"
1216
+ "logs.js"
1184
1217
  ]
1185
1218
  },
1186
- "logs:archive": {
1219
+ "kubernetes:ps": {
1187
1220
  "aliases": [],
1188
- "args": {
1189
- "service": {
1190
- "description": "The service(s) to archive logs for (all if omitted)",
1191
- "name": "service",
1192
- "required": false
1193
- }
1194
- },
1195
- "description": "Archive docker compose logs to files (one file per service).",
1221
+ "args": {},
1222
+ "description": "Show running pods.",
1196
1223
  "examples": [
1197
- "<%= config.bin %> <%= command.id %>",
1198
- "<%= config.bin %> <%= command.id %> backend frontend",
1199
- "<%= config.bin %> <%= command.id %> --timestamps",
1200
- "<%= config.bin %> <%= command.id %> --tail 1000"
1224
+ "<%= config.bin %> <%= command.id %>"
1201
1225
  ],
1202
1226
  "flags": {
1203
- "json": {
1204
- "description": "Format output as json.",
1205
- "helpGroup": "GLOBAL",
1206
- "name": "json",
1207
- "allowNo": false,
1208
- "type": "boolean"
1209
- },
1210
1227
  "verbose": {
1211
1228
  "name": "verbose",
1212
1229
  "allowNo": true,
@@ -1221,62 +1238,53 @@
1221
1238
  "multiple": false,
1222
1239
  "type": "option"
1223
1240
  },
1224
- "timestamps": {
1225
- "char": "t",
1226
- "description": "Include timestamps in logs",
1227
- "name": "timestamps",
1228
- "allowNo": false,
1229
- "type": "boolean"
1230
- },
1231
- "tail": {
1232
- "description": "Number of lines to show from the end of the logs",
1233
- "name": "tail",
1241
+ "namespace": {
1242
+ "aliases": [
1243
+ "ns"
1244
+ ],
1245
+ "char": "n",
1246
+ "description": "The Kubernetes namespace to target",
1247
+ "name": "namespace",
1248
+ "required": false,
1234
1249
  "hasDynamicHelp": false,
1235
1250
  "multiple": false,
1236
1251
  "type": "option"
1237
1252
  },
1238
- "output": {
1239
- "char": "o",
1240
- "description": "Output directory for log files (defaults to .emb/<flavor>/logs/docker/compose)",
1241
- "name": "output",
1242
- "hasDynamicHelp": false,
1243
- "multiple": false,
1244
- "type": "option"
1253
+ "watch": {
1254
+ "name": "watch",
1255
+ "allowNo": true,
1256
+ "type": "boolean"
1245
1257
  }
1246
1258
  },
1247
1259
  "hasDynamicHelp": false,
1248
1260
  "hiddenAliases": [],
1249
- "id": "logs:archive",
1261
+ "id": "kubernetes:ps",
1250
1262
  "pluginAlias": "@enspirit/emb",
1251
1263
  "pluginName": "@enspirit/emb",
1252
1264
  "pluginType": "core",
1253
1265
  "strict": false,
1254
- "enableJsonFlag": true,
1266
+ "enableJsonFlag": false,
1255
1267
  "isESM": true,
1256
1268
  "relativePath": [
1257
1269
  "dist",
1258
1270
  "src",
1259
1271
  "cli",
1260
1272
  "commands",
1261
- "logs",
1262
- "archive.js"
1273
+ "kubernetes",
1274
+ "ps.js"
1263
1275
  ]
1264
1276
  },
1265
- "logs": {
1277
+ "kubernetes:restart": {
1266
1278
  "aliases": [],
1267
1279
  "args": {
1268
- "service": {
1269
- "description": "The service(s) you want to see the logs of (all if omitted)",
1270
- "name": "service",
1271
- "required": false
1280
+ "deployment": {
1281
+ "description": "The deployment(s) to restart",
1282
+ "name": "deployment"
1272
1283
  }
1273
1284
  },
1274
- "description": "Get service logs.",
1285
+ "description": "Restart pods of an instance.",
1275
1286
  "examples": [
1276
- "<%= config.bin %> <%= command.id %>",
1277
- "<%= config.bin %> <%= command.id %> backend",
1278
- "<%= config.bin %> <%= command.id %> backend frontend",
1279
- "<%= config.bin %> <%= command.id %> --no-follow backend"
1287
+ "<%= config.bin %> <%= command.id %>"
1280
1288
  ],
1281
1289
  "flags": {
1282
1290
  "verbose": {
@@ -1293,17 +1301,22 @@
1293
1301
  "multiple": false,
1294
1302
  "type": "option"
1295
1303
  },
1296
- "follow": {
1297
- "char": "f",
1298
- "description": "Follow log output",
1299
- "name": "follow",
1300
- "allowNo": true,
1301
- "type": "boolean"
1304
+ "namespace": {
1305
+ "aliases": [
1306
+ "ns"
1307
+ ],
1308
+ "char": "n",
1309
+ "description": "The Kubernetes namespace to target",
1310
+ "name": "namespace",
1311
+ "required": false,
1312
+ "hasDynamicHelp": false,
1313
+ "multiple": false,
1314
+ "type": "option"
1302
1315
  }
1303
1316
  },
1304
1317
  "hasDynamicHelp": false,
1305
1318
  "hiddenAliases": [],
1306
- "id": "logs",
1319
+ "id": "kubernetes:restart",
1307
1320
  "pluginAlias": "@enspirit/emb",
1308
1321
  "pluginName": "@enspirit/emb",
1309
1322
  "pluginType": "core",
@@ -1315,26 +1328,26 @@
1315
1328
  "src",
1316
1329
  "cli",
1317
1330
  "commands",
1318
- "logs",
1319
- "index.js"
1331
+ "kubernetes",
1332
+ "restart.js"
1320
1333
  ]
1321
1334
  },
1322
- "secrets": {
1323
- "aliases": [],
1324
- "args": {},
1325
- "description": "List all secret references in the configuration.",
1335
+ "kubernetes:shell": {
1336
+ "aliases": [
1337
+ "shell"
1338
+ ],
1339
+ "args": {
1340
+ "component": {
1341
+ "description": "The component you want to get a shell on",
1342
+ "name": "component",
1343
+ "required": true
1344
+ }
1345
+ },
1346
+ "description": "Get a shell on a deployed component.",
1326
1347
  "examples": [
1327
- "<%= config.bin %> <%= command.id %>",
1328
- "<%= config.bin %> <%= command.id %> --json"
1348
+ "<%= config.bin %> <%= command.id %>"
1329
1349
  ],
1330
1350
  "flags": {
1331
- "json": {
1332
- "description": "Format output as json.",
1333
- "helpGroup": "GLOBAL",
1334
- "name": "json",
1335
- "allowNo": false,
1336
- "type": "boolean"
1337
- },
1338
1351
  "verbose": {
1339
1352
  "name": "verbose",
1340
1353
  "allowNo": true,
@@ -1349,39 +1362,53 @@
1349
1362
  "multiple": false,
1350
1363
  "type": "option"
1351
1364
  },
1352
- "flavor": {
1353
- "description": "Specify the flavor to use.",
1354
- "name": "flavor",
1365
+ "namespace": {
1366
+ "aliases": [
1367
+ "ns"
1368
+ ],
1369
+ "char": "n",
1370
+ "description": "The Kubernetes namespace to target",
1371
+ "name": "namespace",
1355
1372
  "required": false,
1356
1373
  "hasDynamicHelp": false,
1357
1374
  "multiple": false,
1358
1375
  "type": "option"
1376
+ },
1377
+ "shell": {
1378
+ "char": "s",
1379
+ "description": "The shell to run",
1380
+ "name": "shell",
1381
+ "default": "bash",
1382
+ "hasDynamicHelp": false,
1383
+ "multiple": false,
1384
+ "type": "option"
1359
1385
  }
1360
1386
  },
1361
1387
  "hasDynamicHelp": false,
1362
1388
  "hiddenAliases": [],
1363
- "id": "secrets",
1389
+ "id": "kubernetes:shell",
1364
1390
  "pluginAlias": "@enspirit/emb",
1365
1391
  "pluginName": "@enspirit/emb",
1366
1392
  "pluginType": "core",
1367
1393
  "strict": true,
1368
- "enableJsonFlag": true,
1394
+ "enableJsonFlag": false,
1369
1395
  "isESM": true,
1370
1396
  "relativePath": [
1371
1397
  "dist",
1372
1398
  "src",
1373
1399
  "cli",
1374
1400
  "commands",
1375
- "secrets",
1376
- "index.js"
1401
+ "kubernetes",
1402
+ "shell.js"
1377
1403
  ]
1378
1404
  },
1379
- "secrets:providers": {
1405
+ "secrets": {
1380
1406
  "aliases": [],
1381
1407
  "args": {},
1382
- "description": "Show configured secret providers and their status.",
1408
+ "description": "List all secret references in the configuration.",
1383
1409
  "examples": [
1384
- "<%= config.bin %> <%= command.id %>"
1410
+ "<%= config.bin %> <%= command.id %>",
1411
+ "<%= config.bin %> <%= command.id %> --json"
1385
1412
  ],
1386
1413
  "flags": {
1387
1414
  "json": {
@@ -1416,7 +1443,7 @@
1416
1443
  },
1417
1444
  "hasDynamicHelp": false,
1418
1445
  "hiddenAliases": [],
1419
- "id": "secrets:providers",
1446
+ "id": "secrets",
1420
1447
  "pluginAlias": "@enspirit/emb",
1421
1448
  "pluginName": "@enspirit/emb",
1422
1449
  "pluginType": "core",
@@ -1429,17 +1456,15 @@
1429
1456
  "cli",
1430
1457
  "commands",
1431
1458
  "secrets",
1432
- "providers.js"
1459
+ "index.js"
1433
1460
  ]
1434
1461
  },
1435
- "secrets:validate": {
1462
+ "secrets:providers": {
1436
1463
  "aliases": [],
1437
1464
  "args": {},
1438
- "description": "Validate that all secret references can be resolved (without showing values).",
1465
+ "description": "Show configured secret providers and their status.",
1439
1466
  "examples": [
1440
- "<%= config.bin %> <%= command.id %>",
1441
- "<%= config.bin %> <%= command.id %> --fail-fast",
1442
- "<%= config.bin %> <%= command.id %> --json"
1467
+ "<%= config.bin %> <%= command.id %>"
1443
1468
  ],
1444
1469
  "flags": {
1445
1470
  "json": {
@@ -1470,17 +1495,11 @@
1470
1495
  "hasDynamicHelp": false,
1471
1496
  "multiple": false,
1472
1497
  "type": "option"
1473
- },
1474
- "fail-fast": {
1475
- "description": "Stop on first validation error",
1476
- "name": "fail-fast",
1477
- "allowNo": false,
1478
- "type": "boolean"
1479
1498
  }
1480
1499
  },
1481
1500
  "hasDynamicHelp": false,
1482
1501
  "hiddenAliases": [],
1483
- "id": "secrets:validate",
1502
+ "id": "secrets:providers",
1484
1503
  "pluginAlias": "@enspirit/emb",
1485
1504
  "pluginName": "@enspirit/emb",
1486
1505
  "pluginType": "core",
@@ -1493,22 +1512,17 @@
1493
1512
  "cli",
1494
1513
  "commands",
1495
1514
  "secrets",
1496
- "validate.js"
1515
+ "providers.js"
1497
1516
  ]
1498
1517
  },
1499
- "resources:build": {
1518
+ "secrets:validate": {
1500
1519
  "aliases": [],
1501
- "args": {
1502
- "component": {
1503
- "description": "List of resources to build (defaults to all)",
1504
- "name": "component",
1505
- "required": false
1506
- }
1507
- },
1508
- "description": "Build the resources of the monorepo",
1520
+ "args": {},
1521
+ "description": "Validate that all secret references can be resolved (without showing values).",
1509
1522
  "examples": [
1510
- "<%= config.bin %> <%= command.id %> build --flavor development",
1511
- "<%= config.bin %> <%= command.id %> build --publishable --flavor production"
1523
+ "<%= config.bin %> <%= command.id %>",
1524
+ "<%= config.bin %> <%= command.id %> --fail-fast",
1525
+ "<%= config.bin %> <%= command.id %> --json"
1512
1526
  ],
1513
1527
  "flags": {
1514
1528
  "json": {
@@ -1540,36 +1554,20 @@
1540
1554
  "multiple": false,
1541
1555
  "type": "option"
1542
1556
  },
1543
- "dry-run": {
1544
- "description": "Do not build the resources but only produce build meta information",
1545
- "name": "dry-run",
1546
- "required": false,
1547
- "allowNo": false,
1548
- "type": "boolean"
1549
- },
1550
- "force": {
1551
- "char": "f",
1552
- "description": "Bypass the cache and force the build",
1553
- "name": "force",
1554
- "required": false,
1555
- "allowNo": false,
1556
- "type": "boolean"
1557
- },
1558
- "publishable": {
1559
- "description": "Only build resources that are publishable (publish: true) and their dependencies",
1560
- "name": "publishable",
1561
- "required": false,
1557
+ "fail-fast": {
1558
+ "description": "Stop on first validation error",
1559
+ "name": "fail-fast",
1562
1560
  "allowNo": false,
1563
1561
  "type": "boolean"
1564
1562
  }
1565
1563
  },
1566
1564
  "hasDynamicHelp": false,
1567
1565
  "hiddenAliases": [],
1568
- "id": "resources:build",
1566
+ "id": "secrets:validate",
1569
1567
  "pluginAlias": "@enspirit/emb",
1570
1568
  "pluginName": "@enspirit/emb",
1571
1569
  "pluginType": "core",
1572
- "strict": false,
1570
+ "strict": true,
1573
1571
  "enableJsonFlag": true,
1574
1572
  "isESM": true,
1575
1573
  "relativePath": [
@@ -1577,17 +1575,25 @@
1577
1575
  "src",
1578
1576
  "cli",
1579
1577
  "commands",
1580
- "resources",
1581
- "build.js"
1578
+ "secrets",
1579
+ "validate.js"
1582
1580
  ]
1583
1581
  },
1584
- "resources": {
1582
+ "logs:archive": {
1585
1583
  "aliases": [],
1586
- "args": {},
1587
- "description": "List resources.",
1584
+ "args": {
1585
+ "service": {
1586
+ "description": "The service(s) to archive logs for (all if omitted)",
1587
+ "name": "service",
1588
+ "required": false
1589
+ }
1590
+ },
1591
+ "description": "Archive docker compose logs to files (one file per service).",
1588
1592
  "examples": [
1589
1593
  "<%= config.bin %> <%= command.id %>",
1590
- "<%= config.bin %> <%= command.id %> --publishable"
1594
+ "<%= config.bin %> <%= command.id %> backend frontend",
1595
+ "<%= config.bin %> <%= command.id %> --timestamps",
1596
+ "<%= config.bin %> <%= command.id %> --tail 1000"
1591
1597
  ],
1592
1598
  "flags": {
1593
1599
  "json": {
@@ -1611,29 +1617,36 @@
1611
1617
  "multiple": false,
1612
1618
  "type": "option"
1613
1619
  },
1614
- "flavor": {
1615
- "description": "Specify the flavor to use.",
1616
- "name": "flavor",
1617
- "required": false,
1620
+ "timestamps": {
1621
+ "char": "t",
1622
+ "description": "Include timestamps in logs",
1623
+ "name": "timestamps",
1624
+ "allowNo": false,
1625
+ "type": "boolean"
1626
+ },
1627
+ "tail": {
1628
+ "description": "Number of lines to show from the end of the logs",
1629
+ "name": "tail",
1618
1630
  "hasDynamicHelp": false,
1619
1631
  "multiple": false,
1620
1632
  "type": "option"
1621
1633
  },
1622
- "publishable": {
1623
- "description": "Only show resources that are publishable (publish: true)",
1624
- "name": "publishable",
1625
- "required": false,
1626
- "allowNo": false,
1627
- "type": "boolean"
1634
+ "output": {
1635
+ "char": "o",
1636
+ "description": "Output directory for log files (defaults to .emb/<flavor>/logs/docker/compose)",
1637
+ "name": "output",
1638
+ "hasDynamicHelp": false,
1639
+ "multiple": false,
1640
+ "type": "option"
1628
1641
  }
1629
1642
  },
1630
1643
  "hasDynamicHelp": false,
1631
1644
  "hiddenAliases": [],
1632
- "id": "resources",
1645
+ "id": "logs:archive",
1633
1646
  "pluginAlias": "@enspirit/emb",
1634
1647
  "pluginName": "@enspirit/emb",
1635
1648
  "pluginType": "core",
1636
- "strict": true,
1649
+ "strict": false,
1637
1650
  "enableJsonFlag": true,
1638
1651
  "isESM": true,
1639
1652
  "relativePath": [
@@ -1641,32 +1654,27 @@
1641
1654
  "src",
1642
1655
  "cli",
1643
1656
  "commands",
1644
- "resources",
1645
- "index.js"
1657
+ "logs",
1658
+ "archive.js"
1646
1659
  ]
1647
1660
  },
1648
- "resources:publish": {
1661
+ "logs": {
1649
1662
  "aliases": [],
1650
1663
  "args": {
1651
- "resources": {
1652
- "description": "List of resources to publish (defaults to all publishable)",
1653
- "name": "resources",
1664
+ "service": {
1665
+ "description": "The service(s) you want to see the logs of (all if omitted)",
1666
+ "name": "service",
1654
1667
  "required": false
1655
1668
  }
1656
1669
  },
1657
- "description": "Publish resources to their registries",
1670
+ "description": "Get service logs.",
1658
1671
  "examples": [
1659
- "<%= config.bin %> <%= command.id %> --flavor production",
1660
- "<%= config.bin %> <%= command.id %> api:image --flavor production"
1672
+ "<%= config.bin %> <%= command.id %>",
1673
+ "<%= config.bin %> <%= command.id %> backend",
1674
+ "<%= config.bin %> <%= command.id %> backend frontend",
1675
+ "<%= config.bin %> <%= command.id %> --no-follow backend"
1661
1676
  ],
1662
1677
  "flags": {
1663
- "json": {
1664
- "description": "Format output as json.",
1665
- "helpGroup": "GLOBAL",
1666
- "name": "json",
1667
- "allowNo": false,
1668
- "type": "boolean"
1669
- },
1670
1678
  "verbose": {
1671
1679
  "name": "verbose",
1672
1680
  "allowNo": true,
@@ -1681,38 +1689,30 @@
1681
1689
  "multiple": false,
1682
1690
  "type": "option"
1683
1691
  },
1684
- "flavor": {
1685
- "description": "Specify the flavor to use.",
1686
- "name": "flavor",
1687
- "required": false,
1688
- "hasDynamicHelp": false,
1689
- "multiple": false,
1690
- "type": "option"
1691
- },
1692
- "dry-run": {
1693
- "description": "Do not publish, just show what would be published",
1694
- "name": "dry-run",
1695
- "required": false,
1696
- "allowNo": false,
1692
+ "follow": {
1693
+ "char": "f",
1694
+ "description": "Follow log output",
1695
+ "name": "follow",
1696
+ "allowNo": true,
1697
1697
  "type": "boolean"
1698
1698
  }
1699
1699
  },
1700
1700
  "hasDynamicHelp": false,
1701
1701
  "hiddenAliases": [],
1702
- "id": "resources:publish",
1702
+ "id": "logs",
1703
1703
  "pluginAlias": "@enspirit/emb",
1704
1704
  "pluginName": "@enspirit/emb",
1705
1705
  "pluginType": "core",
1706
1706
  "strict": false,
1707
- "enableJsonFlag": true,
1707
+ "enableJsonFlag": false,
1708
1708
  "isESM": true,
1709
1709
  "relativePath": [
1710
1710
  "dist",
1711
1711
  "src",
1712
1712
  "cli",
1713
1713
  "commands",
1714
- "resources",
1715
- "publish.js"
1714
+ "logs",
1715
+ "index.js"
1716
1716
  ]
1717
1717
  },
1718
1718
  "tasks": {
@@ -1840,5 +1840,5 @@
1840
1840
  ]
1841
1841
  }
1842
1842
  },
1843
- "version": "0.25.0"
1843
+ "version": "0.25.1"
1844
1844
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@enspirit/emb",
3
3
  "type": "module",
4
- "version": "0.25.0",
4
+ "version": "0.25.1",
5
5
  "keywords": [
6
6
  "monorepo",
7
7
  "docker",