underpost 3.2.14 → 3.2.22

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/CHANGELOG.md CHANGED
@@ -1,6 +1,99 @@
1
1
  # Changelog
2
2
 
3
- ## 2026-06-02
3
+ ## 2026-06-07
4
+
5
+ ### repository
6
+
7
+ - Add safe repo config in pullSourceRepo ([4325c1ba7](https://github.com/underpostnet/engine/commit/4325c1ba736b4e2fa64f0570dc5bedb9b33e351f))
8
+
9
+ ### docs
10
+
11
+ - Restore runtimeConfig docs logic ([819792d1d](https://github.com/underpostnet/engine/commit/819792d1de4e20e490c7bdffca66f794ef810868))
12
+ - Enhance favicon resolution logic in buildJsDocs function to handle missing files ([4b4b6cca2](https://github.com/underpostnet/engine/commit/4b4b6cca2b31f1b41c1e893e58a3bb94b67c4f26))
13
+ - Fix favicon path resolution in buildJsDocs function to handle missing files ([a572ffaf8](https://github.com/underpostnet/engine/commit/a572ffaf88de3e07b0c90fb485f57e9032d4e5bb))
14
+ - Update favicon path in buildJsDocs function to use publicClientId for dynamic resolution ([d839d6a02](https://github.com/underpostnet/engine/commit/d839d6a02b6a49a2aa6923ce5392ff4509c36f43))
15
+
16
+ ### monitor
17
+
18
+ - Add support for custom image names in deployment scripts ([2d4ddf731](https://github.com/underpostnet/engine/commit/2d4ddf731565e45e90b7e105ce17e6a56862e17f))
19
+ - Enhance transport handling in UnderpostMonitor: Default to exec, add opt-in for http ([eebe7ef03](https://github.com/underpostnet/engine/commit/eebe7ef0318e3bbe2533e31701bba7af9483e73c))
20
+ - Refactor test-monitor script: Enhance deployment modes and flag parsing ([07b65b004](https://github.com/underpostnet/engine/commit/07b65b0040d34883f67ebf6d9fa61872ff4c81f2))
21
+ - Enhance runtime status handling with exec transport and kubernetes gate ([135773938](https://github.com/underpostnet/engine/commit/135773938dcbd4e466e09afea73ccc8994a6509e))
22
+
23
+ ### deploy
24
+
25
+ - Refactor deployment commands to use dynamic node names and update MongoDB flag in run command ([b6a1dc9c7](https://github.com/underpostnet/engine/commit/b6a1dc9c751a09fd677d9778b252d967a08225cb))
26
+
27
+ ### cli-start
28
+
29
+ - Add error handling for deployment build/init process in UnderpostStartUp class ([6c7d7e056](https://github.com/underpostnet/engine/commit/6c7d7e0568903f89a0a3a06683b726e4f34fa843))
30
+ - Add support for private test repositories in build and monitor scripts ([23837d02b](https://github.com/underpostnet/engine/commit/23837d02b6a250ecc420e903a095d5be397494bb))
31
+
32
+ ### ipfs
33
+
34
+ - Refactor IPFS API URL functions to include container check for development environment ([61e3fcd1e](https://github.com/underpostnet/engine/commit/61e3fcd1e08b9ec43dca29a151a4309f2a44f276))
35
+
36
+ ### client-core
37
+
38
+ - Fix bug Panel component; when the user writes markdown content but uploads missing reload md file ([f91da9780](https://github.com/underpostnet/engine/commit/f91da97807b991bf9c6b8693c9c97bb8365df6f4))
39
+
40
+ ## New release v:3.2.21 (2026-06-06)
41
+
42
+ ### release
43
+
44
+ - Add options for MongoDB and Valkey configuration in build process ([7dba2a68a](https://github.com/underpostnet/engine/commit/7dba2a68a01dd0dacdf0e1f430170e80f6ce97d8))
45
+
46
+ ### repository
47
+
48
+ - Enhance deployment process: Include deploy ID in logging and update build commands ([aedd99415](https://github.com/underpostnet/engine/commit/aedd994157a5688b13c9f063b9e1446807282213))
49
+ - Add --has-changes option to check for staged or unstaged git changes and update template repo logic ([f479994a4](https://github.com/underpostnet/engine/commit/f479994a40ad3815839cd85f8664390074799c55))
50
+ - Ensure repository directory is created before initialization ([5cb66853f](https://github.com/underpostnet/engine/commit/5cb66853f2623e18edaf8f63de95757cc48d389a))
51
+
52
+ ### docs
53
+
54
+ - Refactor CLI documentation generation: Update command argument and option sections for improved clarity ([fd20febb1](https://github.com/underpostnet/engine/commit/fd20febb125f547b287edd784504185273080a51))
55
+
56
+ ### deploy
57
+
58
+ - Add support for self-signed TLS certificates and related options in deployment scripts ([d03ddf7b7](https://github.com/underpostnet/engine/commit/d03ddf7b758afb9c55fe7c610011fe9e4828d033))
59
+ - Add localProxy option to enable TCP port forwarding and path-based routing ([6b6c03a4c](https://github.com/underpostnet/engine/commit/6b6c03a4c0a990a9b03c234025b3d68deb48f41a))
60
+ - Add exposeLocalPort option for custom local port configuration in deployment ([60fe88b95](https://github.com/underpostnet/engine/commit/60fe88b95e69c744fb53d900edaf6b918f0824bb))
61
+ - Refactor deployment scripts: Update commands in engine-test workflow and add link-local CLI script ([8506dbca4](https://github.com/underpostnet/engine/commit/8506dbca4280e782cb550206f8bf550f9f6f81af))
62
+
63
+ ### cli-run
64
+
65
+ - Add build-cluster-deployment-manifests method and update test-monitor script: Implement deployment manifest building for production and development environments. ([be2c5a71e](https://github.com/underpostnet/engine/commit/be2c5a71e553a65e57fd9f21a5ccb5acaf7b7d58))
66
+ - Add etc-hosts method: Modify /etc/hosts file for local service access ([c4e7ba286](https://github.com/underpostnet/engine/commit/c4e7ba286651f002c1f6be09225c092b0596e4b8))
67
+
68
+ ### monitor
69
+
70
+ - Refactor monitoring and deployment port resolution: Introduce deployStatusPort for consistent internal status port handling and implement findFreePort for ephemeral TCP port allocation. ([735c2c41e](https://github.com/underpostnet/engine/commit/735c2c41e2cfc7c47dd7ce3f0832b80f9c41188f))
71
+ - Add test-monitor script: Implement deployment and monitoring commands for development environment ([a74316ae1](https://github.com/underpostnet/engine/commit/a74316ae140c7917c2923f9f6f63d0ea74859116))
72
+ - Implement reliable two-phase deployment monitoring with internal HTTP status endpoint ([a2b49dcd6](https://github.com/underpostnet/engine/commit/a2b49dcd62ee5056c6d4e5caba0faf867e531269))
73
+ - Improve pod status handling: Exclude 'empty' status from container status checks ([6d18e2872](https://github.com/underpostnet/engine/commit/6d18e28720004eca5dcff8ad61373ac74b46851a))
74
+ - Improve pod status handling: Exclude 'empty' status from advanced pod tracking ([a90400342](https://github.com/underpostnet/engine/commit/a904003428a2a920f56ea409391812a6d3dab794))
75
+
76
+ ### build-template
77
+
78
+ - Add option to update private template repository ([77cbe276a](https://github.com/underpostnet/engine/commit/77cbe276af8f5a3a85c95ab8ad2044b57ee52326))
79
+
80
+ ### runtime-cyberia
81
+
82
+ - Refactor Dockerfiles: Standardize comments and clean up unnecessary lines ([6ae4d0bef](https://github.com/underpostnet/engine/commit/6ae4d0bef71eb31fc56eb66be5e52ba3334b5f13))
83
+
84
+ ### engine-cyberia
85
+
86
+ - Enhance dialogue and quest systems: Add new dialogue entries for Lain, update action types, and revise implementation status in documentation ([67702fa9c](https://github.com/underpostnet/engine/commit/67702fa9c4219fed4742d078f88a52167dd08249))
87
+
88
+ ### cyberia-cli
89
+
90
+ - Add Mongo host override option to import command for Object Layer items ([b181892b4](https://github.com/underpostnet/engine/commit/b181892b48753f7a40ede0346934f6a8b9fd21dc))
91
+
92
+ ### env
93
+
94
+ - Simplify environment variable check: Remove redundant logging for empty env path ([b192cdff4](https://github.com/underpostnet/engine/commit/b192cdff40c2053c651210fbf244be34b74b8376))
95
+
96
+ ## New release v:3.2.14 (2026-06-02)
4
97
 
5
98
  ### runtime-wp
6
99
 
package/CLI-HELP.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Underpost CLI
2
2
 
3
- > underpost ci/cd cli v3.2.14
3
+ > underpost ci/cd cli v3.2.22
4
4
 
5
5
  **Usage:** `underpost [options] [command]`
6
6
 
@@ -46,7 +46,7 @@
46
46
 
47
47
  ## Command reference
48
48
 
49
- ### `underpost new`
49
+ ### underpost new
50
50
 
51
51
  Initializes a new Underpost project, service, or configuration.
52
52
 
@@ -76,7 +76,9 @@ Initializes a new Underpost project, service, or configuration.
76
76
  | `--conf-workflow-id <workflow-id>` | Set custom configuration workflow ID for conf generation |
77
77
  | `-h, --help` | display help for command |
78
78
 
79
- ### `underpost client`
79
+ ---
80
+
81
+ ### underpost client
80
82
 
81
83
  Builds client assets, single replicas, and/or syncs environment ports.
82
84
 
@@ -105,7 +107,9 @@ Builds client assets, single replicas, and/or syncs environment ports.
105
107
  | `--icons-build` | Build icons |
106
108
  | `-h, --help` | display help for command |
107
109
 
108
- ### `underpost start`
110
+ ---
111
+
112
+ ### underpost start
109
113
 
110
114
  Initiates application servers, build pipelines, or other defined services based on the deployment ID.
111
115
 
@@ -128,9 +132,12 @@ Initiates application servers, build pipelines, or other defined services based
128
132
  | `--skip-pull-base` | Skips cloning repositories, uses current workspace code directly. |
129
133
  | `--skip-full-build` | Skips the full client bundle build during deployment. |
130
134
  | `--pull-bundle` | Downloads the pre-built client bundle from Cloudinary via pull-bundle before starting. Use together with --skip-full-build to skip the local build entirely. |
135
+ | `--private-test-repo` | During --build, clone the private test source repo (engine-test-<id>) instead of the production engine-<id> repo. |
131
136
  | `-h, --help` | display help for command |
132
137
 
133
- ### `underpost clone`
138
+ ---
139
+
140
+ ### underpost clone
134
141
 
135
142
  Clones a specified GitHub repository into the current directory.
136
143
 
@@ -150,7 +157,9 @@ Clones a specified GitHub repository into the current directory.
150
157
  | `--g8` | Uses the g8 repository extension for cloning. |
151
158
  | `-h, --help` | display help for command |
152
159
 
153
- ### `underpost pull`
160
+ ---
161
+
162
+ ### underpost pull
154
163
 
155
164
  Pulls the latest changes from a specified GitHub repository.
156
165
 
@@ -170,7 +179,9 @@ Pulls the latest changes from a specified GitHub repository.
170
179
  | `--g8` | Uses the g8 repository extension for pulling. |
171
180
  | `-h, --help` | display help for command |
172
181
 
173
- ### `underpost cmt`
182
+ ---
183
+
184
+ ### underpost cmt
174
185
 
175
186
  Manages commits to a GitHub repository, supporting various commit types and options.
176
187
 
@@ -209,9 +220,12 @@ Manages commits to a GitHub repository, supporting various commit types and opti
209
220
  | `-p [branch]` | Shows the reflog for the specified branch. |
210
221
  | `--bc <commit-hash>` | Shows branches that contain the specified commit. |
211
222
  | `--is-remote-repo <url-repo>` | Checks whether a remote Git repository URL is reachable. Prints true or false. |
223
+ | `--has-changes` | Prints "1" if there are staged or unstaged git changes in the repository, empty string otherwise. |
212
224
  | `-h, --help` | display help for command |
213
225
 
214
- ### `underpost push`
226
+ ---
227
+
228
+ ### underpost push
215
229
 
216
230
  Pushes committed changes from a local repository to a remote GitHub repository.
217
231
 
@@ -232,7 +246,9 @@ Pushes committed changes from a local repository to a remote GitHub repository.
232
246
  | `--g8` | Uses the g8 repository extension for pushing. |
233
247
  | `-h, --help` | display help for command |
234
248
 
235
- ### `underpost env`
249
+ ---
250
+
251
+ ### underpost env
236
252
 
237
253
  Sets environment variables and configurations related to a specific deployment ID.
238
254
 
@@ -252,7 +268,9 @@ Sets environment variables and configurations related to a specific deployment I
252
268
  | --- | --- |
253
269
  | `-h, --help` | display help for command |
254
270
 
255
- ### `underpost static`
271
+ ---
272
+
273
+ ### underpost static
256
274
 
257
275
  Manages static build of page, bundles, and documentation with comprehensive customization options.
258
276
 
@@ -293,7 +311,9 @@ Manages static build of page, bundles, and documentation with comprehensive cust
293
311
  | `--run-sv [port]` | Start a standalone Express static server to preview the static build (default port: 5000). |
294
312
  | `-h, --help` | display help for command |
295
313
 
296
- ### `underpost config`
314
+ ---
315
+
316
+ ### underpost config
297
317
 
298
318
  Manages Underpost configurations using various operators.
299
319
 
@@ -318,7 +338,9 @@ Manages Underpost configurations using various operators.
318
338
  | `--copy` | Copies the configuration value to the clipboard (only for get operation). |
319
339
  | `-h, --help` | display help for command |
320
340
 
321
- ### `underpost root`
341
+ ---
342
+
343
+ ### underpost root
322
344
 
323
345
  Displays the root path of the npm installation.
324
346
 
@@ -330,7 +352,9 @@ Displays the root path of the npm installation.
330
352
  | --- | --- |
331
353
  | `-h, --help` | display help for command |
332
354
 
333
- ### `underpost ip`
355
+ ---
356
+
357
+ ### underpost ip
334
358
 
335
359
  Displays the current public machine IP addresses.
336
360
 
@@ -361,7 +385,9 @@ Displays the current public machine IP addresses.
361
385
  | `--mac` | Prints the MAC address of the main network interface. |
362
386
  | `-h, --help` | display help for command |
363
387
 
364
- ### `underpost cluster`
388
+ ---
389
+
390
+ ### underpost cluster
365
391
 
366
392
  Manages Kubernetes clusters, defaulting to Kind cluster initialization.
367
393
 
@@ -413,7 +439,9 @@ Manages Kubernetes clusters, defaulting to Kind cluster initialization.
413
439
  | `--replicas <replicas>` | Sets a custom number of replicas for statefulset deployments. |
414
440
  | `-h, --help` | display help for command |
415
441
 
416
- ### `underpost deploy`
442
+ ---
443
+
444
+ ### underpost deploy
417
445
 
418
446
  Manages application deployments, defaulting to deploying development pods.
419
447
 
@@ -436,6 +464,7 @@ Manages application deployments, defaulting to deploying development pods.
436
464
  | `--expose` | Exposes services matching the provided deployment ID list. |
437
465
  | `--cert` | Resets TLS/SSL certificate secrets for deployments. |
438
466
  | `--cert-hosts <hosts>` | Resets TLS/SSL certificate secrets for specified hosts. |
467
+ | `--self-signed` | Use a pre-created self-signed TLS secret (kubernetes.io/tls) instead of cert-manager. The secret must already exist in the namespace with the same name as the host. Enables TLS in the Contour HTTPProxy virtualhost without requiring a production ClusterIssuer. |
439
468
  | `--node <node>` | Sets optional node for deployment operations. |
440
469
  | `--build-manifest` | Builds Kubernetes YAML manifests, including deployments, services, proxies, and secrets. |
441
470
  | `--replicas <replicas>` | Sets a custom number of replicas for deployments. |
@@ -447,6 +476,8 @@ Manages application deployments, defaulting to deploying development pods.
447
476
  | `--retry-count <count>` | Sets HTTPProxy per-route retry count (e.g., 3). |
448
477
  | `--retry-per-try-timeout <duration>` | Sets HTTPProxy retry per-try timeout (e.g., "150ms"). |
449
478
  | `--disable-update-deployment` | Disables updates to deployments. |
479
+ | `--disable-runtime-probes` | Omits the internal-status HTTP probes from generated deployment manifests. |
480
+ | `--tcp-probes` | Generates legacy TCP socket probes instead of HTTP internal-status probes (migration). |
450
481
  | `--disable-update-proxy` | Disables updates to proxies. |
451
482
  | `--disable-deployment-proxy` | Disables proxies of deployments. |
452
483
  | `--disable-update-volume` | Disables updates to volume mounts during deployment. |
@@ -460,13 +491,18 @@ Manages application deployments, defaulting to deploying development pods.
460
491
  | `--kind-type <kind-type>` | Specifies the Kind cluster type for deployment operations. |
461
492
  | `--port <port>` | Sets up port forwarding from local to remote ports. |
462
493
  | `--expose-port <port>` | Sets the local:remote port to expose when --expose is active (overrides auto-detected service port). |
494
+ | `--expose-local-port <port>` | Sets a different local port for --expose (e.g. 80) while keeping the remote service port. Useful for /etc/hosts local access without specifying a port in the browser. |
495
+ | `--local-proxy` | Forward all service TCP ports locally and start the Node.js path-routing proxy. Enables full path-based routing (e.g. /wp alongside /) without needing --expose-local-port. Requires --expose. |
463
496
  | `--cmd <cmd>` | Custom initialization command for deployment (comma-separated commands). |
464
497
  | `--skip-full-build` | Skip client bundle rebuild; container will pull pre-built bundle via pull-bundle instead. |
465
498
  | `--pull-bundle` | Explicitly pull the pre-built client bundle from Cloudinary inside the container. Use together with --skip-full-build. |
466
499
  | `--image-pull-policy <policy>` | Override container imagePullPolicy in the generated deployment manifest (Always, IfNotPresent, Never). Defaults to Never for localhost/ images and IfNotPresent otherwise. |
500
+ | `--tls` | Enables TLS for the local proxy started by --expose --local-proxy. The proxy will serve HTTPS on port 443 using self-signed certificates resolved from the local SSL store. Use together with --expose and --local-proxy. |
467
501
  | `-h, --help` | display help for command |
468
502
 
469
- ### `underpost secret`
503
+ ---
504
+
505
+ ### underpost secret
470
506
 
471
507
  Manages secrets for various platforms.
472
508
 
@@ -489,7 +525,9 @@ Manages secrets for various platforms.
489
525
  | `--list` | Lists all available secrets for the platform. |
490
526
  | `-h, --help` | display help for command |
491
527
 
492
- ### `underpost image`
528
+ ---
529
+
530
+ ### underpost image
493
531
 
494
532
  Manages Docker images, including building, saving, and loading into Kubernetes clusters.
495
533
 
@@ -519,7 +557,9 @@ Manages Docker images, including building, saving, and loading into Kubernetes c
519
557
  | `--pull-dockerhub <dockerhub-image>` | Sets a custom Docker Hub image for base image pulls. |
520
558
  | `-h, --help` | display help for command |
521
559
 
522
- ### `underpost install`
560
+ ---
561
+
562
+ ### underpost install
523
563
 
524
564
  Quickly imports Underpost npm dependencies by copying them.
525
565
 
@@ -531,7 +571,9 @@ Quickly imports Underpost npm dependencies by copying them.
531
571
  | --- | --- |
532
572
  | `-h, --help` | display help for command |
533
573
 
534
- ### `underpost db`
574
+ ---
575
+
576
+ ### underpost db
535
577
 
536
578
  Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration.
537
579
 
@@ -573,7 +615,9 @@ Manages database operations with support for MariaDB and MongoDB, including impo
573
615
  | `--repo-backup` | Backs up repositories (git commit+push) inside deployment pods via kubectl exec. |
574
616
  | `-h, --help` | display help for command |
575
617
 
576
- ### `underpost metadata`
618
+ ---
619
+
620
+ ### underpost metadata
577
621
 
578
622
  Manages cluster metadata operations, including import and export.
579
623
 
@@ -600,7 +644,9 @@ Manages cluster metadata operations, including import and export.
600
644
  | `--dev` | Sets the development cli context |
601
645
  | `-h, --help` | display help for command |
602
646
 
603
- ### `underpost cron`
647
+ ---
648
+
649
+ ### underpost cron
604
650
 
605
651
  Manages cron jobs: execute jobs directly or generate and apply K8s CronJob manifests.
606
652
 
@@ -632,7 +678,9 @@ Manages cron jobs: execute jobs directly or generate and apply K8s CronJob manif
632
678
  | `--create-job-now` | After applying manifests, immediately create a Job from each CronJob (requires --apply). |
633
679
  | `-h, --help` | display help for command |
634
680
 
635
- ### `underpost fs`
681
+ ---
682
+
683
+ ### underpost fs
636
684
 
637
685
  Manages file storage, defaulting to file upload operations.
638
686
 
@@ -658,7 +706,9 @@ Manages file storage, defaulting to file upload operations.
658
706
  | `--storage-file-path <storage-file-path>` | Specifies a custom file storage path. |
659
707
  | `-h, --help` | display help for command |
660
708
 
661
- ### `underpost test`
709
+ ---
710
+
711
+ ### underpost test
662
712
 
663
713
  Manages and runs tests, defaulting to the current Underpost default test suite.
664
714
 
@@ -682,7 +732,9 @@ Manages and runs tests, defaulting to the current Underpost default test suite.
682
732
  | `--kind-type <kind-type>` | Optional: Specifies the Kind cluster type for tests. |
683
733
  | `-h, --help` | display help for command |
684
734
 
685
- ### `underpost monitor`
735
+ ---
736
+
737
+ ### underpost monitor
686
738
 
687
739
  Manages health server monitoring for specified deployments.
688
740
 
@@ -716,7 +768,9 @@ Manages health server monitoring for specified deployments.
716
768
  | `--promote` | Promotes the deployment after monitoring. |
717
769
  | `-h, --help` | display help for command |
718
770
 
719
- ### `underpost ssh`
771
+ ---
772
+
773
+ ### underpost ssh
720
774
 
721
775
  Manages SSH credentials and sessions for remote access to cluster nodes or services.
722
776
 
@@ -749,7 +803,9 @@ Manages SSH credentials and sessions for remote access to cluster nodes or servi
749
803
  | `--copy` | Copies the connection URI to clipboard. |
750
804
  | `-h, --help` | display help for command |
751
805
 
752
- ### `underpost run`
806
+ ---
807
+
808
+ ### underpost run
753
809
 
754
810
  Runs specified scripts using various runners.
755
811
 
@@ -759,7 +815,7 @@ Runs specified scripts using various runners.
759
815
 
760
816
  | Argument | Description |
761
817
  | --- | --- |
762
- | `runner-id` | The runner ID to run. Options: dev-cluster,ipfs-expose,metadata,svc-ls,svc-rm,ssh-deploy-info,dev-hosts-expose,dev-hosts-restore,cluster-build,template-deploy,template-deploy-local,docker-image,clean,pull,release-deploy,ssh-deploy,ide,crypto-policy,sync,stop,ssh-deploy-stop,ssh-deploy-db-rollback,ssh-deploy-db,ssh-deploy-db-status,tz,get-proxy,instance-promote,instance,instance-build-manifest,ls-deployments,host-update,install-crio,dd-container,ip-info,db-client,git-conf,promote,metrics,cluster,deploy,disk-clean,disk-devices,disk-usage,dev,service,etc-hosts,sh,log,ps,pid-info,background,ports,deploy-test,tf-vae-test,spark-template,pull-rocky-image,rmi,kill,generate-pass,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job,push-bundle,pull-bundle,monitor-ui,shared-dir. |
818
+ | `runner-id` | The runner ID to run. Options: dev-cluster,etc-hosts,ipfs-expose,metadata,svc-ls,svc-rm,ssh-deploy-info,dev-hosts-expose,dev-hosts-restore,cluster-build,template-deploy,template-deploy-local,docker-image,clean,pull,release-deploy,ssh-deploy,ide,crypto-policy,sync,stop,ssh-deploy-stop,ssh-deploy-db-rollback,ssh-deploy-db,ssh-deploy-db-status,tz,get-proxy,instance-promote,instance,instance-build-manifest,ls-deployments,host-update,install-crio,dd-container,ip-info,db-client,git-conf,promote,metrics,cluster,deploy,disk-clean,disk-devices,disk-usage,dev,service,sh,log,ps,pid-info,background,ports,deploy-test,tf-vae-test,spark-template,pull-rocky-image,rmi,kill,generate-pass,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job,push-bundle,pull-bundle,build-cluster-deployment-manifests,monitor-ui,shared-dir. |
763
819
  | `path` | The input value, identifier, or path for the operation. |
764
820
 
765
821
  #### Options
@@ -833,9 +889,12 @@ Runs specified scripts using various runners.
833
889
  | `--skip-full-build` | Skip client bundle rebuild; triggers pull-bundle in container startup (supported by: sync, template-deploy). |
834
890
  | `--pull-bundle` | Explicitly download the pre-built client bundle from Cloudinary inside the container (supported by: sync, template-deploy). Use together with --skip-full-build. |
835
891
  | `--remove` | Remove/teardown resources |
892
+ | `--test` | Enables test/generic-purpose mode for the runner (e.g. use self-signed TLS instead of cert-manager). |
836
893
  | `-h, --help` | display help for command |
837
894
 
838
- ### `underpost lxd`
895
+ ---
896
+
897
+ ### underpost lxd
839
898
 
840
899
  Manages LXD virtual machines as K3s nodes (control plane or workers).
841
900
 
@@ -880,7 +939,9 @@ Manages LXD virtual machines as K3s nodes (control plane or workers).
880
939
  | `--move-to-project` | Stop the [vm-id] VM in the default project, move it to --maas-project, then start it so MAAS picks it up. Requires --maas-project. |
881
940
  | `-h, --help` | display help for command |
882
941
 
883
- ### `underpost baremetal`
942
+ ---
943
+
944
+ ### underpost baremetal
884
945
 
885
946
  Manages baremetal server operations, including installation, database setup, commissioning, and user management.
886
947
 
@@ -938,7 +999,9 @@ Manages baremetal server operations, including installation, database setup, com
938
999
  | `--ls` | Lists available boot resources and machines. |
939
1000
  | `-h, --help` | display help for command |
940
1001
 
941
- ### `underpost release`
1002
+ ---
1003
+
1004
+ ### underpost release
942
1005
 
943
1006
  Release orchestrator for building new versions and deploying releases of the Underpost CLI.
944
1007
 
@@ -960,4 +1023,10 @@ Release orchestrator for building new versions and deploying releases of the Und
960
1023
  | `--message <message>` | Commit message for --ci-push or --pwa-build (defaults to last commit of the engine repository). |
961
1024
  | `--pwa-build` | Runs the pwa-microservices-template update flow: always re-clones, syncs engine sources, installs, builds, and pushes. |
962
1025
  | `--dry-run` | For --build: previews version-bump changes (per-file substitution counts) without writing files or running downstream commands. |
1026
+ | `--mongo-host <host>` | For --build: override DB_HOST in the template .env.example for the smoke test (e.g., "192.168.1.82:27017"). |
1027
+ | `--mongo-user <user>` | For --build: override DB_USER in the template .env.example for the smoke test. |
1028
+ | `--mongo-password <password>` | For --build: override DB_PASSWORD in the template .env.example for the smoke test. |
1029
+ | `--valkey-host <host>` | For --build: override VALKEY_HOST in the template .env.example for the smoke test (e.g., "192.168.1.82"). |
963
1030
  | `-h, --help` | display help for command |
1031
+
1032
+ ---
package/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  <div align="center">
18
18
 
19
- [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![](https://data.jsdelivr.com/v1/package/npm/underpost/badge)](https://www.jsdelivr.com/package/npm/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/3.2.14)](https://socket.dev/npm/package/underpost/overview/3.2.14) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
19
+ [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![](https://data.jsdelivr.com/v1/package/npm/underpost/badge)](https://www.jsdelivr.com/package/npm/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/3.2.22)](https://socket.dev/npm/package/underpost/overview/3.2.22) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
20
20
 
21
21
  </div>
22
22
 
@@ -88,7 +88,7 @@ npm run dev
88
88
  <!-- cli-index-start -->
89
89
  ## Underpost CLI
90
90
 
91
- > underpost ci/cd cli v3.2.14
91
+ > underpost ci/cd cli v3.2.22
92
92
 
93
93
  **Usage:** `underpost [options] [command]`
94
94
 
package/bin/build.js CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  syncPrivateConf,
12
12
  syncDeployIdSources,
13
13
  buildTemplate,
14
+ updatePrivateEngineTestRepo,
14
15
  } from '../src/server/conf.js';
15
16
  import { loadDeployCatalog } from '../src/server/catalog.js';
16
17
  import UnderpostRepository from '../src/cli/repository.js';
@@ -191,6 +192,11 @@ program
191
192
  '--no-template-rebuild',
192
193
  'Skip the from-scratch base template reconstruction before assembly (assemble onto the existing template).',
193
194
  )
195
+ .option(
196
+ '--update-private',
197
+ 'After assembling each deploy id, publish it to its private test source repo (underpostnet/engine-test-<id>) for isolated test deploys.',
198
+ false,
199
+ )
194
200
  .action(async (confName, env, options) => {
195
201
  const deployList = resolveDeployList(confName);
196
202
  logger.info('Build repository', { confName, basePath, deployList, conf: !!options.conf });
@@ -207,7 +213,12 @@ program
207
213
  // build run leaks into this one. Opt out with --no-template-rebuild.
208
214
  if (options.templateRebuild) await buildTemplate({ toPath: basePath });
209
215
 
210
- for (const deployId of deployList) await buildDeployTemplate(deployId);
216
+ for (const deployId of deployList) {
217
+ await buildDeployTemplate(deployId);
218
+ // Publish the just-assembled tree to the deploy id's private test repo so a
219
+ // pod started with `--private-test-repo` clones this work-in-progress source.
220
+ if (options.updatePrivate) await updatePrivateEngineTestRepo(deployId);
221
+ }
211
222
  });
212
223
 
213
224
  await program.parseAsync();
@@ -4,7 +4,7 @@ import { Command } from 'commander';
4
4
  import fs from 'fs-extra';
5
5
  import dotenv from 'dotenv';
6
6
  import { loggerFactory } from '../src/server/logger.js';
7
- import { buildTemplate } from '../src/server/conf.js';
7
+ import { buildTemplate, updatePrivateTemplateRepo } from '../src/server/conf.js';
8
8
 
9
9
  if (fs.existsSync('./engine-private/conf/dd-cron/.env.production'))
10
10
  dotenv.config({ path: `./engine-private/conf/dd-cron/.env.production`, override: true });
@@ -19,8 +19,10 @@ program
19
19
  .description('Rebuild the standalone pwa-microservices-template from scratch out of the engine source tree.')
20
20
  .argument('[src-path]', 'Engine source root to sync from.', './')
21
21
  .argument('[to-path]', 'Template output path.', '../pwa-microservices-template')
22
- .action(async (srcPath, toPath) => {
22
+ .option('--update-private', 'Update private template repository', false)
23
+ .action(async (srcPath, toPath, options) => {
23
24
  try {
25
+ if (options.updatePrivate) return await updatePrivateTemplateRepo();
24
26
  await buildTemplate({ srcPath: srcPath.replaceAll(`'`, ''), toPath: toPath.replaceAll(`'`, '') });
25
27
  } catch (error) {
26
28
  logger.error(error, error.stack);
@@ -23,7 +23,7 @@ spec:
23
23
  spec:
24
24
  containers:
25
25
  - name: dd-cron-backup
26
- image: underpost/underpost-engine:v3.2.14
26
+ image: underpost/underpost-engine:v3.2.22
27
27
  command:
28
28
  - /bin/sh
29
29
  - -c
@@ -23,7 +23,7 @@ spec:
23
23
  spec:
24
24
  containers:
25
25
  - name: dd-cron-dns
26
- image: underpost/underpost-engine:v3.2.14
26
+ image: underpost/underpost-engine:v3.2.22
27
27
  command:
28
28
  - /bin/sh
29
29
  - -c
@@ -17,7 +17,7 @@ spec:
17
17
  spec:
18
18
  containers:
19
19
  - name: dd-default-development-blue
20
- image: underpost/underpost-engine:v3.2.14
20
+ image: underpost/underpost-engine:v3.2.22
21
21
  # resources:
22
22
  # requests:
23
23
  # memory: "124Ki"
@@ -98,7 +98,7 @@ spec:
98
98
  spec:
99
99
  containers:
100
100
  - name: dd-default-development-green
101
- image: underpost/underpost-engine:v3.2.14
101
+ image: underpost/underpost-engine:v3.2.22
102
102
  # resources:
103
103
  # requests:
104
104
  # memory: "124Ki"
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "type": "module",
3
3
  "main": "src/index.js",
4
4
  "name": "underpost",
5
- "version": "3.2.14",
5
+ "version": "3.2.22",
6
6
  "description": "Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orchestration. Extensible via downstream CLIs.",
7
7
  "scripts": {
8
8
  "start": "node --max-old-space-size=8192 src/server",
@@ -0,0 +1,6 @@
1
+
2
+ #!/usr/bin/env bash
3
+ set -euo pipefail
4
+
5
+ cd /home/dd && underpost clone underpostnet/pwa-microservices-template
6
+ cd /home/dd/pwa-microservices-template && npm install && npm link