underpost 3.2.9 → 3.2.11

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.
Files changed (104) hide show
  1. package/.github/workflows/npmpkg.ci.yml +1 -0
  2. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  3. package/.github/workflows/release.cd.yml +1 -0
  4. package/.vscode/extensions.json +9 -9
  5. package/.vscode/settings.json +20 -4
  6. package/CHANGELOG.md +195 -1
  7. package/CLI-HELP.md +92 -23
  8. package/README.md +38 -9
  9. package/bin/build.js +27 -7
  10. package/bin/build.template.js +187 -0
  11. package/bin/deploy.js +12 -2
  12. package/bin/index.js +2 -1
  13. package/bump.config.js +26 -0
  14. package/conf.js +20 -7
  15. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  16. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  17. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  18. package/manifests/deployment/dd-test-development/deployment.yaml +4 -2
  19. package/manifests/kind-config-dev.yaml +8 -0
  20. package/manifests/lxd/lxd-admin-profile.yaml +12 -3
  21. package/manifests/mongodb/pv-pvc.yaml +44 -8
  22. package/manifests/mongodb/statefulset.yaml +55 -68
  23. package/manifests/mongodb-4.4/headless-service.yaml +10 -0
  24. package/manifests/mongodb-4.4/kustomization.yaml +3 -1
  25. package/manifests/mongodb-4.4/mongodb-nodeport.yaml +17 -0
  26. package/manifests/mongodb-4.4/pv-pvc.yaml +10 -14
  27. package/manifests/mongodb-4.4/statefulset.yaml +79 -0
  28. package/manifests/mongodb-4.4/storage-class.yaml +9 -0
  29. package/manifests/valkey/statefulset.yaml +1 -1
  30. package/manifests/valkey/valkey-nodeport.yaml +17 -0
  31. package/package.json +27 -12
  32. package/scripts/ipxe-setup.sh +52 -49
  33. package/scripts/k3s-node-setup.sh +81 -46
  34. package/scripts/lxd-vm-setup.sh +193 -8
  35. package/scripts/maas-nat-firewalld.sh +145 -0
  36. package/src/api/core/core.router.js +19 -14
  37. package/src/api/core/core.service.js +5 -5
  38. package/src/api/default/default.router.js +22 -18
  39. package/src/api/default/default.service.js +5 -5
  40. package/src/api/document/document.router.js +28 -23
  41. package/src/api/document/document.service.js +100 -23
  42. package/src/api/file/file.router.js +19 -13
  43. package/src/api/file/file.service.js +9 -7
  44. package/src/api/test/test.router.js +17 -12
  45. package/src/api/types.js +24 -0
  46. package/src/api/user/guest.service.js +5 -4
  47. package/src/api/user/user.router.js +297 -288
  48. package/src/api/user/user.service.js +100 -35
  49. package/src/cli/baremetal.js +132 -101
  50. package/src/cli/cluster.js +700 -232
  51. package/src/cli/db.js +59 -60
  52. package/src/cli/deploy.js +216 -137
  53. package/src/cli/fs.js +13 -3
  54. package/src/cli/index.js +80 -15
  55. package/src/cli/ipfs.js +4 -6
  56. package/src/cli/kubectl.js +4 -1
  57. package/src/cli/lxd.js +1099 -223
  58. package/src/cli/monitor.js +9 -3
  59. package/src/cli/release.js +334 -140
  60. package/src/cli/repository.js +68 -23
  61. package/src/cli/run.js +191 -47
  62. package/src/cli/secrets.js +11 -2
  63. package/src/cli/test.js +9 -3
  64. package/src/client/Default.index.js +9 -3
  65. package/src/client/components/core/Auth.js +5 -0
  66. package/src/client/components/core/ClientEvents.js +76 -0
  67. package/src/client/components/core/EventBus.js +4 -0
  68. package/src/client/components/core/Modal.js +82 -41
  69. package/src/client/components/core/PanelForm.js +56 -52
  70. package/src/client/components/core/Worker.js +162 -363
  71. package/src/client/sw/core.sw.js +174 -112
  72. package/src/db/DataBaseProvider.js +115 -15
  73. package/src/db/mariadb/MariaDB.js +2 -1
  74. package/src/db/mongo/MongoBootstrap.js +657 -0
  75. package/src/db/mongo/MongooseDB.js +129 -21
  76. package/src/index.js +1 -1
  77. package/src/runtime/express/Express.js +2 -2
  78. package/src/runtime/wp/Wp.js +8 -5
  79. package/src/server/auth.js +2 -2
  80. package/src/server/client-build-docs.js +1 -1
  81. package/src/server/client-build.js +94 -129
  82. package/src/server/conf.js +81 -79
  83. package/src/server/process.js +180 -19
  84. package/src/server/proxy.js +9 -2
  85. package/src/server/runtime.js +1 -1
  86. package/src/server/start.js +16 -4
  87. package/src/server/valkey.js +2 -0
  88. package/src/ws/IoInterface.js +16 -16
  89. package/src/ws/core/channels/core.ws.chat.js +11 -11
  90. package/src/ws/core/channels/core.ws.mailer.js +29 -29
  91. package/src/ws/core/channels/core.ws.stream.js +19 -19
  92. package/src/ws/core/core.ws.connection.js +8 -8
  93. package/src/ws/core/core.ws.server.js +6 -5
  94. package/src/ws/default/channels/default.ws.main.js +10 -10
  95. package/src/ws/default/default.ws.connection.js +4 -4
  96. package/src/ws/default/default.ws.server.js +4 -3
  97. package/bin/file.js +0 -202
  98. package/bin/vs.js +0 -74
  99. package/bin/zed.js +0 -84
  100. package/src/client/ssr/email/DefaultRecoverEmail.js +0 -21
  101. package/src/client/ssr/email/DefaultVerifyEmail.js +0 -17
  102. /package/src/client/ssr/{offline → views}/Maintenance.js +0 -0
  103. /package/src/client/ssr/{offline → views}/NoNetworkConnection.js +0 -0
  104. /package/src/client/ssr/{pages → views}/Test.js +0 -0
