cyberia 3.0.3 → 3.2.5

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 (296) hide show
  1. package/{.env.production → .env.example} +20 -4
  2. package/.github/workflows/engine-cyberia.cd.yml +43 -10
  3. package/.github/workflows/engine-cyberia.ci.yml +48 -26
  4. package/.github/workflows/ghpkg.ci.yml +5 -5
  5. package/.github/workflows/gitlab.ci.yml +1 -1
  6. package/.github/workflows/hardhat.ci.yml +82 -0
  7. package/.github/workflows/npmpkg.ci.yml +60 -14
  8. package/.github/workflows/publish.ci.yml +26 -7
  9. package/.github/workflows/publish.cyberia.ci.yml +5 -5
  10. package/.github/workflows/pwa-microservices-template-page.cd.yml +6 -7
  11. package/.github/workflows/pwa-microservices-template-test.ci.yml +4 -4
  12. package/.github/workflows/release.cd.yml +14 -8
  13. package/.vscode/extensions.json +9 -8
  14. package/.vscode/settings.json +3 -2
  15. package/CHANGELOG.md +643 -1
  16. package/CLI-HELP.md +132 -57
  17. package/Dockerfile +4 -2
  18. package/README.md +347 -22
  19. package/WHITE-PAPER.md +1540 -0
  20. package/bin/build.js +21 -12
  21. package/bin/cyberia.js +2640 -106
  22. package/bin/deploy.js +258 -372
  23. package/bin/file.js +5 -1
  24. package/bin/index.js +2640 -106
  25. package/bin/vs.js +3 -3
  26. package/conf.js +169 -105
  27. package/deployment.yaml +236 -20
  28. package/hardhat/.env.example +31 -0
  29. package/hardhat/README.md +531 -0
  30. package/hardhat/WHITE-PAPER.md +1540 -0
  31. package/hardhat/contracts/ObjectLayerToken.sol +391 -0
  32. package/hardhat/deployments/.gitkeep +0 -0
  33. package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
  34. package/hardhat/hardhat.config.js +136 -0
  35. package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
  36. package/hardhat/networks/besu-object-layer.network.json +138 -0
  37. package/hardhat/package-lock.json +4323 -0
  38. package/hardhat/package.json +36 -0
  39. package/hardhat/scripts/deployObjectLayerToken.js +98 -0
  40. package/hardhat/test/ObjectLayerToken.js +592 -0
  41. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  42. package/hardhat/types/ethers-contracts/common.ts +92 -0
  43. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  44. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  45. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  46. package/hardhat/types/ethers-contracts/index.ts +6 -0
  47. package/jsdoc.dd-cyberia.json +68 -0
  48. package/jsdoc.json +65 -49
  49. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -4
  50. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +5 -4
  51. package/manifests/deployment/dd-cyberia-development/deployment.yaml +562 -0
  52. package/manifests/deployment/dd-cyberia-development/proxy.yaml +297 -0
  53. package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
  54. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  55. package/manifests/deployment/dd-test-development/deployment.yaml +88 -74
  56. package/manifests/deployment/dd-test-development/proxy.yaml +13 -4
  57. package/manifests/deployment/playwright/deployment.yaml +1 -1
  58. package/manifests/pv-pvc-dd.yaml +1 -1
  59. package/nodemon.json +1 -1
  60. package/package.json +60 -48
  61. package/proxy.yaml +118 -10
  62. package/pv-pvc.yaml +132 -0
  63. package/scripts/k3s-node-setup.sh +1 -1
  64. package/scripts/ports-ls.sh +2 -0
  65. package/scripts/rhel-grpc-setup.sh +56 -0
  66. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +47 -1
  67. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +17 -2
  68. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  69. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +80 -7
  70. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  71. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  72. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  73. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  74. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  75. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  76. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  77. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  78. package/src/api/cyberia-instance/cyberia-fallback-world.js +368 -0
  79. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  80. package/src/api/cyberia-instance/cyberia-instance.model.js +84 -0
  81. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  82. package/src/api/cyberia-instance/cyberia-instance.service.js +191 -0
  83. package/src/api/cyberia-instance/cyberia-portal-connector.js +486 -0
  84. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  85. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +413 -0
  86. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +228 -0
  87. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  88. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +42 -0
  89. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  90. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  91. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  92. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  93. package/src/api/document/document.service.js +1 -1
  94. package/src/api/file/file.controller.js +3 -1
  95. package/src/api/file/file.ref.json +18 -0
  96. package/src/api/file/file.service.js +28 -5
  97. package/src/api/ipfs/ipfs.controller.js +4 -25
  98. package/src/api/ipfs/ipfs.model.js +43 -34
  99. package/src/api/ipfs/ipfs.router.js +8 -13
  100. package/src/api/ipfs/ipfs.service.js +56 -104
  101. package/src/api/object-layer/README.md +347 -22
  102. package/src/api/object-layer/object-layer.controller.js +6 -2
  103. package/src/api/object-layer/object-layer.model.js +12 -8
  104. package/src/api/object-layer/object-layer.router.js +698 -42
  105. package/src/api/object-layer/object-layer.service.js +119 -37
  106. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
  107. package/src/api/user/user.router.js +10 -5
  108. package/src/api/user/user.service.js +15 -14
  109. package/src/cli/baremetal.js +6 -10
  110. package/src/cli/cloud-init.js +0 -3
  111. package/src/cli/cluster.js +7 -7
  112. package/src/cli/db.js +723 -857
  113. package/src/cli/deploy.js +215 -105
  114. package/src/cli/env.js +34 -5
  115. package/src/cli/fs.js +5 -4
  116. package/src/cli/image.js +0 -3
  117. package/src/cli/index.js +83 -15
  118. package/src/cli/kubectl.js +211 -0
  119. package/src/cli/monitor.js +5 -6
  120. package/src/cli/release.js +284 -0
  121. package/src/cli/repository.js +708 -62
  122. package/src/cli/run.js +371 -151
  123. package/src/cli/secrets.js +73 -2
  124. package/src/cli/ssh.js +1 -1
  125. package/src/cli/test.js +3 -3
  126. package/src/client/Cryptokoyn.index.js +3 -4
  127. package/src/client/CyberiaPortal.index.js +3 -4
  128. package/src/client/Default.index.js +3 -4
  129. package/src/client/Itemledger.index.js +4 -963
  130. package/src/client/Underpost.index.js +3 -4
  131. package/src/client/components/core/AgGrid.js +20 -5
  132. package/src/client/components/core/Alert.js +2 -2
  133. package/src/client/components/core/AppStore.js +69 -0
  134. package/src/client/components/core/CalendarCore.js +2 -2
  135. package/src/client/components/core/Content.js +22 -3
  136. package/src/client/components/core/Docs.js +30 -6
  137. package/src/client/components/core/DropDown.js +137 -17
  138. package/src/client/components/core/FileExplorer.js +71 -4
  139. package/src/client/components/core/Input.js +1 -1
  140. package/src/client/components/core/Keyboard.js +2 -2
  141. package/src/client/components/core/LogIn.js +2 -2
  142. package/src/client/components/core/LogOut.js +2 -2
  143. package/src/client/components/core/Modal.js +20 -7
  144. package/src/client/components/core/Panel.js +0 -1
  145. package/src/client/components/core/PanelForm.js +19 -19
  146. package/src/client/components/core/RichText.js +1 -2
  147. package/src/client/components/core/SocketIo.js +82 -29
  148. package/src/client/components/core/SocketIoHandler.js +75 -0
  149. package/src/client/components/core/Stream.js +143 -95
  150. package/src/client/components/core/Webhook.js +40 -7
  151. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  152. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +3 -3
  153. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +2 -2
  154. package/src/client/components/cryptokoyn/MenuCryptokoyn.js +3 -3
  155. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  156. package/src/client/components/cyberia/InstanceEngineCyberia.js +700 -0
  157. package/src/client/components/cyberia/MapEngineCyberia.js +1359 -2
  158. package/src/client/components/cyberia/ObjectLayerEngineModal.js +17 -6
  159. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +92 -54
  160. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  161. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +217 -30
  162. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
  163. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +3 -4
  164. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +2 -2
  165. package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +104 -9
  166. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +5 -0
  167. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  168. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
  169. package/src/client/components/default/AppStoreDefault.js +5 -0
  170. package/src/client/components/default/LogInDefault.js +3 -3
  171. package/src/client/components/default/LogOutDefault.js +2 -2
  172. package/src/client/components/default/MenuDefault.js +5 -5
  173. package/src/client/components/default/SocketIoDefault.js +3 -51
  174. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  175. package/src/client/components/itemledger/LogInItemledger.js +3 -3
  176. package/src/client/components/itemledger/LogOutItemledger.js +2 -2
  177. package/src/client/components/itemledger/MenuItemledger.js +3 -3
  178. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  179. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  180. package/src/client/components/underpost/CssUnderpost.js +59 -0
  181. package/src/client/components/underpost/LogInUnderpost.js +6 -3
  182. package/src/client/components/underpost/LogOutUnderpost.js +4 -2
  183. package/src/client/components/underpost/MenuUnderpost.js +104 -18
  184. package/src/client/components/underpost/RoutesUnderpost.js +2 -0
  185. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  186. package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
  187. package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
  188. package/src/client/public/cryptokoyn/microdata.json +85 -0
  189. package/src/client/public/cryptokoyn/site.webmanifest +57 -0
  190. package/src/client/public/cryptokoyn/sitemap +3 -3
  191. package/src/client/public/default/sitemap +3 -3
  192. package/src/client/public/itemledger/browserconfig.xml +2 -2
  193. package/src/client/public/itemledger/manifest.webmanifest +4 -4
  194. package/src/client/public/itemledger/microdata.json +71 -0
  195. package/src/client/public/itemledger/sitemap +3 -3
  196. package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
  197. package/src/client/public/test/sitemap +3 -3
  198. package/src/client/services/core/core.service.js +20 -8
  199. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +105 -0
  200. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  201. package/src/client/services/cyberia-entity/cyberia-entity.service.js +105 -0
  202. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  203. package/src/client/services/cyberia-instance/cyberia-instance.service.js +122 -0
  204. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +105 -0
  205. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  206. package/src/client/services/cyberia-map/cyberia-map.service.js +126 -0
  207. package/src/client/services/instance/instance.management.js +2 -2
  208. package/src/client/services/ipfs/ipfs.service.js +3 -23
  209. package/src/client/services/object-layer/object-layer.management.js +3 -3
  210. package/src/client/services/object-layer/object-layer.service.js +21 -0
  211. package/src/client/services/user/user.management.js +2 -2
  212. package/src/client/ssr/body/404.js +15 -11
  213. package/src/client/ssr/body/500.js +15 -11
  214. package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
  215. package/src/client/ssr/head/PwaItemledger.js +60 -0
  216. package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
  217. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  218. package/src/client/ssr/pages/Test.js +11 -10
  219. package/src/client.build.js +0 -3
  220. package/src/client.dev.js +0 -3
  221. package/src/db/DataBaseProvider.js +17 -2
  222. package/src/db/mariadb/MariaDB.js +14 -9
  223. package/src/db/mongo/MongooseDB.js +17 -1
  224. package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +305 -0
  225. package/src/grpc/cyberia/README.md +326 -0
  226. package/src/grpc/cyberia/grpc-server.js +530 -0
  227. package/src/index.js +24 -1
  228. package/src/proxy.js +0 -3
  229. package/src/runtime/express/Dockerfile +4 -0
  230. package/src/runtime/express/Express.js +33 -10
  231. package/src/runtime/lampp/Dockerfile +13 -2
  232. package/src/runtime/lampp/Lampp.js +33 -17
  233. package/src/runtime/wp/Dockerfile +68 -0
  234. package/src/runtime/wp/Wp.js +639 -0
  235. package/src/server/auth.js +36 -15
  236. package/src/server/backup.js +39 -12
  237. package/src/server/besu-genesis-generator.js +1630 -0
  238. package/src/server/client-build-docs.js +133 -17
  239. package/src/server/client-build-live.js +9 -18
  240. package/src/server/client-build.js +229 -101
  241. package/src/server/client-dev-server.js +14 -13
  242. package/src/server/client-formatted.js +109 -57
  243. package/src/server/conf.js +391 -164
  244. package/src/server/cron.js +27 -24
  245. package/src/server/dns.js +29 -12
  246. package/src/server/downloader.js +0 -2
  247. package/src/server/ipfs-client.js +24 -1
  248. package/src/server/logger.js +27 -9
  249. package/src/server/object-layer.js +217 -103
  250. package/src/server/peer.js +8 -2
  251. package/src/server/process.js +1 -50
  252. package/src/server/proxy.js +4 -8
  253. package/src/server/runtime.js +30 -9
  254. package/src/server/semantic-layer-generator-floor.js +359 -0
  255. package/src/server/semantic-layer-generator-skin.js +1294 -0
  256. package/src/server/semantic-layer-generator.js +116 -555
  257. package/src/server/ssr.js +0 -3
  258. package/src/server/start.js +19 -12
  259. package/src/server/tls.js +0 -2
  260. package/src/server.js +0 -4
  261. package/src/ws/IoInterface.js +1 -10
  262. package/src/ws/IoServer.js +14 -33
  263. package/src/ws/core/channels/core.ws.chat.js +65 -20
  264. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  265. package/src/ws/core/channels/core.ws.stream.js +90 -31
  266. package/src/ws/core/core.ws.connection.js +12 -33
  267. package/src/ws/core/core.ws.emit.js +10 -26
  268. package/src/ws/core/core.ws.server.js +25 -58
  269. package/src/ws/default/channels/default.ws.main.js +53 -12
  270. package/src/ws/default/default.ws.connection.js +26 -13
  271. package/src/ws/default/default.ws.server.js +30 -12
  272. package/.env.development +0 -43
  273. package/.env.test +0 -43
  274. package/hardhat/contracts/CryptoKoyn.sol +0 -59
  275. package/hardhat/contracts/ItemLedger.sol +0 -73
  276. package/hardhat/contracts/Lock.sol +0 -34
  277. package/hardhat/hardhat.config.cjs +0 -45
  278. package/hardhat/ignition/modules/Lock.js +0 -18
  279. package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
  280. package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
  281. package/hardhat/scripts/deployItemledger.cjs +0 -25
  282. package/hardhat/test/Lock.js +0 -126
  283. package/hardhat/white-paper.md +0 -581
  284. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  285. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  286. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  287. package/src/client/components/default/ElementsDefault.js +0 -38
  288. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  289. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  290. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  291. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  292. package/src/ws/core/management/core.ws.chat.js +0 -8
  293. package/src/ws/core/management/core.ws.mailer.js +0 -16
  294. package/src/ws/core/management/core.ws.stream.js +0 -8
  295. package/src/ws/default/management/default.ws.main.js +0 -8
  296. package/white-paper.md +0 -581
