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 +94 -1
- package/CLI-HELP.md +99 -30
- package/README.md +2 -2
- package/bin/build.js +12 -1
- package/bin/build.template.js +4 -2
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/package.json +1 -1
- package/scripts/link-local-underpost-cli.sh +6 -0
- package/scripts/test-monitor.sh +250 -0
- package/src/cli/deploy.js +200 -54
- package/src/cli/env.js +1 -4
- package/src/cli/index.js +47 -0
- package/src/cli/monitor.js +269 -72
- package/src/cli/release.js +21 -6
- package/src/cli/repository.js +21 -4
- package/src/cli/run.js +44 -4
- package/src/client/components/core/PanelForm.js +44 -44
- package/src/db/mongo/MongooseDB.js +2 -1
- package/src/index.js +1 -1
- package/src/server/conf.js +91 -18
- package/src/server/ipfs-client.js +5 -3
- package/src/server/runtime-status.js +235 -0
- package/src/server/start.js +26 -9
- package/test/deploy-monitor.test.js +132 -69
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,99 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 2026-06-
|
|
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.
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
[](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://www.jsdelivr.com/package/npm/underpost) [](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://www.jsdelivr.com/package/npm/underpost) [](https://socket.dev/npm/package/underpost/overview/3.2.22) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](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.
|
|
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)
|
|
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();
|
package/bin/build.template.js
CHANGED
|
@@ -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
|
-
.
|
|
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);
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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",
|