cyberia 3.1.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 (208) hide show
  1. package/.env.example +0 -2
  2. package/.github/workflows/engine-cyberia.cd.yml +10 -8
  3. package/.github/workflows/engine-cyberia.ci.yml +12 -29
  4. package/.github/workflows/ghpkg.ci.yml +4 -4
  5. package/.github/workflows/npmpkg.ci.yml +28 -11
  6. package/.github/workflows/publish.ci.yml +21 -2
  7. package/.github/workflows/pwa-microservices-template-page.cd.yml +4 -5
  8. package/.github/workflows/pwa-microservices-template-test.ci.yml +3 -3
  9. package/.github/workflows/release.cd.yml +13 -8
  10. package/CHANGELOG.md +433 -1
  11. package/CLI-HELP.md +57 -7
  12. package/Dockerfile +4 -2
  13. package/README.md +347 -22
  14. package/bin/build.js +5 -2
  15. package/bin/cyberia.js +1789 -112
  16. package/bin/deploy.js +177 -124
  17. package/bin/file.js +3 -0
  18. package/bin/index.js +1789 -112
  19. package/conf.js +64 -8
  20. package/deployment.yaml +92 -20
  21. package/hardhat/hardhat.config.js +13 -13
  22. package/hardhat/ignition/modules/ObjectLayerToken.js +1 -1
  23. package/hardhat/package-lock.json +2554 -5859
  24. package/hardhat/package.json +13 -22
  25. package/hardhat/scripts/deployObjectLayerToken.js +1 -1
  26. package/hardhat/test/ObjectLayerToken.js +4 -2
  27. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  28. package/hardhat/types/ethers-contracts/common.ts +92 -0
  29. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  30. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  31. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  32. package/hardhat/types/ethers-contracts/index.ts +6 -0
  33. package/jsdoc.dd-cyberia.json +64 -55
  34. package/jsdoc.json +64 -55
  35. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -4
  36. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +5 -4
  37. package/manifests/deployment/dd-cyberia-development/deployment.yaml +92 -20
  38. package/manifests/deployment/dd-cyberia-development/proxy.yaml +54 -18
  39. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  40. package/manifests/deployment/dd-test-development/deployment.yaml +88 -74
  41. package/manifests/deployment/dd-test-development/proxy.yaml +13 -4
  42. package/manifests/deployment/playwright/deployment.yaml +1 -1
  43. package/nodemon.json +1 -1
  44. package/package.json +22 -16
  45. package/proxy.yaml +54 -18
  46. package/scripts/rhel-grpc-setup.sh +56 -0
  47. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +44 -0
  48. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +16 -0
  49. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  50. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +80 -7
  51. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  52. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  53. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  54. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  55. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  56. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  57. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  58. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  59. package/src/api/cyberia-instance/cyberia-fallback-world.js +368 -0
  60. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  61. package/src/api/cyberia-instance/cyberia-instance.model.js +84 -0
  62. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  63. package/src/api/cyberia-instance/cyberia-instance.service.js +191 -0
  64. package/src/api/cyberia-instance/cyberia-portal-connector.js +486 -0
  65. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  66. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +413 -0
  67. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +228 -0
  68. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  69. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +42 -0
  70. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  71. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  72. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  73. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  74. package/src/api/file/file.ref.json +18 -0
  75. package/src/api/ipfs/ipfs.controller.js +4 -25
  76. package/src/api/ipfs/ipfs.model.js +43 -34
  77. package/src/api/ipfs/ipfs.router.js +8 -13
  78. package/src/api/ipfs/ipfs.service.js +54 -102
  79. package/src/api/object-layer/README.md +347 -22
  80. package/src/api/object-layer/object-layer.router.js +30 -0
  81. package/src/api/object-layer/object-layer.service.js +114 -31
  82. package/src/api/user/user.service.js +8 -7
  83. package/src/cli/cluster.js +7 -7
  84. package/src/cli/db.js +710 -827
  85. package/src/cli/deploy.js +151 -93
  86. package/src/cli/env.js +29 -0
  87. package/src/cli/fs.js +5 -2
  88. package/src/cli/index.js +48 -2
  89. package/src/cli/kubectl.js +211 -0
  90. package/src/cli/release.js +284 -0
  91. package/src/cli/repository.js +438 -75
  92. package/src/cli/run.js +195 -35
  93. package/src/cli/secrets.js +73 -0
  94. package/src/cli/test.js +3 -3
  95. package/src/client/Cryptokoyn.index.js +3 -4
  96. package/src/client/CyberiaPortal.index.js +3 -4
  97. package/src/client/Default.index.js +3 -4
  98. package/src/client/Itemledger.index.js +3 -4
  99. package/src/client/Underpost.index.js +3 -4
  100. package/src/client/components/core/AppStore.js +69 -0
  101. package/src/client/components/core/CalendarCore.js +2 -2
  102. package/src/client/components/core/DropDown.js +137 -17
  103. package/src/client/components/core/Keyboard.js +2 -2
  104. package/src/client/components/core/LogIn.js +2 -2
  105. package/src/client/components/core/LogOut.js +2 -2
  106. package/src/client/components/core/Modal.js +0 -1
  107. package/src/client/components/core/Panel.js +0 -1
  108. package/src/client/components/core/PanelForm.js +19 -19
  109. package/src/client/components/core/SocketIo.js +82 -29
  110. package/src/client/components/core/SocketIoHandler.js +75 -0
  111. package/src/client/components/core/Stream.js +143 -95
  112. package/src/client/components/core/Webhook.js +40 -7
  113. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  114. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +3 -3
  115. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +2 -2
  116. package/src/client/components/cryptokoyn/MenuCryptokoyn.js +3 -3
  117. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  118. package/src/client/components/cyberia/InstanceEngineCyberia.js +700 -0
  119. package/src/client/components/cyberia/MapEngineCyberia.js +1359 -2
  120. package/src/client/components/cyberia/ObjectLayerEngineModal.js +17 -6
  121. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +92 -54
  122. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  123. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +216 -30
  124. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +3 -3
  125. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +2 -2
  126. package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +40 -7
  127. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +4 -0
  128. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  129. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
  130. package/src/client/components/default/AppStoreDefault.js +5 -0
  131. package/src/client/components/default/LogInDefault.js +3 -3
  132. package/src/client/components/default/LogOutDefault.js +2 -2
  133. package/src/client/components/default/MenuDefault.js +5 -5
  134. package/src/client/components/default/SocketIoDefault.js +3 -51
  135. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  136. package/src/client/components/itemledger/LogInItemledger.js +3 -3
  137. package/src/client/components/itemledger/LogOutItemledger.js +2 -2
  138. package/src/client/components/itemledger/MenuItemledger.js +3 -3
  139. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  140. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  141. package/src/client/components/underpost/LogInUnderpost.js +3 -3
  142. package/src/client/components/underpost/LogOutUnderpost.js +2 -2
  143. package/src/client/components/underpost/MenuUnderpost.js +5 -5
  144. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  145. package/src/client/services/core/core.service.js +20 -8
  146. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +105 -0
  147. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  148. package/src/client/services/cyberia-entity/cyberia-entity.service.js +105 -0
  149. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  150. package/src/client/services/cyberia-instance/cyberia-instance.service.js +122 -0
  151. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +105 -0
  152. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  153. package/src/client/services/cyberia-map/cyberia-map.service.js +126 -0
  154. package/src/client/services/instance/instance.management.js +2 -2
  155. package/src/client/services/ipfs/ipfs.service.js +3 -23
  156. package/src/client/services/object-layer/object-layer.management.js +3 -3
  157. package/src/client/services/object-layer/object-layer.service.js +21 -0
  158. package/src/client/services/user/user.management.js +2 -2
  159. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  160. package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +305 -0
  161. package/src/grpc/cyberia/README.md +326 -0
  162. package/src/grpc/cyberia/grpc-server.js +530 -0
  163. package/src/index.js +24 -1
  164. package/src/runtime/express/Dockerfile +4 -0
  165. package/src/runtime/express/Express.js +18 -1
  166. package/src/runtime/lampp/Dockerfile +13 -2
  167. package/src/runtime/lampp/Lampp.js +27 -4
  168. package/src/runtime/wp/Dockerfile +68 -0
  169. package/src/runtime/wp/Wp.js +639 -0
  170. package/src/server/auth.js +24 -1
  171. package/src/server/backup.js +37 -9
  172. package/src/server/client-build-docs.js +9 -2
  173. package/src/server/client-build.js +31 -31
  174. package/src/server/client-formatted.js +109 -57
  175. package/src/server/conf.js +24 -9
  176. package/src/server/cron.js +25 -23
  177. package/src/server/dns.js +2 -1
  178. package/src/server/ipfs-client.js +24 -1
  179. package/src/server/object-layer.js +149 -108
  180. package/src/server/peer.js +8 -0
  181. package/src/server/runtime.js +25 -1
  182. package/src/server/semantic-layer-generator-floor.js +359 -0
  183. package/src/server/semantic-layer-generator-skin.js +1294 -0
  184. package/src/server/semantic-layer-generator.js +116 -555
  185. package/src/server/start.js +2 -2
  186. package/src/ws/IoInterface.js +1 -10
  187. package/src/ws/IoServer.js +14 -33
  188. package/src/ws/core/channels/core.ws.chat.js +65 -20
  189. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  190. package/src/ws/core/channels/core.ws.stream.js +90 -31
  191. package/src/ws/core/core.ws.connection.js +12 -33
  192. package/src/ws/core/core.ws.emit.js +10 -26
  193. package/src/ws/core/core.ws.server.js +25 -58
  194. package/src/ws/default/channels/default.ws.main.js +53 -12
  195. package/src/ws/default/default.ws.connection.js +26 -13
  196. package/src/ws/default/default.ws.server.js +30 -12
  197. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  198. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  199. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  200. package/src/client/components/default/ElementsDefault.js +0 -38
  201. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  202. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  203. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  204. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  205. package/src/ws/core/management/core.ws.chat.js +0 -8
  206. package/src/ws/core/management/core.ws.mailer.js +0 -16
  207. package/src/ws/core/management/core.ws.stream.js +0 -8
  208. package/src/ws/default/management/default.ws.main.js +0 -8