package/CLI-HELP.md CHANGED
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v3.0.3
1
+ ## underpost ci/cd cli v3.2.5
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -8,6 +8,7 @@
8
8
 
9
9
  Commands:
10
10
  new [options] [app-name] Initializes a new Underpost project, service, or configuration.
11
+ client [options] [deploy-id] [sub-conf] [host] [path] Builds client assets, single replicas, and/or syncs environment ports.
11
12
  start [options] <deploy-id> [env] Initiates application servers, build pipelines, or other defined services based on the deployment ID.
12
13
  clone [options] <uri> Clones a specified GitHub repository into the current directory.
13
14
  pull [options] <path> <uri> Pulls the latest changes from a specified GitHub repository.
@@ -33,6 +34,7 @@ Commands:
33
34
  run [options] <runner-id> [path] Runs specified scripts using various runners.
34
35
  lxd [options] Manages LXD virtual machines as K3s nodes (control plane or workers).
35
36
  baremetal [options] [workflow-id] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
37
+ release [options] [version] Release orchestrator for building new versions and deploying releases of the Underpost CLI.
36
38
  help [command] display help for command
37
39
 
38
40
  ```
@@ -62,6 +64,9 @@ Options:
62
64
  (pwa-microservices-template)
63
65
  --sync-conf Sync configuration to private repositories
64
66
  (requires --deploy-id)
67
+ --sync-start Sync start scripts in deploy ID package.json
68
+ with root package.json (use 'dd' as
69
+ --deploy-id to sync all dd.router)
65
70
  --purge Remove deploy ID conf and all related
66
71
  repositories (requires --deploy-id)
67
72
  --dev Sets the development cli context
@@ -73,6 +78,29 @@ Options:
73
78
  ```