@@ -81,6 +81,7 @@ jobs:
81
81
  - name: Clone github package repository
82
82
  env:
83
83
  GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
84
+ GITHUB_USERNAME: ${{ github.repository_owner }}
84
85
  run: |
85
86
  cd .. && node engine/bin clone underpostnet/pwa-microservices-template
86
87
  cd engine
@@ -30,4 +30,4 @@ jobs:
30
30
  run: npm install
31
31
 
32
32
  - name: Run test
33
- run: node bin test
33
+ run: npm test
@@ -34,6 +34,7 @@ jobs:
34
34
  # Commands to run on the remote VM
35
35
  script: |
36
36
  set -e
37
+ set -o pipefail
37
38
  echo "Starting remote release deploy"
38
39
  cd /home/dd/engine
39
40
  sudo -n -- /bin/bash -lc "node bin run pull"
@@ -1,10 +1,10 @@
1
1
  {
2
- "recommendations": [
3
- "anseki.vscode-color",
4
- "bashmish.es6-string-css",
5
- "eamodio.gitlens",
6
- "esbenp.prettier-vscode",
7
- "github.copilot-chat",
8
- "tobermory.es6-string-html"
9
- ]
10
- }
2
+ "recommendations": [
3
+ "anseki.vscode-color",
4
+ "bashmish.es6-string-css",
5
+ "eamodio.gitlens",
6
+ "esbenp.prettier-vscode",
7
+ "shakram02.bash-beautify",
8
+ "tobermory.es6-string-html"
9
+ ]
10
+ }
@@ -1,10 +1,26 @@
1
1
  {
2
- "editor.defaultFormatter": "esbenp.prettier-vscode",
3
2
  "editor.formatOnSave": true,
4
- "explorer.compactFolders": false,
5
- "js/ts.preferences.importModuleSpecifierEnding": "js",
3
+ "files.autoSave": "onFocusChange",
6
4
  "[javascript]": {
7
5
  "editor.defaultFormatter": "esbenp.prettier-vscode"
8
6
  },
9
- "editor.inlineSuggest.enabled": true
7
+ "[javascriptreact]": {
8
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
9
+ },
10
+ "[typescript]": {
11
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
12
+ },
13
+ "[typescriptreact]": {
14
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
15
+ },
16
+ "[shellscript]": {
17
+ "editor.defaultFormatter": "shakram02.bash-beautify",
18
+ "editor.formatOnSave": true
19
+ },
20
+ "[json]": {
21
+ "editor.quickSuggestions": {
22
+ "strings": true
23
+ },
24
+ "editor.suggest.insertMode": "replace"
25
+ }
10
26
  }
package/CHANGELOG.md CHANGED
@@ -1,6 +1,200 @@
1
1
  # Changelog
2
2
 