package/conf.js CHANGED
@@ -61,12 +61,13 @@ const DefaultConf = /**/ {
61
61
  'Panel',
62
62
  'PanelForm',
63
63
  'Polyhedron',
64
+ 'AppStore',
65
+ 'SocketIoHandler',
64
66
  ],
65
67
  underpost: [
66
68
  'MenuUnderpost',
67
69
  'RoutesUnderpost',
68
- 'ElementsUnderpost',
69
- 'CommonUnderpost',
70
+ 'AppStoreUnderpost',
70
71
  'CssUnderpost',
71
72
  'LogInUnderpost',
72
73
  'LogOutUnderpost',
@@ -146,7 +147,13 @@ const DefaultConf = /**/ {
146
147
  },
147
148
  publicRef: 'cyberia',
148
149
  components: {
149
- cyberia: ['MapEngineCyberia', 'ObjectLayerEngine', 'ObjectLayerEngineModal', 'ObjectLayerEngineViewer'],
150
+ cyberia: [
151
+ 'MapEngineCyberia',
152
+ 'ObjectLayerEngine',
153
+ 'ObjectLayerEngineModal',
154
+ 'ObjectLayerEngineViewer',
155
+ 'InstanceEngineCyberia',
156
+ ],
150
157
  core: [
151
158
  'CommonJs',
152
159
  'VanillaJs',
@@ -183,6 +190,8 @@ const DefaultConf = /**/ {
183
190
  'CssCore',
184
191
  'Worker',
185
192
  'SocketIo',
193
+ 'AppStore',
194
+ 'SocketIoHandler',
186
195
  'Chat',
187
196
  'Webhook',
188
197
  'Wallet',
@@ -199,7 +208,7 @@ const DefaultConf = /**/ {
199
208
  'cyberia-portal': [
200
209
  'MenuCyberiaPortal',
201
210
  'RoutesCyberiaPortal',
202
- 'ElementsCyberiaPortal',
211
+ 'AppStoreCyberiaPortal',
203
212
  'CommonCyberiaPortal',
204
213
  'CssCyberiaPortal',
205
214
  'LogInCyberiaPortal',
@@ -225,6 +234,7 @@ const DefaultConf = /**/ {
225
234
  { path: '/object-layer-engine-management', client: 'CyberiaPortal', ssr: 'CyberiaPortal' },
226
235
  { path: '/object-layer-engine-viewer', client: 'CyberiaPortal', ssr: 'CyberiaPortal' },
227
236
  { path: '/cyberia-map-engine', client: 'CyberiaPortal', ssr: 'CyberiaPortal' },
237
+ { path: '/cyberia-instance-engine', client: 'CyberiaPortal', ssr: 'CyberiaPortal' },
228
238
  { path: '/docs', client: 'CyberiaPortal', ssr: 'CyberiaPortal' },
229
239
  ],
230
240
  dists: [
@@ -277,6 +287,11 @@ const DefaultConf = /**/ {
277
287
  'object-layer-render-frames',
278
288
  'atlas-sprite-sheet',
279
289
  'default',
290
+ 'cyberia-entity',
291
+ 'cyberia-map',
292
+ 'cyberia-instance',
293
+ 'cyberia-instance-conf',
294
+ 'cyberia-dialogue',
280
295
  ],
281
296
  },
282
297
  cryptokoyn: {
@@ -337,12 +352,13 @@ const DefaultConf = /**/ {
337
352
  'ToolTip',
338
353
  'Webhook',
339
354
  'Recover',
355
+ 'AppStore',
356
+ 'SocketIoHandler',
340
357
  ],
341
358
  cryptokoyn: [
342
359
  'MenuCryptokoyn',
343
360
  'RoutesCryptokoyn',
344
- 'ElementsCryptokoyn',
345
- 'CommonCryptokoyn',
361
+ 'AppStoreCryptokoyn',
346
362
  'CssCryptokoyn',
347
363
  'LogInCryptokoyn',
348
364
  'LogOutCryptokoyn',
@@ -452,12 +468,13 @@ const DefaultConf = /**/ {
452
468
  'ToolTip',
453
469
  'Webhook',
454
470
  'Recover',
471
+ 'AppStore',
472
+ 'SocketIoHandler',
455
473
  ],
456
474
  itemledger: [
457
475
  'MenuItemledger',
458
476
  'RoutesItemledger',
459
- 'ElementsItemledger',
460
- 'CommonItemledger',
477
+ 'AppStoreItemledger',
461
478
  'CssItemledger',
462
479
  'LogInItemledger',
463
480
  'LogOutItemledger',
@@ -556,6 +573,31 @@ const DefaultConf = /**/ {
556
573
  server: {
557
574
  'underpost.net': {
558
575
  '/': {
576
+ replicas: ['/r1'],
577
+ client: 'underpost',
578
+ runtime: 'nodejs',
579
+ apis: ['user', 'file', 'test', 'document'],
580
+ apiBaseProxyPath: null,
581
+ apiBaseHost: null,
582
+ origins: [],
583
+ ws: 'core',
584
+ peer: true,
585
+ proxy: [80, 443],
586
+ db: { provider: 'mongoose', host: 'env:DB_HOST', name: 'env:DB_NAME_NEXODEV' },
587
+ valkey: { port: 'env:VALKEY_PORT', host: 'env:VALKEY_HOST' },
588
+ mailer: {
589
+ sender: { email: 'env:MAILER_SENDER_EMAIL', name: 'env:MAILER_SENDER_NAME' },
590
+ transport: {
591
+ host: 'env:SMTP_HOST',
592
+ port: 'env:SMTP_PORT',
593
+ secure: true,
594
+ auth: { user: 'env:SMTP_AUTH_USER', pass: 'env:SMTP_AUTH_PASS' },
595
+ },
596
+ },
597
+ },
598
+ '/singlereplicas1': {
599
+ replicas: ['/r5'],
600
+ singleReplica: true,
559
601
  client: 'underpost',
560
602
  runtime: 'nodejs',
561
603
  apis: ['user', 'file', 'test', 'document'],
@@ -603,12 +645,18 @@ const DefaultConf = /**/ {
603
645
  'object-layer-render-frames',
604
646
  'atlas-sprite-sheet',
605
647
  'ipfs',
648
+ 'cyberia-entity',
649
+ 'cyberia-map',
650
+ 'cyberia-instance',
651
+ 'cyberia-instance-conf',
652
+ 'cyberia-dialogue',
606
653
  ],
607
654
  ws: 'core',
608
655
  peer: true,
609
656
  docs: {
610
657
  coveragePath: './hardhat',
611
658
  jsJsonPath: './jsdoc.dd-cyberia.json',
659
+ coverageOutputDir: 'hardhat-coverage',
612
660
  references: ['./hardhat/README.md', './hardhat/WHITE-PAPER.md'],
613
661
  },
614
662
  origins: [
@@ -629,6 +677,7 @@ const DefaultConf = /**/ {
629
677
  },
630
678
  },
631
679
  replicas: ['/r1', '/r2'],
680
+ grpc: { module: 'cyberia', port: 50051 },
632
681
  },
633
682
  '/single-replica': {
634
683
  singleReplica: true,
@@ -646,12 +695,18 @@ const DefaultConf = /**/ {
646
695
  'object-layer-render-frames',
647
696
  'atlas-sprite-sheet',
648
697
  'ipfs',
698
+ 'cyberia-entity',
699
+ 'cyberia-map',
700
+ 'cyberia-instance',
701
+ 'cyberia-instance-conf',
702
+ 'cyberia-dialogue',
649
703
  ],
650
704
  ws: 'core',
651
705
  peer: true,
652
706
  docs: {
653
707
  coveragePath: './hardhat',
654
708
  jsJsonPath: './jsdoc.dd-cyberia.json',
709
+ coverageOutputDir: 'hardhat-coverage',
655
710
  references: ['./hardhat/README.md', './hardhat/WHITE-PAPER.md'],
656
711
  },
657
712
  origins: [
@@ -671,6 +726,7 @@ const DefaultConf = /**/ {
671
726
  auth: { user: 'env:SMTP_AUTH_USER_CYBERIA', pass: 'env:SMTP_AUTH_PASS_CYBERIA' },
672
727
  },
673
728
  },
729
+ grpc: { module: 'cyberia', port: 50051 },
674
730
  },
675
731
  },
676
732
  'cyberiaonline.com': {
package/deployment.yaml CHANGED
@@ -6,6 +6,7 @@ metadata:
6
6
  namespace: default
7
7
  labels:
8
8
  app: dd-cyberia-development-blue
9
+ deploy-id: dd-cyberia-development
9
10
  spec:
10
11
  replicas: 1
11
12
  selector:
@@ -15,22 +16,26 @@ spec:
15
16
  metadata:
16
17
  labels:
17
18
  app: dd-cyberia-development-blue
19
+ deploy-id: dd-cyberia-development
18
20
  spec:
19
21
  containers:
20
22
  - name: dd-cyberia-development-blue
21
- image: localhost/rockylinux9-underpost:v3.1.3
23
+ image: localhost/rockylinux9-underpost:v3.2.5
24
+ envFrom:
25
+ - secretRef:
26
+ name: underpost-config
22
27
 
23
28
  command:
24
29
  - /bin/sh
25
30
  - -c
26
31
  - >
27
- npm install -g npm@11.2.0 && npm install -g underpost && underpost secret underpost --create-from-file /etc/config/.env.development && underpost start --build --run dd-cyberia development
32
+ npm install -g npm@11.2.0 &&
33
+ npm install -g underpost &&
34
+ underpost secret underpost --create-from-env &&
35
+ underpost start --build --run dd-cyberia development
28
36
 
29
37
 
30
38
  volumeMounts:
31
- - name: config-volume-dd-cyberia-development-blue
32
- mountPath: /etc/config
33
-
34
39
  - name: vol-public-dd-cyberia-dd-cyberia-development-blue
35
40
  mountPath: /home/dd/engine/src/client/public/cyberia
36
41
 
@@ -38,11 +43,6 @@ spec:
38
43
  mountPath: /home/dd/engine/src/client/public/underpost
39
44
 
40
45
  volumes:
41
- - name: config-volume-dd-cyberia-development-blue
42
- configMap:
43
- name: underpost-config
44
-
45
-
46
46
  - name: vol-public-dd-cyberia-dd-cyberia-development-blue
47
47
  persistentVolumeClaim:
48
48
  claimName: pvc-public-dd-cyberia-dd-cyberia-development-blue
@@ -242,6 +242,42 @@ spec:
242
242
  protocol: UDP
243
243
  port: 4024
244
244
  targetPort: 4024
245
+
246
+ - name: 'tcp-4025'
247
+ protocol: TCP
248
+ port: 4025
249
+ targetPort: 4025
250
+ - name: 'udp-4025'
251
+ protocol: UDP
252
+ port: 4025
253
+ targetPort: 4025
254
+
255
+ - name: 'tcp-4026'
256
+ protocol: TCP
257
+ port: 4026
258
+ targetPort: 4026
259
+ - name: 'udp-4026'
260
+ protocol: UDP
261
+ port: 4026
262
+ targetPort: 4026
263
+
264
+ - name: 'tcp-4027'
265
+ protocol: TCP
266
+ port: 4027
267
+ targetPort: 4027
268
+ - name: 'udp-4027'
269
+ protocol: UDP
270
+ port: 4027
271
+ targetPort: 4027
272
+
273
+ - name: 'tcp-4028'
274
+ protocol: TCP
275
+ port: 4028
276
+ targetPort: 4028
277
+ - name: 'udp-4028'
278
+ protocol: UDP
279
+ port: 4028
280
+ targetPort: 4028
245
281
  type: LoadBalancer
246
282
  ---
247
283
  apiVersion: apps/v1
@@ -251,6 +287,7 @@ metadata:
251
287
  namespace: default
252
288
  labels:
253
289
  app: dd-cyberia-development-green
290
+ deploy-id: dd-cyberia-development
254
291
  spec:
255
292
  replicas: 1
256
293
  selector:
@@ -260,22 +297,26 @@ spec:
260
297
  metadata:
261
298
  labels:
262
299
  app: dd-cyberia-development-green
300
+ deploy-id: dd-cyberia-development
263
301
  spec:
264
302
  containers:
265
303
  - name: dd-cyberia-development-green
266
- image: localhost/rockylinux9-underpost:v3.1.3
304
+ image: localhost/rockylinux9-underpost:v3.2.5
305
+ envFrom:
306
+ - secretRef:
307
+ name: underpost-config
267
308
 
268
309
  command:
269
310
  - /bin/sh
270
311
  - -c
271
312
  - >
272
- npm install -g npm@11.2.0 && npm install -g underpost && underpost secret underpost --create-from-file /etc/config/.env.development && underpost start --build --run dd-cyberia development
313
+ npm install -g npm@11.2.0 &&
314
+ npm install -g underpost &&
315
+ underpost secret underpost --create-from-env &&
316
+ underpost start --build --run dd-cyberia development
273
317
 
274
318
 
275
319
  volumeMounts:
276
- - name: config-volume-dd-cyberia-development-green
277
- mountPath: /etc/config
278
-
279
320
  - name: vol-public-dd-cyberia-dd-cyberia-development-green
280
321
  mountPath: /home/dd/engine/src/client/public/cyberia
281
322
 
@@ -283,11 +324,6 @@ spec:
283
324
  mountPath: /home/dd/engine/src/client/public/underpost
284
325
 
285
326
  volumes:
286
- - name: config-volume-dd-cyberia-development-green
287
- configMap:
288
- name: underpost-config
289
-
290
-
291
327
  - name: vol-public-dd-cyberia-dd-cyberia-development-green
292
328
  persistentVolumeClaim:
293
329
  claimName: pvc-public-dd-cyberia-dd-cyberia-development-green
@@ -487,4 +523,40 @@ spec:
487
523
  protocol: UDP
488
524
  port: 4024
489
525
  targetPort: 4024
526
+
527
+ - name: 'tcp-4025'
528
+ protocol: TCP
529
+ port: 4025
530
+ targetPort: 4025
531
+ - name: 'udp-4025'
532
+ protocol: UDP
533
+ port: 4025
534
+ targetPort: 4025
535
+
536
+ - name: 'tcp-4026'
537
+ protocol: TCP
538
+ port: 4026
539
+ targetPort: 4026
540
+ - name: 'udp-4026'
541
+ protocol: UDP
542
+ port: 4026
543
+ targetPort: 4026
544
+
545
+ - name: 'tcp-4027'
546
+ protocol: TCP
547
+ port: 4027
548
+ targetPort: 4027
549
+ - name: 'udp-4027'
550
+ protocol: UDP
551
+ port: 4027
552
+ targetPort: 4027
553
+
554
+ - name: 'tcp-4028'
555
+ protocol: TCP
556
+ port: 4028
557
+ targetPort: 4028
558
+ - name: 'udp-4028'
559
+ protocol: UDP
560
+ port: 4028
561
+ targetPort: 4028
490
562
  type: LoadBalancer
@@ -3,11 +3,10 @@
3
3
  // Supports deployment to Hyperledger Besu (IBFT2/QBFT) private networks
4
4
  // running on kubeadm-managed Kubernetes clusters (manifests/besu/).
5
5
  //
6
- // Compatible with: Hardhat 2.28.x (hh2 LTS) + Ethers v6 + hardhat-toolbox 6.x
6
+ // Compatible with: Hardhat 3.x + Ethers v6 + hardhat-toolbox-mocha-ethers
7
7
 
8
- import '@nomicfoundation/hardhat-toolbox';
9
- import '@nomicfoundation/hardhat-verify';
10
- import '@nomicfoundation/hardhat-ignition-ethers';
8
+ import { defineConfig } from 'hardhat/config';
9
+ import hardhatToolboxMochaEthers from '@nomicfoundation/hardhat-toolbox-mocha-ethers';
11
10
  import dotenv from 'dotenv';
12
11
  import fs from 'fs-extra';
13
12
  import path from 'path';
@@ -45,7 +44,9 @@ const coinbaseKey = readPrivateKey('../engine-private/eth-networks/besu/coinbase
45
44
  // ──────────────────────────────────────────────────────────────────────────────
46
45
 
47
46
  /** @type import('hardhat/config').HardhatUserConfig */
48
- const config = {
47
+ const config = defineConfig({
48
+ plugins: [hardhatToolboxMochaEthers],
49
+
49
50
  // ── Solidity ────────────────────────────────────────────────────────────────
50
51
  solidity: {
51
52
  version: '0.8.27',
@@ -69,11 +70,14 @@ const config = {
69
70
 
70
71
  networks: {
71
72
  // Local Hardhat in-process network (for testing)
72
- hardhat: {},
73
+ hardhat: {
74
+ type: 'edr-simulated',
75
+ },
73
76
 
74
77
  // ── Besu IBFT2 – direct RPC (e.g. port-forward or in-cluster access) ───
75
78
  // Connects to the first validator JSON-RPC endpoint directly.
76
79
  'besu-ibft2': {
80
+ type: 'http',
77
81
  url: process.env.BESU_IBFT2_RPC_URL || 'http://127.0.0.1:8545',
78
82
  accounts: [coinbaseKey],
79
83
  chainId: parseInt(process.env.BESU_IBFT2_CHAIN_ID || '777771', 10),
@@ -85,6 +89,7 @@ const config = {
85
89
 
86
90
  // ── Besu QBFT – direct RPC (e.g. port-forward or in-cluster access) ────
87
91
  'besu-qbft': {
92
+ type: 'http',
88
93
  url: process.env.BESU_QBFT_RPC_URL || 'http://127.0.0.1:8545',
89
94
  accounts: [coinbaseKey],
90
95
  chainId: parseInt(process.env.BESU_QBFT_CHAIN_ID || '777771', 10),
@@ -97,6 +102,7 @@ const config = {
97
102
  // service (besu-rpc-nodeport → 30545) defined in manifests/besu/.
98
103
  // This is the recommended network for the Cyberia Object Layer ecosystem.
99
104
  'besu-k8s': {
105
+ type: 'http',
100
106
  url: process.env.BESU_K8S_RPC_URL || 'http://127.0.0.1:30545',
101
107
  accounts: [coinbaseKey],
102
108
  chainId: parseInt(process.env.BESU_K8S_CHAIN_ID || '777771', 10),
@@ -121,16 +127,10 @@ const config = {
121
127
  noColors: !!process.env.GAS_REPORT_FILE,
122
128
  },
123
129
 
124
- // ── TypeChain ───────────────────────────────────────────────────────────────
125
- typechain: {
126
- outDir: 'typechain-types',
127
- target: 'ethers-v6',
128
- },
129
-
130
130
  // ── Mocha (test runner) ─────────────────────────────────────────────────────
131
131
  mocha: {
132
132
  timeout: 60000,
133
133
  },
134
- };
134
+ });
135
135
 
136
136
  export default config;
@@ -4,7 +4,7 @@
4
4
  // Usage:
5
5
  // npx hardhat ignition deploy ignition/modules/ObjectLayerToken.js --network besu-ibft2
6
6
 
7
- import { buildModule } from '@nomicfoundation/hardhat-ignition/modules';
7
+ import { buildModule } from '@nomicfoundation/ignition-core';
8
8
 
9
9
  const DEFAULT_BASE_URI = 'ipfs://';
10
10