74
79
 
75
80
 
81
+ ### `client` :
82
+ ```
83
+ Usage: underpost client [options] [deploy-id] [sub-conf] [host] [path]
84
+
85
+ Builds client assets, single replicas, and/or syncs environment ports.
86
+
87
+ Arguments:
88
+ deploy-id The deployment ID to build. (default: "dd-default")
89
+ sub-conf The sub-configuration for the build. (default: "")
90
+ host Comma-separated hosts to filter the build. (default: "")
91
+ path Comma-separated paths to filter the build. (default: "")
92
+
93
+ Options:
94
+ --sync-env-port Sync environment port assignments across all deploy IDs
95
+ --single-replica Build single replica folders instead of full client
96
+ --build-zip Create zip files of the builds
97
+ --lite-build Skip full build (default is full build)
98
+ --icons-build Build icons
99
+ -h, --help display help for command
100
+
101
+ ```
102
+
103
+
76
104
  ### `start` :
77
105
  ```
78
106
  Usage: underpost start [options] <deploy-id> [env]
@@ -94,6 +122,8 @@ Options:
94
122
  process.
95
123
  --underpost-quickly-install Uses Underpost Quickly Install for dependency
96
124
  installation.
125
+ --skip-pull-base Skips cloning repositories, uses current
126
+ workspace code directly.
97
127
  -h, --help display help for command
98
128
 
99
129
  ```