3
- ## 2026-05-14
3
+ ## 2026-05-31
4
+
5
+ ### deploy
6
+
7
+ - Fix deployment error handling: ensure global secret cleanup only occurs if container status is not 'error' ([83ef9d8cf](https://github.com/underpostnet/engine/commit/83ef9d8cf893c8fe8c07d445b324dd864d9ad842))
8
+ - Add Underpost integration for container status error handling in database and Valkey services ([3bbcdcf49](https://github.com/underpostnet/engine/commit/3bbcdcf49ac6445c6ea5b37d84a5ebc69102a34e))
9
+
10
+ ### bin-build
11
+
12
+ - Prevent OnError workflow break on empty commit ([494fc93ab](https://github.com/underpostnet/engine/commit/494fc93ab9980d972e66096af5371f5a11173fb4))
13
+
14
+ ### cli-run
15
+
16
+ - Add k3s-template-env case logic: clean up existing dd-default config and update .env.example ([90a910630](https://github.com/underpostnet/engine/commit/90a910630072fbe3143d87a9aa5a3e479a3ba6e8))
17
+ - Add 'remove' option for resource teardown and improve MongoDB handling ([11c09deb6](https://github.com/underpostnet/engine/commit/11c09deb605138e344cbd30dad3ba446ec950345))
18
+ - Enhance clean method: execute shared-dir script in development mode ([317806d8f](https://github.com/underpostnet/engine/commit/317806d8f9681cb768bd7a1cad87f0c86781fd23))
19
+ - Rename setup-shared-dir method to shared-dir and remove reload-shared-dir method for clarity and simplification ([7985353cb](https://github.com/underpostnet/engine/commit/7985353cb46e5e01e0657c9abb419ddcc6691697))
20
+ - Add exit process on error instead of returning null ([567008c3d](https://github.com/underpostnet/engine/commit/567008c3df4d53ebdab442b44726b323801ec5d3))
21
+
22
+ ### client-core
23
+
24
+ - Add modal event handling: introduce ModalEventType, ModalListenerChannels, and createModalEvents for improved modal interactions ([d31bf3b01](https://github.com/underpostnet/engine/commit/d31bf3b0171d94f3c0d2496b19bb7001192dc1ac))
25
+ - Fix focus handling in Auth and Modal components: prevent focus on search box when skipFocus is true ([95a42637c](https://github.com/underpostnet/engine/commit/95a42637c6bf7d3f3dd4643663f487321097c218))
26
+
27
+ ### bin-deploy
28
+
29
+ - Add vm-cluster-env case logic ([d55b6120d](https://github.com/underpostnet/engine/commit/d55b6120d18485865a22745083743091177806b6))
30
+
31
+ ### release
32
+
33
+ - Refactor release build process: replace file.js with build.template.js, update package.json script, and enhance repository methods for GitHub directory fetching ([05c0e1d85](https://github.com/underpostnet/engine/commit/05c0e1d85bb777b4bc071d4312ed8e6ae6dece51))
34
+
35
+ ### baremetal
36
+
37
+ - Refactor NFS configuration: update NFSv3 ports and streamline NFS root mount options ([217c736ea](https://github.com/underpostnet/engine/commit/217c736eac25cf68d11b4f9991fc79f0e28a2639))
38
+ - Enhance iPXE build process: track embedded script changes to ensure rebuilds when necessary ([4d9d572bf](https://github.com/underpostnet/engine/commit/4d9d572bfcfff40d0977249e96b34a474cfe582c))
39
+ - Refactor NFS configuration and enhance GRUB module installation for baremetal provisioning ([c94dd434b](https://github.com/underpostnet/engine/commit/c94dd434bbe8792d7694744b7eb57a88256a3415))
40
+
41
+ ### lxd
42
+
43
+ - Enhance LXD management: add support for MAAS project handling and improve command execution consistency ([0910817c5](https://github.com/underpostnet/engine/commit/0910817c55a4971860d7b363455efd1d1c13d830))
44
+ - Refactor: reorganize LXD Management documentation for clarity and safety ([5cc554cfe](https://github.com/underpostnet/engine/commit/5cc554cfe308f28ee94c7ee3cb141ec6dd156368))
45
+
46
+ ### cluster
47
+
48
+ - Refactor deployment and monitoring to centralize /etc/hosts management ([a10ad7da6](https://github.com/underpostnet/engine/commit/a10ad7da651085a45c0301489ccb19c92abd2ee7))
49
+ - Add MongoDB manifests including headless service, stateful set, and storage class ([8fd1d8172](https://github.com/underpostnet/engine/commit/8fd1d817250cbebbe2812be9f382d0fc526800ee))
50
+
51
+ ### repository
52
+
53
+ - Enhance git command execution in file storage and repository modules for improved error handling and logging ([bb008852d](https://github.com/underpostnet/engine/commit/bb008852d9b6b3c9604815a2b0e1d43aba57cc16))
54
+
55
+ ### engine
56
+
57
+ - Update VSCode configuration: add bash-beautify extension and enhance settings for shellscript and json ([e0e3c5249](https://github.com/underpostnet/engine/commit/e0e3c524923dfcc1c73da2063a4fe7a90ed805d7))
58
+
59
+ ### db
60
+
61
+ - Refactor MongoDB data directory cleanup logic in Kind nodes to use docker exec for reliability ([87d66f223](https://github.com/underpostnet/engine/commit/87d66f223093695b92f51ce42186e09c06109a45))
62
+ - Refactor MongoDB cleanup logic to avoid stale bind mounts and ensure proper directory structure ([c07098e8c](https://github.com/underpostnet/engine/commit/c07098e8ce9762e3116d8705c1b7206d7ec0df6c))
63
+
64
+ ### cli-secrets
65
+
66
+ - Add secret management command to deployment workflows ([796fddb46](https://github.com/underpostnet/engine/commit/796fddb46c3c43399de4264ed940f453fd2056e3))
67
+
68
+ ### cli-deploy
69
+
70
+ - Fix ready monitor method to wait container runtime complete setup ([c89231a06](https://github.com/underpostnet/engine/commit/c89231a06aa5e1ce6decd6550ea5a7f9cf90dd45))
71
+
72
+ ### github-actions
73
+
74
+ - Prevent dependabot gitleaks run ([16c2a0c1d](https://github.com/underpostnet/engine/commit/16c2a0c1d60ec8d5389288464af60b4a0fcea72d))
75
+
76
+ ## New release v:3.2.10 (2026-05-26)
77
+
78
+ ### cli-run
79
+
80
+ - Add group property and shared directory setup methods to UnderpostRun ([6cc121c4a](https://github.com/underpostnet/engine/commit/6cc121c4abe8a5fe07582a99a251ef8e1133ce00))
81
+
82
+ ### cli-release
83
+
84
+ - Add bumpp configuration and integrate version bumping into release process ([e5eb50d70](https://github.com/underpostnet/engine/commit/e5eb50d70980fe625e4246b5807b2a3984f09e72))
85
+
86
+ ### engine-cyberia
87
+
88
+ - Refactor CI workflows for cyberia-client and cyberia-server, removing outdated comments and improving clarity. Update Dockerfile to ensure clean builds by adding a clean step before compilation. ([e74918e81](https://github.com/underpostnet/engine/commit/e74918e8102a2c7361ff8abd89aa019aee6ef642))
89
+ - Refactor CI workflows and Dockerfiles for cyberia-client and cyberia-server ([0dfda92fd](https://github.com/underpostnet/engine/commit/0dfda92fd0c01de7af755a2935fd68199d94d61f))
90
+ - Refactor package.json metadata for Cyberia CLI and Underpost Platform, updating descriptions and keywords for improved clarity and relevance. ([893a371ac](https://github.com/underpostnet/engine/commit/893a371acef87351841d4ff703f35421e05725e4))
91
+ - Enhance Dockerfiles and CLI: align underpost versioning, add dev configurations, and improve manifest build options ([4f9c96df6](https://github.com/underpostnet/engine/commit/4f9c96df6b672c25ef8d34d0ad440f66061f7789))
92
+ - Refactor presentation handling: remove legacy fields, update documentation, and streamline client hints integration ([e79315e6e](https://github.com/underpostnet/engine/commit/e79315e6e3064140d6b2e634f31b153008a15db0))
93
+ - Refactor Cyberia defaults management ([2454ad54c](https://github.com/underpostnet/engine/commit/2454ad54c9f9d3e9b2aa43a831184f6e87b4772f))
94
+ - Add cyberia hints model and refactor docs ([14fc8a633](https://github.com/underpostnet/engine/commit/14fc8a633843a52f705594eba3927a8a7b1dc685))
95
+ - Update build process to include README.md and update white paper version ([77099e88f](https://github.com/underpostnet/engine/commit/77099e88f50516a0e6e626f74059814585ca18d6))
96
+
97
+ ### client
98
+
99
+ - Chore landing icons ([ed1bc3fee](https://github.com/underpostnet/engine/commit/ed1bc3fee671319b151e218ec58b9ca67200579e))
100
+
101
+ ### github-actions
102
+
103
+ - Add condition to skip jobs for dependabot in Coverall CI workflow ([db35270a6](https://github.com/underpostnet/engine/commit/db35270a686edf5c975721a3ec60ae8fc0b893be))
104
+ - Enhance underpost test execution and improve error handling ([d046dcee2](https://github.com/underpostnet/engine/commit/d046dcee2a78c2a80fd13ac74322a735aa3044c5))
105
+ - Update CI workflows to specify repository paths for cyberia-client and cyberia-server; adjust Dockerfile to copy from the correct directory ([9bef93774](https://github.com/underpostnet/engine/commit/9bef93774841ec650b2574f2369b8e6b486c342d))
106
+
107
+ ### cli-deploy
108
+
109
+ - Add imagePullPolicy option to deployment commands and documentation ([d1ebe5d71](https://github.com/underpostnet/engine/commit/d1ebe5d71a7840d7739be0f41d59dc0f5dfdd155))
110
+ - Enhance deployment monitoring: improve pod readiness checks, add container-status validation, and refine logging for deployment progress ([3cb67b64b](https://github.com/underpostnet/engine/commit/3cb67b64b01af8055396ca78515011ffe4146b28))
111
+
112
+ ### gitub-actions
113
+
114
+ - Enhance CI workflow and Dockerfiles to include SSR dashboard setup and dependencies ([6e8db980f](https://github.com/underpostnet/engine/commit/6e8db980f79b3ef9d48d2231f83ea62c28879f25))
115
+
116
+ ### client-core
117
+
118
+ - Enhance file handling logic and improve UI interactions in PanelForm and Auth components ([f4e146195](https://github.com/underpostnet/engine/commit/f4e146195b94dc8df711bb3e1eec52feaae0489c))
119
+ - Enhance offline and maintenance fallback handling: implement inline HTML responses, improve caching logic, and ensure user-friendly error pages ([1802b40ca](https://github.com/underpostnet/engine/commit/1802b40caab7c90b0c73a9ab70a042772a8fe77b))
120
+ - Enhance service worker fallback handling: add inline HTML responses for offline and maintenance states, improve caching logic, and refine navigation fetch strategy ([bc2a1a0ca](https://github.com/underpostnet/engine/commit/bc2a1a0ca711e7448ee9be7629a8e0e3b598dfaf))
121
+ - Add SSR views for server metrics, maintenance, and offline handling ([81ca21084](https://github.com/underpostnet/engine/commit/81ca21084a7246f2926ee6b6c6f96858714a232c))
122
+
123
+ ### dependencies
124
+
125
+ - Update dependencies and improve branch deletion error handling ([bcbf1a5e3](https://github.com/underpostnet/engine/commit/bcbf1a5e3a801d4bc6fdfc1e0f17a5630b40b325))
126
+ - Update dependencies: bump body-parser to 1.20.5, express to 4.22.2, and qs to 6.15.2 ([3d5da7d28](https://github.com/underpostnet/engine/commit/3d5da7d28bba137ea50b0c2260b5614bf42c2b69))
127
+
128
+ ### ssr-cyberia
129
+
130
+ - Refactor ssr/views/CyberiaServerMetrics.js ([7184a738d](https://github.com/underpostnet/engine/commit/7184a738d17602fafe5cefd7722a7cd669b11693))
131
+
132
+ ### cli
133
+
134
+ - Enhance error handling: silence errors during git commit and process termination ([7583c4f12](https://github.com/underpostnet/engine/commit/7583c4f1288713513c02b76e5c11649c41e427ca))
135
+
136
+ ### cluster
137
+
138
+ - Add targeted reset option for MongoDB components without full cluster restart ([8c293e11d](https://github.com/underpostnet/engine/commit/8c293e11dfafb992ccf3b26ab139e95266c28169))
139
+ - Enhance UnderpostCluster: add natSetup method for NAT and iptables configuration, improve cluster deletion logic, and update options parameter for config method ([b90d7dba7](https://github.com/underpostnet/engine/commit/b90d7dba7bcbdd1d433f763ab3f7394dabf912f2))
140
+
141
+ ### ipfs
142
+
143
+ - Fix IPFS deployment: streamline UDP buffer sysctl application for Kind nodes ([2b08cbc6d](https://github.com/underpostnet/engine/commit/2b08cbc6dafcd4af7b55c96d99bc7b8e603b80f6))
144
+
145
+ ### db
146
+
147
+ - Refactor MongoDB bootstrap logic: enhance admin authentication check and streamline initialization script execution ([866e56c63](https://github.com/underpostnet/engine/commit/866e56c6303e20b8269778e5a7adc6e618f4520a))
148
+ - Refactor MongoDB primary pod detection and bootstrap logic ([609f5e89b](https://github.com/underpostnet/engine/commit/609f5e89b5807df797bd5c16839c87f2bd786ba2))
149
+ - Refactor MongoDB manifests and initialization: update PersistentVolume configurations, enhance StatefulSet security, and improve MongoDB cluster bootstrap logic ([ed89c3850](https://github.com/underpostnet/engine/commit/ed89c3850ca3108664ca70f9737ac756f7936083))
150
+ - Refactor DataBaseProviderService: change #instance to static and update instance getter for compatibility ([360d2c856](https://github.com/underpostnet/engine/commit/360d2c856a6409efa32dc2e1d602bd6e5b268223))
151
+ - Refactor replace DataBaseProvider with DataBaseProviderService across services and routers ([614e47314](https://github.com/underpostnet/engine/commit/614e4731493b413346f05915a0be6c18aa0d81c2))
152
+ - Enhance MongoDB configuration and management: update stateful set parameters, improve secret handling, and implement replica set initialization logic ([1fb895669](https://github.com/underpostnet/engine/commit/1fb895669cbd8ec1d42b779c810ae6a35555725e))
153
+
154
+ ### ws
155
+
156
+ - Refactor WebSocket management context: replace wsManagementId with hostKeyContext across IoInterface and related channels ([b82c80fce](https://github.com/underpostnet/engine/commit/b82c80fce52cba2ef9443ea664df69e727e35ca0))
157
+
158
+ ### deploy
159
+
160
+ - Enhance deployment error handling: update expected container status, throw errors for pod status issues, and manage container status in shell execution ([d170f36cc](https://github.com/underpostnet/engine/commit/d170f36cc77b759a4e86a7f0dcad015aa6fc74ef))
161
+
162
+ ### lxd
163
+
164
+ - Enhance LXD management: add safe teardown for VMs, improve engine source replication, and update documentation ([e9b3a68c9](https://github.com/underpostnet/engine/commit/e9b3a68c961dd08722dc3febbca3a5bd9c42a9fe))
165
+
166
+ ### api
167
+
168
+ - Enhance ObjectLayerService command execution with error context ([4253b2437](https://github.com/underpostnet/engine/commit/4253b2437b9cb8af42cbea0967baa6900880e0b5))
169
+
170
+ ### docs
171
+
172
+ - Clean docs ([465507082](https://github.com/underpostnet/engine/commit/465507082493ec26b96658b8dd26c33ace8e6bf4))
173
+ - Update README.md for clarity and improved documentation links ([4021b6fcb](https://github.com/underpostnet/engine/commit/4021b6fcb55c6bad4e3cf605583c5b748ebb4734))
174
+ - Add jsdelivr badge ([d2a6f2931](https://github.com/underpostnet/engine/commit/d2a6f293127801b89e7de1794c77bce2c0522276))
175
+ - Update file paths and command syntax in architecture and client/server documentation ([f51891d44](https://github.com/underpostnet/engine/commit/f51891d44552fd5cd386e7685f86434b2cf02eb9))
176
+
177
+ ### settings
178
+
179
+ - Update default formatters for JSON and TypeScript files ([e2c20b6f8](https://github.com/underpostnet/engine/commit/e2c20b6f896ef65f55df71678cc6e6d9c116b8f6))
180
+
181
+ ### dependabot
182
+
183
+ - Update dependency patterns in dependabot.yml for improved package management ([60e8605c3](https://github.com/underpostnet/engine/commit/60e8605c3361e1cb824ac072d593a6321d79399f))
184
+
185
+ ### cli-cyberia
186
+
187
+ - Refactor CyberiaDialogue handling to use codes instead of itemIds for improved dialogue management ([273fed2e4](https://github.com/underpostnet/engine/commit/273fed2e4706311fbbde993ce9ea5d549376dd0b))
188
+
189
+ ### runtime-cyberia
190
+
191
+ - Refactor Dockerfiles for cyberia-client and cyberia-server to streamline package installations and improve build processes ([0312126c7](https://github.com/underpostnet/engine/commit/0312126c7032c17e1b67fe0fef8e7c74975d9ac8))
192
+
193
+ ### bin-vs
194
+
195
+ - Fix correct typo in clean case to remove vsConfigRootPath ([0251c45a3](https://github.com/underpostnet/engine/commit/0251c45a3580ec0e5a907667fcc1240307e2f27b))
196
+
197
+ ## New release v:3.2.9 (2026-05-13)
4
198
 
5
199
  ### client-core
6
200
 
package/CLI-HELP.md CHANGED
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v3.2.9
1
+ ## underpost ci/cd cli v3.2.11
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -32,7 +32,7 @@ Commands:
32
32
  monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
33
33
  ssh [options] Manages SSH credentials and sessions for remote access to cluster nodes or services.
34
34
  run [options] <runner-id> [path] Runs specified scripts using various runners.
35
- lxd [options] Manages LXD virtual machines as K3s nodes (control plane or workers).
35
+ lxd [options] [vm-id] Manages LXD virtual machines as K3s nodes (control plane or workers).
36
36
  baremetal [options] [workflow-id] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
37
37
  release [options] [version] Release orchestrator for building new versions and deploying releases of the Underpost CLI.
38
38
  help [command] display help for command
@@ -412,13 +412,18 @@ Arguments:
412
412
  Options:
413
413
  --reset Deletes all clusters and prunes all
414
414
  related data and caches.
415
+ --reset-mongodb Performs a hard cleanup of only
416
+ MongoDB-related resources (StatefulSet,
417
+ PVCs/PVs, Secrets, ConfigMaps, caches)
418
+ without restarting the whole node.
415
419
  --mariadb Initializes the cluster with a MariaDB
416
420
  statefulset.
417
421
  --mysql Initializes the cluster with a MySQL
418
422
  statefulset.
419
423
  --mongodb Initializes the cluster with a MongoDB
420
424
  statefulset.
421
- --mongo-db-host <host> Set custom mongo db host
425
+ --service-host <host> Set custom host/IP for exposed MongoDB
426
+ and Valkey clients.
422
427
  --postgresql Initializes the cluster with a PostgreSQL
423
428
  statefulset.
424
429
  --mongodb4 Initializes the cluster with a MongoDB
@@ -429,6 +434,14 @@ Options:
429
434
  ipfs-cluster statefulset.
430
435
  --contour Initializes the cluster with Project
431
436
  Contour base HTTPProxy and Envoy.
437
+ --node-port Exposes enabled ready services (e.g.
438
+ MongoDB 4.4, Valkey) to the host/public
439
+ network via their NodePort Service
440
+ manifest.
441
+ --node-selector <k8s-node-name> Pins the just-deployed StatefulSet
442
+ (MongoDB 4.4 / Valkey) to the given
443
+ Kubernetes node once it is ready (via a
444
+ kubernetes.io/hostname nodeSelector).
432
445
  --cert-manager Initializes the cluster with a Let's
433
446
  Encrypt production ClusterIssuer.
434
447
  --dedicated-gpu Initializes the cluster with dedicated
@@ -471,6 +484,10 @@ Options:
471
484
  hostnames or IP addresses.
472
485
  --remove-volume-host-paths Removes specified volume host paths after
473
486
  execution.
487
+ --reset-mode <mode> Reset mode for --reset --k3s: "drain"
488
+ (stop services, keep K3s installed) or
489
+ "full" (uninstall + cleanup). Default:
490
+ "full".
474
491
  --namespace <namespace> Kubernetes namespace for cluster
475
492
  operations (defaults to "default").
476
493
  --replicas <replicas> Sets a custom number of replicas for
@@ -542,9 +559,6 @@ Options:
542
559
  operations.
543
560
  --git-clean Runs git clean on volume mount paths
544
561
  before copying.
545
- --etc-hosts Enables the etc-hosts context for
546
- deployment operations.
547
- --restore-hosts Restores default `/etc/hosts` entries.
548
562
  --disable-update-underpost-config Disables updates to Underpost
549
563
  configuration during deployment.
550
564
  --namespace <namespace> Kubernetes namespace for deployment
@@ -565,6 +579,11 @@ Options:
565
579
  bundle from Cloudinary inside the
566
580
  container. Use together with
567
581
  --skip-full-build.
582
+ --image-pull-policy <policy> Override container imagePullPolicy in the
583
+ generated deployment manifest (Always,
584
+ IfNotPresent, Never). Defaults to Never
585
+ for localhost/ images and IfNotPresent
586
+ otherwise.
568
587
  -h, --help display help for command
569
588
 
570
589
  ```
@@ -903,7 +922,7 @@ Options:
903
922
  Runs specified scripts using various runners.
904
923
 
905
924
  Arguments:
906
- 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.
925
+ 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.
907
926
  path The input value, identifier, or path for the operation.
908
927
 
909
928
  Options:
@@ -973,6 +992,7 @@ Options:
973
992
  --copy Copies the runner output to the clipboard (supported by: generate-pass, template-deploy-local).
974
993
  --skip-full-build Skip client bundle rebuild; triggers pull-bundle in container startup (supported by: sync, template-deploy).
975
994
  --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.
995
+ --remove Remove/teardown resources
976
996
  -h, --help display help for command
977
997
 
978
998
  ```
@@ -980,14 +1000,36 @@ Options:
980
1000
 
981
1001
  ### `lxd` :
982
1002
  ```
983
- Usage: underpost lxd [options]
1003
+ Usage: underpost lxd [options] [vm-id]
984
1004
 
985
1005
  Manages LXD virtual machines as K3s nodes (control plane or workers).
986
1006
 
1007
+ Arguments:
1008
+ vm-id VM identifier shared by current-VM flags like
1009
+ --vm-create, --vm-delete, --vm-init,
1010
+ --vm-info, and --vm-test.
1011
+
987
1012
  Options:
988
1013
  --init Initializes LXD on the current machine via
989
1014
  preseed.
990
- --reset Removes the LXD snap and purges all data.
1015
+ --reset Host-safe reset: removes proxy devices,
1016
+ stops/deletes VMs, drops admin-profile and
1017
+ lxdbr0. Does NOT touch the LXD snap or
1018
+ storage pools.
1019
+ --purge DESTRUCTIVE: gracefully shuts down the LXD
1020
+ daemon (60s timeout), then removes the LXD
1021
+ snap. Combine with --reset to wipe per-VM
1022
+ state first. Safe replacement for the prior
1023
+ aggressive teardown.
1024
+ --shutdown Pre-host-reboot procedure: gracefully stops
1025
+ every VM and the LXD daemon. Run BEFORE any
1026
+ reboot/poweroff to keep the host bootable.
1027
+ --restore Symmetric to --shutdown: starts the LXD
1028
+ daemon, waits for it to be responsive, then
1029
+ starts every VM. VMs created via
1030
+ admin-profile have boot.autostart=false, so
1031
+ this is the explicit "bring the lab back up"
1032
+ command.
991
1033
  --install Installs the LXD snap.
992
1034
  --dev Use local paths instead of the global npm
993
1035
  installation.
@@ -999,30 +1041,54 @@ Options:
999
1041
  plane node.
1000
1042
  --worker Initialize the target VM as a K3s worker
1001
1043
  node.
1002
- --create-vm <vm-name> Copy the LXC launch command for a new K3s VM
1003
- to the clipboard.
1004
- --delete-vm <vm-name> Stop and delete the specified VM.
1005
- --init-vm <vm-name> Run k3s-node-setup.sh on the specified VM
1006
- (use with --control or --worker).
1007
- --info-vm <vm-name> Display full configuration and status for the
1008
- specified VM.
1009
- --test <vm-name> Run connectivity and health checks on the
1010
- specified VM.
1011
- --root-size <gb-size> Root disk size in GiB for --create-vm
1044
+ --vm-create Copy the LXC launch command for the command
1045
+ argument [vm-id] to the clipboard.
1046
+ --vm-delete SAFELY stop and delete the command argument
1047
+ [vm-id] (removes proxy devices first, then
1048
+ stops, then deletes). Safe to re-run.
1049
+ --vm-init Bring the command argument [vm-id] up as a
1050
+ K3s node end-to-end: OS base setup, mirror
1051
+ /home/dd/engine into the VM, then K3s role
1052
+ install via the local engine (use with
1053
+ --control or --worker).
1054
+ --vm-info Display full configuration and status for the
1055
+ command argument [vm-id].
1056
+ --vm-test Run connectivity and health checks on the
1057
+ command argument [vm-id].
1058
+ --vm-sync-engine Re-copy the host engine source into the
1059
+ command argument [vm-id], overriding whatever
1060
+ is currently there (equivalent to the
1061
+ engine-bootstrap step of --vm-init in
1062
+ isolation).
1063
+ --root-size <gb-size> Root disk size in GiB for --vm-create
1012
1064
  (default: 32).
1013
1065
  --join-node <nodes> Join a K3s worker to a control plane.
1014
1066
  Standalone format: "workerName,controlName".
1015
- When used with --init-vm --worker, provide
1067
+ When used with --vm-init --worker, provide
1016
1068
  just the control node name for auto-join.
1017
1069
  --expose <vm-name:ports> Proxy host ports to a VM (e.g.,
1018
1070
  "k3s-control:80,443").
1071
+ --node-port <port> Customizes the VM-side (connect) port for
1072
+ --expose, so the host listens on the given
1073
+ port but proxies to this NodePort inside the
1074
+ VM (e.g. expose host 27017 -> VM NodePort
1075
+ 32017).
1019
1076
  --delete-expose <vm-name:ports> Remove proxied ports from a VM (e.g.,
1020
1077
  "k3s-control:80,443").
1021
- --workflow-id <workflow-id> Workflow ID to execute via runWorkflow.
1022
- --vm-id <vm-name> Target VM name for workflow execution.
1023
- --deploy-id <deploy-id> Deployment ID context for workflow execution.
1078
+ --copy For two-phase flows that surface a command
1079
+ for the user to execute (e.g.
1080
+ --create-admin-profile phase 1), copy the
1081
+ command to the clipboard instead of printing
1082
+ it to the terminal.
1024
1083
  --namespace <namespace> Kubernetes namespace context (defaults to
1025
1084
  "default").
1085
+ --maas-project <project> LXD project managed by MAAS (e.g.
1086
+ "k3s-cluster"). When set, all lxc commands
1087
+ target this project so MAAS enumerates the
1088
+ VMs in its machines UI.
1089
+ --move-to-project Stop the [vm-id] VM in the default project,
1090
+ move it to --maas-project, then start it so
1091
+ MAAS picks it up. Requires --maas-project.
1026
1092
  -h, --help display help for command
1027
1093
 
1028
1094
  ```
@@ -1112,6 +1178,9 @@ Options:
1112
1178
  --pwa-build Runs the pwa-microservices-template update flow: always
1113
1179
  re-clones, syncs engine sources, installs, builds, and
1114
1180
  pushes.
1181
+ --dry-run For --build: previews version-bump changes (per-file
1182
+ substitution counts) without writing files or running
1183
+ downstream commands.
1115
1184
  -h, --help display help for command
1116
1185
 
1117
1186
  ```
package/README.md CHANGED
@@ -16,17 +16,46 @@
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) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/3.2.9)](https://socket.dev/npm/package/underpost/overview/3.2.9) [![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.11)](https://socket.dev/npm/package/underpost/overview/3.2.11) [![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
 
23
- <div align="center">
24
-
25
23
  #### Base template for pwa/api-rest projects.
26
24
 
27
- <div style="font-size: 20px;"><em>End2end</em> continuous integration and continuous deployment cloud applications toolchain. Develop, build, deploy, test, monitor, and manage multiple runtime applications on virtual machines or container instances.</div>
25
+ ## Underpost Platform
28
26
 
29
- </div>
27
+ **Underpost** is an platform for application delivery, from infrastructure to runtime. The `underpost` npm package is its CLI toolchain surface.
28
+
29
+ The project covers:
30
+
31
+ - **Bare metal provisioning** on Rocky Linux 9.
32
+ - **Kubernetes / K3s / kubeadm / LXD** workflows for production, edge, and isolated workloads.
33
+ - **GitHub OSS repository flow** — clone, pull, push, commit, release, and CI integrations as first-class CLI subcommands.
34
+ - **CI/CD orchestration** — GitHub Actions integrations, container builds, multi-environment deployments.
35
+ - **Static build + PWA delivery** — every deploy ships as an installable Progressive Web App with Workbox-based offline support.
36
+ - **Cloudinary-backed static asset flow** for image/asset delivery.
37
+ - **ERP/CRM-style PWA base applications** as the default workload.
38
+ - **Cyberia** — a dedicated MMO extension built on top of the platform, with its own content backend (`engine-cyberia`), authoritative simulation runtime (`cyberia-server`), and presentation runtime (`cyberia-client`).
39
+
40
+ <a target="_top" href="Https://github.com/underpostnet/engine/blob/master/src/client/public/cyberia-docs/UNDERPOST-PLATFORM.md">See Detailed platform doc.</a>
41
+
42
+ ### Architectural roles (Cyberia stack)
43
+
44
+ When the platform is hosting the Cyberia MMO extension, three runtime processes participate. Their boundaries are non-overlapping and their startup order is **strictly sequential** — not parallel.
45
+
46
+ | Process | Role |
47
+ | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
48
+ | **engine-cyberia** (Node.js) | Content authority: maps, object layers, atlas/asset metadata, world configuration, persistence, validation, gRPC + REST data services, editor backend, asset distribution. |
49
+ | **cyberia-server** (Go) | Authoritative simulation runtime: tick advancement, AOI replication, input command processing, snapshot generation. |
50
+ | **cyberia-client** (C → WebAssembly) | Presentation runtime: rendering, UI, input capture, prediction, reconciliation, interpolation, client-side presentation defaults. |
51
+
52
+ **Startup order — sequential, in order:**
53
+
54
+ 1. **Persistent backend / sidecar data layer** — databases, content backend (engine-cyberia), static asset backend, config and data services.
55
+ 2. **cyberia-server** — authoritative Go simulation runtime; dials engine-cyberia gRPC at boot to load world configuration.
56
+ 3. **cyberia-client** — rendering, UI, prediction, interpolation, reconciliation; connects to cyberia-server via WebSocket.
57
+
58
+ <a target="_top" href="https://github.com/underpostnet/engine-cyberia/blob/master/src/client/public/cyberia-docs/ARCHITECTURE.md">See Detailed architecture.</a>
30
59
 
31
60
  ## Create a new project
32
61
 
@@ -58,10 +87,10 @@ Run dev client server
58
87
  npm run dev
59
88
  ```
60
89
 
61
- <a target="_top" href="https://www.nexodev.org/docs?cid=src">See Docs here.</a>
90
+ <a target="_top" href="https://www.nexodev.org/docs?cid=src">See Docs.</a>
62
91
 
63
92
  <!-- cli-index-start -->
64
- ## underpost ci/cd cli v3.2.9
93
+ ## underpost ci/cd cli v3.2.11
65
94
 
66
95
  ### Usage: `underpost [options] [command]`
67
96
  ```
@@ -95,7 +124,7 @@ Commands:
95
124
  monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
96
125
  ssh [options] Manages SSH credentials and sessions for remote access to cluster nodes or services.
97
126
  run [options] <runner-id> [path] Runs specified scripts using various runners.
98
- lxd [options] Manages LXD virtual machines as K3s nodes (control plane or workers).
127
+ lxd [options] [vm-id] Manages LXD virtual machines as K3s nodes (control plane or workers).
99
128
  baremetal [options] [workflow-id] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
100
129
  release [options] [version] Release orchestrator for building new versions and deploying releases of the Underpost CLI.
101
130
  help [command] display help for command
@@ -103,4 +132,4 @@ Commands:
103
132
  ```
104
133
  <!-- cli-index-end -->
105
134
 
106
- <a target="_top" href="https://github.com/underpostnet/pwa-microservices-template/blob/master/CLI-HELP.md">See CLI Docs here.</a>
135
+ <a target="_top" href="https://github.com/underpostnet/pwa-microservices-template/blob/master/CLI-HELP.md">See CLI Docs.</a>