@@ -110,7 +140,7 @@ Arguments:
110
140
 
111
141
  Options:
112
142
  --bare Performs a bare clone, downloading only the .git files.
113
- -g8 Uses the g8 repository extension for cloning.
143
+ --g8 Uses the g8 repository extension for cloning.
114
144
  -h, --help display help for command
115
145
 
116
146
  ```
@@ -128,7 +158,7 @@ Arguments:
128
158
  uri The URI of the GitHub repository (e.g., "username/repository").
129
159
 
130
160
  Options:
131
- -g8 Uses the g8 repository extension for pulling.
161
+ --g8 Uses the g8 repository extension for pulling.
132
162
  -h, --help display help for command
133
163
 
134
164
  ```
@@ -145,8 +175,8 @@ Arguments:
145
175
  path The absolute or relative directory path of
146
176
  the repository.
147
177
  commit-type The type of commit to perform. Options:
148
- feat, fix, docs, style, refactor, perf,
149
- ci, cd, infra, build, test, chore, revert,
178
+ feat, fix, docs, style, refactor, perf, ci,
179
+ cd, infra, build, test, chore, revert,
150
180
  backup.
151
181
  module-tag Optional: Sets a specific module tag for
152
182
  the commit.
@@ -154,14 +184,14 @@ Arguments:
154
184
  message for the commit.
155
185
 
156
186
  Options:
157
- --log <latest-n> Shows commit history from the specified
187
+ --log [latest-n] Shows commit history from the specified
158
188
  number of latest n path commits.
159
189
  --last-msg <latest-n> Displays the last n commit message.
160
190
  --empty Allows committing with empty files.
161
191
  --copy Copies the generated commit message to the
162
192
  clipboard.
163
- --info Displays information about available
164
- commit types.
193
+ --info Displays information about available commit
194
+ types.
165
195
  --diff Shows the current git diff changes.
166
196
  --edit Edit last commit.
167
197
  --deploy-id <deploy-id> Sets the deployment configuration ID for
@@ -171,8 +201,8 @@ Options:
171
201
  hashes of commits.
172
202
  --extension <extension> specific file extensions of commits.
173
203
  --changelog [latest-n] Print plain the changelog of the specified
174
- number of latest n commits, if no number
175
- is provided it will get the changelog to
204
+ number of latest n commits, if no number is
205
+ provided it will get the changelog to
176
206
  latest ci integration
177
207
  --changelog-build Builds a CHANGELOG.md file based on the
178
208
  commit history
@@ -181,6 +211,14 @@ Options:
181
211
  --changelog-no-hash Excludes commit hashes from the generated
182
212
  changelog entries (used with
183
213
  --changelog-build).
214
+ --unpush With --log, automatically sets range to
215
+ unpushed commits ahead of remote.
216
+ -b Shows the current Git branch name.
217
+ -p [branch] Shows the reflog for the specified branch.
218
+ --bc <commit-hash> Shows branches that contain the specified
219
+ commit.
220
+ --is-remote-repo <url-repo> Checks whether a remote Git repository URL
221
+ is reachable. Prints true or false.
184
222
  -h, --help display help for command
185
223
 
186
224
  ```
@@ -198,7 +236,7 @@ Arguments:
198
236
 
199
237
  Options:
200
238
  -f Forces the push, overwriting the remote repository history.
201
- -g8 Uses the g8 repository extension for pushing.
239
+ --g8 Uses the g8 repository extension for pushing.
202
240
  -h, --help display help for command
203
241
 
204
242
  ```
@@ -282,11 +320,10 @@ Options:
282
320
  Manages Underpost configurations using various operators.
283
321
 
284
322
  Arguments:
285
- operator The configuration operation to perform. Options:
286
- set, delete, get, list, clean.
323
+ operator The configuration operation to perform. Options: set,
324
+ delete, get, list, clean, isInsideContainer.
287
325
  key Optional: The specific configuration key to manage.
288
- value Optional: The value to set for the configuration
289
- key.
326
+ value Optional: The value to set for the configuration key.
290
327
 
291
328
  Options:
292
329
  --plain Prints the configuration value in plain text.
@@ -295,8 +332,8 @@ Options:
295
332
  --deploy-id <deploy-id> Sets the deployment configuration ID for the
296
333
  operation context.
297
334
  --build Sets the build context for the operation.
298
- --copy Copies the configuration value to the clipboard
299
- (only for get operation).
335
+ --copy Copies the configuration value to the clipboard (only
336
+ for get operation).
300
337
  -h, --help display help for command
301
338
 
302
339
  ```
@@ -337,8 +374,8 @@ Options:
337
374
  --ban-egress-clear Clears all banned egress IP addresses.
338
375
  --ban-both-add Adds IP addresses to both banned ingress and egress
339
376
  lists.
340
- --ban-both-remove Removes IP addresses from both banned ingress and
341
- egress lists.
377
+ --ban-both-remove Removes IP addresses from both banned ingress and egress
378
+ lists.
342
379
  -h, --help display help for command
343
380
 
344
381
  ```
@@ -364,8 +401,8 @@ Options:
364
401
  --mongodb Initializes the cluster with a MongoDB
365
402
  statefulset.
366
403
  --mongo-db-host <host> Set custom mongo db host
367
- --postgresql Initializes the cluster with a
368
- PostgreSQL statefulset.
404
+ --postgresql Initializes the cluster with a PostgreSQL
405
+ statefulset.
369
406
  --mongodb4 Initializes the cluster with a MongoDB
370
407
  4.4 service.
371
408
  --valkey Initializes the cluster with a Valkey
@@ -380,10 +417,10 @@ Options:
380
417
  GPU base resources and environment
381
418
  settings.
382
419
  --ns-use <ns-name> Switches the current Kubernetes context
383
- to the specified namespace (creates if
384
- it doesn't exist).
385
- --kubeadm Initializes the cluster using kubeadm
386
- for control plane management.
420
+ to the specified namespace (creates if it
421
+ doesn't exist).
422
+ --kubeadm Initializes the cluster using kubeadm for
423
+ control plane management.
387
424
  --pod-network-cidr <cidr> Sets custom pod network CIDR for kubeadm
388
425
  cluster initialization (defaults to
389
426
  "192.168.0.0/16").
@@ -392,15 +429,15 @@ Options:
392
429
  to "localhost:6443").
393
430
  --grafana Initializes the cluster with a Grafana
394
431
  deployment.
395
- --prom [hosts] Initializes the cluster with a
396
- Prometheus Operator deployment and
397
- monitor scrap for specified hosts.
432
+ --prom [hosts] Initializes the cluster with a Prometheus
433
+ Operator deployment and monitor scrap for
434
+ specified hosts.
398
435
  --dev Initializes a development-specific
399
436
  cluster configuration.
400
437
  --list-pods Displays detailed information about all
401
438
  pods.
402
- --pull-image Sets an optional associated image to
403
- pull during initialization.
439
+ --pull-image Sets an optional associated image to pull
440
+ during initialization.
404
441
  --init-host Installs necessary Kubernetes node CLI
405
442
  tools (e.g., kind, kubeadm, docker,
406
443
  podman, helm).
@@ -414,8 +451,8 @@ Options:
414
451
  (Lightweight Kubernetes).
415
452
  --hosts <hosts> A comma-separated list of cluster
416
453
  hostnames or IP addresses.
417
- --remove-volume-host-paths Removes specified volume host paths
418
- after execution.
454
+ --remove-volume-host-paths Removes specified volume host paths after
455
+ execution.
419
456
  --namespace <namespace> Kubernetes namespace for cluster
420
457
  operations (defaults to "default").
421
458
  --replicas <replicas> Sets a custom number of replicas for
@@ -479,8 +516,14 @@ Options:
479
516
  --status Retrieves current network traffic data
480
517
  from resource deployments and the host
481
518
  machine network configuration.
482
- --kubeadm Enables the kubeadm context for
483
- deployment operations.
519
+ --kubeadm Enables the kubeadm context for deployment
520
+ operations.
521
+ --k3s Enables the k3s context for deployment
522
+ operations.
523
+ --kind Enables the kind context for deployment
524
+ operations.
525
+ --git-clean Runs git clean on volume mount paths
526
+ before copying.
484
527
  --etc-hosts Enables the etc-hosts context for
485
528
  deployment operations.
486
529
  --restore-hosts Restores default `/etc/hosts` entries.
@@ -510,13 +553,17 @@ Manages secrets for various platforms.
510
553
 
511
554
  Arguments:
512
555
  platform The secret management platform. Options:
513
- underpost.
556
+ underpost, globalSecretClean.
514
557
 
515
558
  Options:
516
559
  --init Initializes the secrets platform
517
560
  environment.
518
561
  --create-from-file <path-env-file> Creates secrets from a specified
519
562
  environment file.
563
+ --create-from-env Creates secrets from container environment
564
+ variables (envFrom: secretRef).
565
+ --global-clean Removes all filesystem traces of secrets
566
+ (engine-private, .env, conf cache).
520
567
  --list Lists all available secrets for the
521
568
  platform.
522
569
  -h, --help display help for command
@@ -533,8 +580,8 @@ clusters.
533
580
 
534
581
  Options:
535
582
  --build Builds a Docker image using Podman,
536
- optionally saves it as a tar archive,
537
- and loads it into a specified Kubernetes
583
+ optionally saves it as a tar archive, and
584
+ loads it into a specified Kubernetes
538
585
  cluster (Kind, Kubeadm, or K3s).
539
586
  --ls Lists all available Underpost Dockerfile
540
587
  images.
@@ -551,8 +598,8 @@ Options:
551
598
  "rockylinux9-underpost" image.
552
599
  --spec Get current cached list of container
553
600
  images used by all pods
554
- --namespace <namespace> Kubernetes namespace for image
555
- operations (defaults to "default").
601
+ --namespace <namespace> Kubernetes namespace for image operations
602
+ (defaults to "default").
556
603
  --kind Set kind cluster env image context
557
604
  management.
558
605
  --kubeadm Set kubeadm cluster env image context
@@ -561,8 +608,7 @@ Options:
561
608
  management.
562
609
  --node-name Set node name for kubeadm or k3s cluster
563
610
  env image context management.
564
- --reset Performs a build without using the
565
- cache.
611
+ --reset Performs a build without using the cache.
566
612
  --dev Use development mode.
567
613
  --pull-dockerhub <dockerhub-image> Sets a custom Docker Hub image for base
568
614
  image pulls.
@@ -617,6 +663,7 @@ Options:
617
663
  --kubeadm Enables the kubeadm context for database operations.
618
664
  --kind Enables the kind context for database operations.
619
665
  --k3s Enables the k3s context for database operations.
666
+ --repo-backup Backs up repositories (git commit+push) inside deployment pods via kubectl exec.
620
667
  -h, --help display help for command
621
668
 
622
669
  ```
@@ -640,6 +687,7 @@ Options:
640
687
  --instances Apply to instance data collection
641
688
  --generate Generate cluster metadata
642
689
  --itc Apply under container execution context
690
+ --dev Sets the development cli context
643
691
  -h, --help display help for command
644
692
 
645
693
  ```
@@ -681,8 +729,6 @@ Options:
681
729
  --dry-run Preview cron jobs without executing them.
682
730
  --create-job-now After applying manifests, immediately create a Job
683
731
  from each CronJob (requires --apply).
684
- --ssh Execute backup commands via SSH on the remote node
685
- instead of locally.
686
732
  -h, --help display help for command
687
733
 
688
734
  ```
@@ -790,32 +836,30 @@ services.
790
836
 
791
837
  Options:
792
838
  --deploy-id <deploy-id> Sets deploy id context for ssh operations.
793
- --generate Generates new ssh credential and stores it in
794
- current private keys file storage.
839
+ --generate Generates new ssh credential and stores it in current
840
+ private keys file storage.
795
841
  --user <user> Sets custom ssh user
796
842
  --password <password> Sets custom ssh password
797
843
  --host <host> Sets custom ssh host
798
844
  --port <port> Sets custom ssh port
799
845
  --filter <filter> Filters ssh user credentials from current private
800
846
  keys file storage.
801
- --groups <groups> Sets comma-separated ssh user groups for the ssh
802
- user credential.
847
+ --groups <groups> Sets comma-separated ssh user groups for the ssh user
848
+ credential.
803
849
  --user-add Adds a new ssh user credential to current private
804
850
  keys file storage.
805
851
  --user-remove Removes an existing ssh user credential from current
806
852
  private keys file storage.
807
853
  --user-ls Lists all ssh user credentials from current private
808
854
  keys file storage.
809
- --start Starts an SSH session with the specified
810
- credentials.
855
+ --start Starts an SSH session with the specified credentials.
811
856
  --reset Resets ssh configuration and deletes all stored
812
857
  credentials.
813
858
  --keys-list Lists all ssh keys from current private keys file
814
859
  storage.
815
860
  --hosts-list Lists all ssh hosts from current private keys file
816
861
  storage.
817
- --disable-password Disables password authentication for the SSH
818
- session.
862
+ --disable-password Disables password authentication for the SSH session.
819
863
  --key-test Tests the SSH key using ssh-keygen.
820
864
  --stop Stops the SSH service.
821
865
  --status Checks the status of the SSH service.
@@ -833,7 +877,7 @@ Options:
833
877
  Runs specified scripts using various runners.
834
878
 
835
879
  Arguments:
836
- 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-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,ls-deployments,host-update,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,ptls,release-cmt,deploy-test,sync-replica,tf-vae-test,spark-template,rmi,kill,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job.
880
+ 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,template-deploy-image,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,ls-deployments,host-update,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,rmi,kill,generate-pass,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job.
837
881
  path The input value, identifier, or path for the operation.
838
882
 
839
883
  Options:
@@ -864,7 +908,6 @@ Options:
864
908
  --force Forces operation, overriding any warnings or conflicts.
865
909
  --tls Enables TLS for the runner execution.
866
910
  --reset Resets the runner state before execution.
867
- --terminal Enables terminal mode for interactive script execution.
868
911
  --dev-proxy-port-offset <port-offset> Sets a custom port offset for development proxy.
869
912
  --host-network Enables host network mode for the runner execution.
870
913
  --requests-memory <requests-memory> Requests memory limit for the runner execution.
@@ -881,6 +924,7 @@ Options:
881
924
  --kubeadm Sets the kubeadm cluster context for the runner execution.
882
925
  --k3s Sets the k3s cluster context for the runner execution.
883
926
  --kind Sets the kind cluster context for the runner execution.
927
+ --git-clean Runs git clean on volume mount paths before copying.
884
928
  --log-type <log-type> Sets the log type for the runner execution.
885
929
  --deploy-id <deploy-id> Sets deploy id context for the runner execution.
886
930
  --user <user> Sets user context for the runner execution.
@@ -898,8 +942,10 @@ Options:
898
942
  --monitor-status-delta-ms <milliseconds> Sets the polling interval in milliseconds for status monitoring (default: 1000).
899
943
  --monitor-status-max-attempts <attempts> Sets the maximum number of status check attempts (default: 600).
900
944
  --dry-run Preview operations without executing them.
945
+ --from-n-commit <n> Number of commits back to use for message propagation in template-deploy (default: 1, last commit only).
901
946
  --create-job-now After applying cron manifests, immediately create a Job from each CronJob (forwarded to cron runner).
902
947
  --host-aliases <host-aliases> Adds entries to the Pod /etc/hosts via hostAliases. Format: semicolon-separated entries of "ip=hostname1,hostname2" (e.g., "127.0.0.1=foo.local,bar.local;10.1.2.3=foo.remote,bar.remote").
948
+ --copy Copies the runner output to the clipboard (supported by: generate-pass, template-deploy-local).
903
949
  -h, --help display help for command
904
950
 
905
951
  ```
@@ -931,8 +977,8 @@ Options:
931
977
  --delete-vm <vm-name> Stop and delete the specified VM.
932
978
  --init-vm <vm-name> Run k3s-node-setup.sh on the specified VM
933
979
  (use with --control or --worker).
934
- --info-vm <vm-name> Display full configuration and status for
935
- the specified VM.
980
+ --info-vm <vm-name> Display full configuration and status for the
981
+ specified VM.
936
982
  --test <vm-name> Run connectivity and health checks on the
937
983
  specified VM.
938
984
  --root-size <gb-size> Root disk size in GiB for --create-vm
@@ -947,8 +993,7 @@ Options:
947
993
  "k3s-control:80,443").
948
994
  --workflow-id <workflow-id> Workflow ID to execute via runWorkflow.
949
995
  --vm-id <vm-name> Target VM name for workflow execution.
950
- --deploy-id <deploy-id> Deployment ID context for workflow
951
- execution.
996
+ --deploy-id <deploy-id> Deployment ID context for workflow execution.
952
997
  --namespace <namespace> Kubernetes namespace context (defaults to
953
998
  "default").
954
999
  -h, --help display help for command
@@ -1013,4 +1058,34 @@ Options:
1013
1058
  -h, --help display help for command
1014
1059
 
1015
1060
  ```
1061
+
1062
+
1063
+ ### `release` :
1064
+ ```
1065
+ Usage: underpost release [options] [version]
1066
+
1067
+ Release orchestrator for building new versions and deploying releases of the
1068
+ Underpost CLI.
1069
+
1070
+ Arguments:
1071
+ version The new version string to set (e.g., "3.1.4"). Defaults
1072
+ to current version.
1073
+
1074
+ Options:
1075
+ --build Builds a new version: tests template, bumps versions,
1076
+ rebuilds manifests and configs.
1077
+ --deploy Deploys the release: syncs secrets, commits, and pushes
1078
+ to remote repositories.
1079
+ --ci-push <deploy-id> Local equivalent of engine-*.ci.yml: builds
1080
+ dd-{deploy-id} and pushes to the engine-{deploy-id}
1081
+ repository. Accepts the suffix (e.g., "cyberia"),
1082
+ "dd-cyberia", or "engine-cyberia".
1083
+ --message <message> Commit message for --ci-push or --pwa-build (defaults
1084
+ to last commit of the engine repository).
1085
+ --pwa-build Runs the pwa-microservices-template update flow: always
1086
+ re-clones, syncs engine sources, installs, builds, and
1087
+ pushes.
1088
+ -h, --help display help for command
1089
+
1090
+ ```
1016
1091
 
package/Dockerfile CHANGED
@@ -34,9 +34,11 @@ RUN npm --version
34
34
  RUN npm install -g underpost
35
35
  RUN underpost --version
36
36
 
37
+ # Create non-root user for secure container execution (cron jobs, init containers)
38
+ # Deployment containers override to root via securityContext when npm install -g is needed
39
+ RUN useradd -m -u 1000 -s /bin/bash dd
40
+
37
41
  # Create working directory
38
- RUN mkdir /home/dd
39
- VOLUME /home/dd
40
42
  WORKDIR /home/dd
41
43
 
42
44
  # Expose necessary ports