cyberia 3.1.3 → 3.2.9

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 (377) 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 +14 -10
  10. package/CHANGELOG.md +783 -1
  11. package/CLI-HELP.md +95 -18
  12. package/Dockerfile +0 -2
  13. package/README.md +290 -220
  14. package/bin/build.js +24 -7
  15. package/bin/cyberia.js +2838 -252
  16. package/bin/deploy.js +747 -125
  17. package/bin/file.js +9 -0
  18. package/bin/index.js +2838 -252
  19. package/bin/vs.js +1 -1
  20. package/conf.js +99 -65
  21. package/deployment.yaml +18 -164
  22. package/hardhat/hardhat.config.js +13 -13
  23. package/hardhat/ignition/modules/ObjectLayerToken.js +1 -1
  24. package/hardhat/package-lock.json +2559 -5864
  25. package/hardhat/package.json +14 -23
  26. package/hardhat/scripts/deployObjectLayerToken.js +1 -1
  27. package/hardhat/test/ObjectLayerToken.js +4 -2
  28. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  29. package/hardhat/types/ethers-contracts/common.ts +92 -0
  30. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  31. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  32. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  33. package/hardhat/types/ethers-contracts/index.ts +6 -0
  34. package/jsconfig.json +1 -1
  35. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +6 -5
  36. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +6 -5
  37. package/manifests/deployment/dd-cyberia-development/deployment.yaml +18 -164
  38. package/manifests/deployment/dd-cyberia-development/proxy.yaml +7 -79
  39. package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
  40. package/manifests/deployment/dd-test-development/deployment.yaml +112 -28
  41. package/manifests/deployment/dd-test-development/proxy.yaml +46 -1
  42. package/manifests/deployment/playwright/deployment.yaml +1 -1
  43. package/nodemon.json +1 -1
  44. package/package.json +39 -24
  45. package/proxy.yaml +7 -79
  46. package/scripts/k3s-node-setup.sh +2 -2
  47. package/scripts/nat-iptables.sh +103 -18
  48. package/scripts/rhel-grpc-setup.sh +56 -0
  49. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +58 -14
  50. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +23 -14
  51. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  52. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +148 -20
  53. package/src/api/core/core.controller.js +10 -10
  54. package/src/api/core/core.service.js +10 -10
  55. package/src/api/crypto/crypto.controller.js +8 -8
  56. package/src/api/crypto/crypto.service.js +8 -8
  57. package/src/api/cyberia-action/cyberia-action.controller.js +74 -0
  58. package/src/api/cyberia-action/cyberia-action.model.js +87 -0
  59. package/src/api/cyberia-action/cyberia-action.router.js +27 -0
  60. package/src/api/cyberia-action/cyberia-action.service.js +42 -0
  61. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  62. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  63. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  64. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  65. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  66. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  67. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  68. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  69. package/src/api/cyberia-instance/cyberia-fallback-world.js +178 -0
  70. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  71. package/src/api/cyberia-instance/cyberia-instance.model.js +87 -0
  72. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  73. package/src/api/cyberia-instance/cyberia-instance.service.js +156 -0
  74. package/src/api/cyberia-instance/cyberia-portal-connector.js +260 -0
  75. package/src/api/cyberia-instance/cyberia-world-generator.js +505 -0
  76. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  77. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +574 -0
  78. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +231 -0
  79. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  80. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +46 -0
  81. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  82. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  83. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  84. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  85. package/src/api/cyberia-quest/cyberia-quest.controller.js +74 -0
  86. package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
  87. package/src/api/cyberia-quest/cyberia-quest.router.js +27 -0
  88. package/src/api/cyberia-quest/cyberia-quest.service.js +42 -0
  89. package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +74 -0
  90. package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
  91. package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +27 -0
  92. package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
  93. package/src/api/default/default.controller.js +10 -10
  94. package/src/api/default/default.service.js +10 -10
  95. package/src/api/document/document.controller.js +12 -12
  96. package/src/api/document/document.model.js +10 -16
  97. package/src/api/file/file.controller.js +8 -8
  98. package/src/api/file/file.model.js +10 -10
  99. package/src/api/file/file.ref.json +18 -0
  100. package/src/api/file/file.service.js +36 -36
  101. package/src/api/instance/instance.controller.js +10 -10
  102. package/src/api/instance/instance.model.js +4 -10
  103. package/src/api/instance/instance.service.js +10 -10
  104. package/src/api/ipfs/ipfs.controller.js +15 -36
  105. package/src/api/ipfs/ipfs.model.js +47 -47
  106. package/src/api/ipfs/ipfs.router.js +8 -13
  107. package/src/api/ipfs/ipfs.service.js +67 -129
  108. package/src/api/object-layer/object-layer.controller.js +12 -12
  109. package/src/api/object-layer/object-layer.model.js +4 -17
  110. package/src/api/object-layer/object-layer.router.js +30 -0
  111. package/src/api/object-layer/object-layer.service.js +126 -43
  112. package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +10 -10
  113. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +6 -16
  114. package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +18 -14
  115. package/src/api/test/test.controller.js +8 -8
  116. package/src/api/test/test.service.js +8 -8
  117. package/src/api/user/guest.service.js +99 -0
  118. package/src/api/user/user.controller.js +6 -6
  119. package/src/api/user/user.model.js +8 -13
  120. package/src/api/user/user.service.js +11 -27
  121. package/src/cli/cluster.js +68 -21
  122. package/src/cli/db.js +753 -825
  123. package/src/cli/deploy.js +215 -125
  124. package/src/cli/env.js +29 -0
  125. package/src/cli/fs.js +82 -8
  126. package/src/cli/image.js +43 -1
  127. package/src/cli/index.js +74 -3
  128. package/src/cli/kubectl.js +211 -0
  129. package/src/cli/release.js +340 -0
  130. package/src/cli/repository.js +475 -74
  131. package/src/cli/run.js +582 -43
  132. package/src/cli/secrets.js +73 -0
  133. package/src/cli/ssh.js +1 -1
  134. package/src/cli/static.js +43 -115
  135. package/src/cli/test.js +3 -3
  136. package/src/client/Cryptokoyn.index.js +18 -22
  137. package/src/client/CyberiaPortal.index.js +19 -24
  138. package/src/client/Default.index.js +21 -34
  139. package/src/client/Itemledger.index.js +20 -27
  140. package/src/client/Underpost.index.js +19 -24
  141. package/src/client/components/core/404.js +4 -4
  142. package/src/client/components/core/500.js +4 -4
  143. package/src/client/components/core/Account.js +73 -60
  144. package/src/client/components/core/AgGrid.js +23 -33
  145. package/src/client/components/core/Alert.js +12 -13
  146. package/src/client/components/core/AppStore.js +69 -0
  147. package/src/client/components/core/Auth.js +35 -37
  148. package/src/client/components/core/Badge.js +7 -13
  149. package/src/client/components/core/BtnIcon.js +15 -17
  150. package/src/client/components/core/CalendarCore.js +43 -64
  151. package/src/client/components/core/Chat.js +13 -15
  152. package/src/client/components/core/ClientEvents.js +87 -0
  153. package/src/client/components/core/ColorPaletteElement.js +309 -0
  154. package/src/client/components/core/Content.js +17 -14
  155. package/src/client/components/core/Css.js +15 -71
  156. package/src/client/components/core/CssCore.js +12 -16
  157. package/src/client/components/core/D3Chart.js +4 -4
  158. package/src/client/components/core/Docs.js +64 -91
  159. package/src/client/components/core/DropDown.js +194 -96
  160. package/src/client/components/core/EventBus.js +92 -0
  161. package/src/client/components/core/EventsUI.js +14 -17
  162. package/src/client/components/core/FileExplorer.js +96 -228
  163. package/src/client/components/core/FullScreen.js +47 -75
  164. package/src/client/components/core/Input.js +24 -69
  165. package/src/client/components/core/Keyboard.js +26 -19
  166. package/src/client/components/core/KeyboardAvoidance.js +145 -0
  167. package/src/client/components/core/LoadingAnimation.js +25 -31
  168. package/src/client/components/core/LogIn.js +43 -43
  169. package/src/client/components/core/LogOut.js +25 -16
  170. package/src/client/components/core/Modal.js +462 -179
  171. package/src/client/components/core/NotificationManager.js +14 -18
  172. package/src/client/components/core/Panel.js +54 -51
  173. package/src/client/components/core/PanelForm.js +44 -144
  174. package/src/client/components/core/Polyhedron.js +110 -214
  175. package/src/client/components/core/PublicProfile.js +39 -32
  176. package/src/client/components/core/Recover.js +48 -44
  177. package/src/client/components/core/Responsive.js +88 -32
  178. package/src/client/components/core/RichText.js +9 -18
  179. package/src/client/components/core/Router.js +24 -3
  180. package/src/client/components/core/SearchBox.js +37 -37
  181. package/src/client/components/core/SignUp.js +39 -30
  182. package/src/client/components/core/SocketIo.js +112 -30
  183. package/src/client/components/core/SocketIoHandler.js +75 -0
  184. package/src/client/components/core/Stream.js +143 -95
  185. package/src/client/components/core/ToggleSwitch.js +8 -20
  186. package/src/client/components/core/ToolTip.js +5 -17
  187. package/src/client/components/core/Translate.js +56 -59
  188. package/src/client/components/core/Validator.js +26 -16
  189. package/src/client/components/core/Wallet.js +15 -26
  190. package/src/client/components/core/Webhook.js +40 -7
  191. package/src/client/components/core/Worker.js +163 -27
  192. package/src/client/components/core/windowGetDimensions.js +7 -7
  193. package/src/client/components/cryptokoyn/{MenuCryptokoyn.js → AppShellCryptokoyn.js} +59 -59
  194. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  195. package/src/client/components/cryptokoyn/CssCryptokoyn.js +15 -15
  196. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +9 -7
  197. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +8 -6
  198. package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
  199. package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +4 -4
  200. package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +6 -4
  201. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  202. package/src/client/components/cyberia/InstanceEngineCyberia.js +781 -0
  203. package/src/client/components/cyberia/MapEngineCyberia.js +1836 -2
  204. package/src/client/components/cyberia/ObjectLayerEngine.js +19 -0
  205. package/src/client/components/cyberia/ObjectLayerEngineModal.js +1220 -99
  206. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +252 -316
  207. package/src/client/components/cyberia-portal/{MenuCyberiaPortal.js → AppShellCyberiaPortal.js} +136 -103
  208. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  209. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +462 -32
  210. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +15 -15
  211. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +9 -7
  212. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +8 -6
  213. package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +4 -4
  214. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +60 -0
  215. package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +4 -4
  216. package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +6 -4
  217. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  218. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +8 -4
  219. package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +91 -91
  220. package/src/client/components/default/AppStoreDefault.js +5 -0
  221. package/src/client/components/default/CssDefault.js +12 -12
  222. package/src/client/components/default/LogInDefault.js +9 -7
  223. package/src/client/components/default/LogOutDefault.js +8 -6
  224. package/src/client/components/default/RouterDefault.js +47 -0
  225. package/src/client/components/default/SettingsDefault.js +4 -4
  226. package/src/client/components/default/SignUpDefault.js +6 -4
  227. package/src/client/components/default/SocketIoDefault.js +3 -51
  228. package/src/client/components/default/TranslateDefault.js +3 -3
  229. package/src/client/components/itemledger/{MenuItemledger.js → AppShellItemledger.js} +59 -59
  230. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  231. package/src/client/components/itemledger/CssItemledger.js +15 -15
  232. package/src/client/components/itemledger/LogInItemledger.js +9 -7
  233. package/src/client/components/itemledger/LogOutItemledger.js +8 -6
  234. package/src/client/components/itemledger/RouterItemledger.js +38 -0
  235. package/src/client/components/itemledger/SettingsItemledger.js +4 -4
  236. package/src/client/components/itemledger/SignUpItemledger.js +6 -4
  237. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  238. package/src/client/components/itemledger/TranslateItemledger.js +3 -3
  239. package/src/client/components/underpost/{MenuUnderpost.js → AppShellUnderpost.js} +92 -92
  240. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  241. package/src/client/components/underpost/CssUnderpost.js +14 -14
  242. package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +4 -4
  243. package/src/client/components/underpost/DocumentSearchProvider.js +1 -1
  244. package/src/client/components/underpost/LabGalleryUnderpost.js +12 -15
  245. package/src/client/components/underpost/LogInUnderpost.js +9 -7
  246. package/src/client/components/underpost/LogOutUnderpost.js +8 -6
  247. package/src/client/components/underpost/RouterUnderpost.js +45 -0
  248. package/src/client/components/underpost/SettingsUnderpost.js +4 -4
  249. package/src/client/components/underpost/SignUpUnderpost.js +6 -4
  250. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  251. package/src/client/components/underpost/TranslateUnderpost.js +4 -4
  252. package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +235 -0
  253. package/src/client/public/cyberia-docs/ARCHITECTURE.md +443 -0
  254. package/src/client/public/cyberia-docs/CYBERIA-CLI.md +417 -0
  255. package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +313 -0
  256. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +260 -0
  257. package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +241 -0
  258. package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
  259. package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +279 -0
  260. package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +206 -0
  261. package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
  262. package/src/client/public/cyberia-docs/WHITE-PAPER.md +732 -0
  263. package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +14 -20
  264. package/src/client/services/core/core.service.js +35 -55
  265. package/src/client/services/crypto/crypto.service.js +8 -13
  266. package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
  267. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +99 -0
  268. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  269. package/src/client/services/cyberia-entity/cyberia-entity.service.js +99 -0
  270. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  271. package/src/client/services/cyberia-instance/cyberia-instance.service.js +116 -0
  272. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +99 -0
  273. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  274. package/src/client/services/cyberia-map/cyberia-map.service.js +120 -0
  275. package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
  276. package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
  277. package/src/client/services/default/default.management.js +159 -267
  278. package/src/client/services/default/default.service.js +10 -16
  279. package/src/client/services/document/document.service.js +14 -19
  280. package/src/client/services/file/file.service.js +8 -13
  281. package/src/client/services/instance/instance.management.js +6 -6
  282. package/src/client/services/instance/instance.service.js +10 -15
  283. package/src/client/services/ipfs/ipfs.service.js +14 -40
  284. package/src/client/services/object-layer/object-layer.management.js +14 -14
  285. package/src/client/services/object-layer/object-layer.service.js +39 -24
  286. package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +10 -16
  287. package/src/client/services/test/test.service.js +8 -13
  288. package/src/client/services/user/guest.service.js +86 -0
  289. package/src/client/services/user/user.management.js +6 -6
  290. package/src/client/services/user/user.service.js +14 -20
  291. package/src/client/ssr/body/404.js +3 -3
  292. package/src/client/ssr/body/500.js +3 -3
  293. package/src/client/ssr/body/CacheControl.js +5 -2
  294. package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
  295. package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +13 -6
  296. package/src/client/ssr/head/PwaItemledger.js +197 -60
  297. package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
  298. package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
  299. package/src/client/ssr/offline/Maintenance.js +12 -11
  300. package/src/client/ssr/offline/NoNetworkConnection.js +3 -3
  301. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  302. package/src/client/ssr/pages/Test.js +2 -2
  303. package/src/client/sw/core.sw.js +212 -0
  304. package/src/grpc/cyberia/grpc-server.js +642 -0
  305. package/src/index.js +24 -1
  306. package/src/runtime/cyberia-client/Dockerfile +80 -0
  307. package/src/runtime/cyberia-server/Dockerfile +37 -0
  308. package/src/runtime/express/Dockerfile +5 -1
  309. package/src/runtime/express/Express.js +18 -1
  310. package/src/runtime/lampp/Dockerfile +17 -5
  311. package/src/runtime/lampp/Lampp.js +27 -4
  312. package/src/runtime/wp/Dockerfile +62 -0
  313. package/src/runtime/wp/Wp.js +639 -0
  314. package/src/server/atlas-sprite-sheet-generator.js +4 -2
  315. package/src/server/auth.js +24 -1
  316. package/src/server/backup.js +37 -9
  317. package/src/server/client-build-docs.js +52 -46
  318. package/src/server/client-build.js +356 -82
  319. package/src/server/client-formatted.js +140 -57
  320. package/src/server/conf.js +29 -13
  321. package/src/server/cron.js +25 -23
  322. package/src/server/data-query.js +32 -20
  323. package/src/server/dns.js +24 -1
  324. package/src/server/ipfs-client.js +253 -89
  325. package/src/server/object-layer.js +150 -114
  326. package/src/server/peer.js +8 -0
  327. package/src/server/process.js +13 -27
  328. package/src/server/runtime.js +25 -1
  329. package/src/server/semantic-layer-generator-floor.js +319 -0
  330. package/src/server/semantic-layer-generator-resource.js +259 -0
  331. package/src/server/semantic-layer-generator-skin.js +1164 -0
  332. package/src/server/semantic-layer-generator.js +211 -542
  333. package/src/server/shape-generator.js +108 -0
  334. package/src/server/start.js +19 -5
  335. package/src/server/valkey.js +141 -235
  336. package/src/ws/IoInterface.js +1 -10
  337. package/src/ws/IoServer.js +14 -33
  338. package/src/ws/core/channels/core.ws.chat.js +65 -20
  339. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  340. package/src/ws/core/channels/core.ws.stream.js +90 -31
  341. package/src/ws/core/core.ws.connection.js +12 -33
  342. package/src/ws/core/core.ws.emit.js +10 -26
  343. package/src/ws/core/core.ws.server.js +25 -58
  344. package/src/ws/default/channels/default.ws.main.js +53 -12
  345. package/src/ws/default/default.ws.connection.js +26 -13
  346. package/src/ws/default/default.ws.server.js +30 -12
  347. package/tsconfig.docs.json +15 -0
  348. package/typedoc.dd-cyberia.json +29 -0
  349. package/typedoc.json +29 -0
  350. package/WHITE-PAPER.md +0 -1540
  351. package/hardhat/README.md +0 -531
  352. package/hardhat/WHITE-PAPER.md +0 -1540
  353. package/jsdoc.dd-cyberia.json +0 -59
  354. package/jsdoc.json +0 -59
  355. package/src/api/object-layer/README.md +0 -347
  356. package/src/client/components/core/ColorPalette.js +0 -5267
  357. package/src/client/components/core/JoyStick.js +0 -80
  358. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  359. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  360. package/src/client/components/cryptokoyn/RoutesCryptokoyn.js +0 -39
  361. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  362. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +0 -58
  363. package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +0 -136
  364. package/src/client/components/default/ElementsDefault.js +0 -38
  365. package/src/client/components/default/RoutesDefault.js +0 -49
  366. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  367. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  368. package/src/client/components/itemledger/RoutesItemledger.js +0 -40
  369. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  370. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  371. package/src/client/components/underpost/RoutesUnderpost.js +0 -47
  372. package/src/client/sw/default.sw.js +0 -127
  373. package/src/client/sw/template.sw.js +0 -84
  374. package/src/ws/core/management/core.ws.chat.js +0 -8
  375. package/src/ws/core/management/core.ws.mailer.js +0 -16
  376. package/src/ws/core/management/core.ws.stream.js +0 -8
  377. package/src/ws/default/management/default.ws.main.js +0 -8
@@ -6,6 +6,7 @@ metadata:
6
6
  namespace: default
7
7
  labels:
8
8
  app: dd-test-development-blue
9
+ deploy-id: dd-test-development
9
10
  spec:
10
11
  replicas: 1
11
12
  selector:
@@ -15,28 +16,24 @@ spec:
15
16
  metadata:
16
17
  labels:
17
18
  app: dd-test-development-blue
19
+ deploy-id: dd-test-development
18
20
  spec:
19
21
  containers:
20
22
  - name: dd-test-development-blue
21
- image: localhost/rockylinux9-underpost:v3.1.3
23
+ image: underpost/underpost-engine:v3.2.9
24
+ imagePullPolicy: IfNotPresent
25
+ envFrom:
26
+ - secretRef:
27
+ name: underpost-config
22
28
 
23
29
  command:
24
30
  - /bin/sh
25
31
  - -c
26
32
  - >
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-test development
28
-
29
-
30
- volumeMounts:
31
- - name: config-volume-dd-test-development-blue
32
- mountPath: /etc/config
33
-
34
- volumes:
35
- - name: config-volume-dd-test-development-blue
36
- configMap:
37
- name: underpost-config
38
-
39
-
33
+ underpost secret underpost --create-from-env &&
34
+ underpost start --build --run dd-test development
35
+
36
+
40
37
  ---
41
38
  apiVersion: v1
42
39
  kind: Service
@@ -47,6 +44,51 @@ spec:
47
44
  selector:
48
45
  app: dd-test-development-blue
49
46
  ports:
47
+ - name: 'tcp-4033'
48
+ protocol: TCP
49
+ port: 4033
50
+ targetPort: 4033
51
+ - name: 'udp-4033'
52
+ protocol: UDP
53
+ port: 4033
54
+ targetPort: 4033
55
+
56
+ - name: 'tcp-4034'
57
+ protocol: TCP
58
+ port: 4034
59
+ targetPort: 4034
60
+ - name: 'udp-4034'
61
+ protocol: UDP
62
+ port: 4034
63
+ targetPort: 4034
64
+
65
+ - name: 'tcp-4035'
66
+ protocol: TCP
67
+ port: 4035
68
+ targetPort: 4035
69
+ - name: 'udp-4035'
70
+ protocol: UDP
71
+ port: 4035
72
+ targetPort: 4035
73
+
74
+ - name: 'tcp-4036'
75
+ protocol: TCP
76
+ port: 4036
77
+ targetPort: 4036
78
+ - name: 'udp-4036'
79
+ protocol: UDP
80
+ port: 4036
81
+ targetPort: 4036
82
+
83
+ - name: 'tcp-4037'
84
+ protocol: TCP
85
+ port: 4037
86
+ targetPort: 4037
87
+ - name: 'udp-4037'
88
+ protocol: UDP
89
+ port: 4037
90
+ targetPort: 4037
91
+
50
92
  - name: 'tcp-4038'
51
93
  protocol: TCP
52
94
  port: 4038
@@ -91,6 +133,7 @@ metadata:
91
133
  namespace: default
92
134
  labels:
93
135
  app: dd-test-development-green
136
+ deploy-id: dd-test-development
94
137
  spec:
95
138
  replicas: 1
96
139
  selector:
@@ -100,28 +143,24 @@ spec:
100
143
  metadata:
101
144
  labels:
102
145
  app: dd-test-development-green
146
+ deploy-id: dd-test-development
103
147
  spec:
104
148
  containers:
105
149
  - name: dd-test-development-green
106
- image: localhost/rockylinux9-underpost:v3.1.3
150
+ image: underpost/underpost-engine:v3.2.9
151
+ imagePullPolicy: IfNotPresent
152
+ envFrom:
153
+ - secretRef:
154
+ name: underpost-config
107
155
 
108
156
  command:
109
157
  - /bin/sh
110
158
  - -c
111
159
  - >
112
- 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-test development
113
-
114
-
115
- volumeMounts:
116
- - name: config-volume-dd-test-development-green
117
- mountPath: /etc/config
118
-
119
- volumes:
120
- - name: config-volume-dd-test-development-green
121
- configMap:
122
- name: underpost-config
123
-
124
-
160
+ underpost secret underpost --create-from-env &&
161
+ underpost start --build --run dd-test development
162
+
163
+
125
164
  ---
126
165
  apiVersion: v1
127
166
  kind: Service
@@ -132,6 +171,51 @@ spec:
132
171
  selector:
133
172
  app: dd-test-development-green
134
173
  ports:
174
+ - name: 'tcp-4033'
175
+ protocol: TCP
176
+ port: 4033
177
+ targetPort: 4033
178
+ - name: 'udp-4033'
179
+ protocol: UDP
180
+ port: 4033
181
+ targetPort: 4033
182
+
183
+ - name: 'tcp-4034'
184
+ protocol: TCP
185
+ port: 4034
186
+ targetPort: 4034
187
+ - name: 'udp-4034'
188
+ protocol: UDP
189
+ port: 4034
190
+ targetPort: 4034
191
+
192
+ - name: 'tcp-4035'
193
+ protocol: TCP
194
+ port: 4035
195
+ targetPort: 4035
196
+ - name: 'udp-4035'
197
+ protocol: UDP
198
+ port: 4035
199
+ targetPort: 4035
200
+
201
+ - name: 'tcp-4036'
202
+ protocol: TCP
203
+ port: 4036
204
+ targetPort: 4036
205
+ - name: 'udp-4036'
206
+ protocol: UDP
207
+ port: 4036
208
+ targetPort: 4036
209
+
210
+ - name: 'tcp-4037'
211
+ protocol: TCP
212
+ port: 4037
213
+ targetPort: 4037
214
+ - name: 'udp-4037'
215
+ protocol: UDP
216
+ port: 4037
217
+ targetPort: 4037
218
+
135
219
  - name: 'tcp-4038'
136
220
  protocol: TCP
137
221
  port: 4038
@@ -9,18 +9,63 @@ spec:
9
9
  virtualhost:
10
10
  fqdn: test.nexodev.org
11
11
  routes:
12
+ - conditions:
13
+ - prefix: /wp
14
+
15
+ enableWebsockets: true
16
+ services:
17
+ - name: dd-test-development-blue-service
18
+ port: 4033
19
+ weight: 100
20
+
12
21
  - conditions:
13
22
  - prefix: /
14
23
 
15
24
  enableWebsockets: true
16
25
  services:
17
26
  - name: dd-test-development-blue-service
18
- port: 4038
27
+ port: 4034
19
28
  weight: 100
20
29
 
21
30
  - conditions:
22
31
  - prefix: /peer
23
32
 
33
+ enableWebsockets: true
34
+ services:
35
+ - name: dd-test-development-blue-service
36
+ port: 4035
37
+ weight: 100
38
+
39
+ - conditions:
40
+ - prefix: /r1
41
+
42
+ enableWebsockets: true
43
+ services:
44
+ - name: dd-test-development-blue-service
45
+ port: 4036
46
+ weight: 100
47
+
48
+ - conditions:
49
+ - prefix: /r1/peer
50
+
51
+ enableWebsockets: true
52
+ services:
53
+ - name: dd-test-development-blue-service
54
+ port: 4037
55
+ weight: 100
56
+
57
+ - conditions:
58
+ - prefix: /r2
59
+
60
+ enableWebsockets: true
61
+ services:
62
+ - name: dd-test-development-blue-service
63
+ port: 4038
64
+ weight: 100
65
+
66
+ - conditions:
67
+ - prefix: /r2/peer
68
+
24
69
  enableWebsockets: true
25
70
  services:
26
71
  - name: dd-test-development-blue-service
@@ -14,7 +14,7 @@ spec:
14
14
  spec:
15
15
  containers:
16
16
  - name: playwright
17
- image: mcr.microsoft.com/playwright:v1.58.1-jammy
17
+ image: mcr.microsoft.com/playwright:v1.59.0-jammy
18
18
  command:
19
19
  - /bin/bash
20
20
  - -c
package/nodemon.json CHANGED
@@ -2,5 +2,5 @@
2
2
  "watch": ["./src"],
3
3
  "ext": "js",
4
4
  "delay": 0,
5
- "ignore": []
5
+ "ignore": ["src/client/public"]
6
6
  }
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "type": "module",
3
3
  "main": "src/index.js",
4
4
  "name": "cyberia",
5
- "version": "3.1.3",
5
+ "version": "3.2.9",
6
6
  "description": "Cyberia Engine - Object Layer and Assets Management Microservice",
7
7
  "scripts": {
8
- "start": "node --max-old-space-size=8192 src/server dd-core",
8
+ "start": "node --max-old-space-size=8192 src/server",
9
9
  "build": "node bin client",
10
10
  "test": "NODE_ENV=test c8 mocha",
11
11
  "dev": "NODE_ENV=development nodemon src/server",
@@ -14,9 +14,9 @@
14
14
  "dev:api": "NODE_ENV=development nodemon --watch src --ignore src/client src/api",
15
15
  "dev:client": "NODE_ENV=development node src/client.dev",
16
16
  "dev:proxy": "NODE_ENV=development node src/proxy proxy",
17
- "docs": "jsdoc -c jsdoc.json",
18
- "install:global": "npm install -g jsdoc && npm install -g prettier",
19
- "install:test": "npm install -g mocha && npm install -g c8 && npm install -g coveralls",
17
+ "docs": "typedoc --options typedoc.json",
18
+ "install:global": "npm install -g prettier",
19
+ "install:test": "npm install -g mocha && npm install -g c8 && npm install -g coveralls-next",
20
20
  "install": "npm run install:global && npm run install:test",
21
21
  "prettier": "prettier --write .",
22
22
  "fix": "npm audit fix --force && npm audit",
@@ -51,44 +51,47 @@
51
51
  "dependencies": {
52
52
  "@fortawesome/fontawesome-free": "^7.2.0",
53
53
  "@fullcalendar/rrule": "^6.1.20",
54
+ "@grpc/grpc-js": "^1.12.5",
55
+ "@grpc/proto-loader": "^0.8.0",
54
56
  "@neodrag/vanilla": "^2.3.1",
55
- "adm-zip": "^0.5.10",
56
- "ag-grid-community": "^35.1.0",
57
- "axios": "^1.13.6",
57
+ "adm-zip": "^0.5.17",
58
+ "ag-grid-community": "^35.2.1",
59
+ "axios": "^1.16.0",
58
60
  "chai": "^6.2.2",
59
- "clean-jsdoc-theme": "^4.3.0",
60
61
  "clipboardy": "^5.3.1",
61
- "cloudinary": "^2.5.1",
62
+ "cloudinary": "^2.10.0",
62
63
  "colors": "^1.4.0",
63
64
  "commander": "^14.0.3",
64
65
  "compression": "^1.7.4",
65
66
  "cookie-parser": "^1.4.7",
66
67
  "cors": "^2.8.6",
67
68
  "d3": "^7.9.0",
68
- "dotenv": "^17.3.1",
69
- "easymde": "^2.18.0",
69
+ "dexie": "^4.2.1",
70
+ "dotenv": "^17.4.2",
71
+ "easymde": "^2.21.0",
72
+ "esbuild": "^0.28.0",
70
73
  "escape-string-regexp": "^5.0.0",
71
74
  "express": "^5.2.1",
72
75
  "express-fileupload": "^1.4.3",
73
- "express-rate-limit": "^8.3.1",
76
+ "express-rate-limit": "^8.4.1",
74
77
  "express-slow-down": "^3.1.0",
75
78
  "fast-json-stable-stringify": "^2.1.0",
76
79
  "favicons": "^7.2.0",
77
- "fs-extra": "^11.3.4",
80
+ "fs-extra": "^11.3.5",
78
81
  "fullcalendar": "^6.1.15",
79
82
  "helmet": "^8.1.0",
80
83
  "html-minifier-terser": "^7.2.0",
81
- "http-proxy-middleware": "^3.0.5",
82
- "ignore-walk": "^8.0.0",
84
+ "http-proxy-middleware": "^4.0.0",
85
+ "ignore-walk": "^9.0.0",
83
86
  "iovalkey": "^0.3.3",
84
87
  "json-colorizer": "^3.0.1",
85
88
  "jsonwebtoken": "^9.0.3",
86
89
  "mariadb": "^3.2.2",
87
- "marked": "^17.0.4",
90
+ "marked": "^18.0.3",
88
91
  "mocha": "^11.3.0",
89
- "mongoose": "^9.3.0",
92
+ "mongoose": "^9.6.2",
90
93
  "morgan": "^1.10.0",
91
- "nodemailer": "^8.0.2",
94
+ "nodemailer": "^8.0.7",
92
95
  "nodemon": "^3.0.1",
93
96
  "peer": "^1.0.2",
94
97
  "peerjs": "^1.5.5",
@@ -102,14 +105,22 @@
102
105
  "split-file": "^2.3.0",
103
106
  "swagger-autogen": "^2.23.7",
104
107
  "swagger-ui-express": "^5.0.0",
105
- "uglify-js": "^3.17.4",
106
- "validator": "^13.11.0",
107
- "vanilla-jsoneditor": "^3.11.0",
108
+ "typedoc": "^0.28.19",
109
+ "typescript": "^6.0.3",
110
+ "validator": "^13.15.35",
111
+ "vanilla-jsoneditor": "^3.12.0",
108
112
  "winston": "^3.19.0",
113
+ "workbox-background-sync": "^7.4.1",
114
+ "workbox-cacheable-response": "^7.4.1",
115
+ "workbox-core": "^7.4.1",
116
+ "workbox-expiration": "^7.4.1",
117
+ "workbox-precaching": "^7.4.1",
118
+ "workbox-routing": "^7.4.1",
119
+ "workbox-strategies": "^7.4.1",
109
120
  "maxrects-packer": "^2.7.3",
110
121
  "pngjs": "^7.0.0",
111
122
  "jimp": "^1.6.0",
112
- "sharp": "^0.32.5",
123
+ "sharp": "^0.34.5",
113
124
  "ethers": "~6.16.0"
114
125
  },
115
126
  "publishConfig": {
@@ -118,11 +129,15 @@
118
129
  "registry": "https://registry.npmjs.org/"
119
130
  },
120
131
  "overrides": {
132
+ "simple-xml-to-json": "1.2.4",
121
133
  "minimatch": "^10.2.2",
122
134
  "glob": "^11.0.0",
123
135
  "diff": ">=8.0.3",
124
136
  "js-yaml": ">=3.14.2",
125
137
  "debug": ">=4.3.6",
126
- "serialize-javascript": ">=7.0.3"
138
+ "serialize-javascript": ">=7.0.5",
139
+ "router": {
140
+ "path-to-regexp": ">=8.4.0"
141
+ }
127
142
  }
128
143
  }
package/proxy.yaml CHANGED
@@ -74,78 +74,6 @@ spec:
74
74
  port: 4009
75
75
  weight: 100
76
76
 
77
- - conditions:
78
- - prefix: /r1
79
-
80
- enableWebsockets: true
81
- services:
82
- - name: dd-cyberia-development-blue-service
83
- port: 4010
84
- weight: 100
85
-
86
- - conditions:
87
- - prefix: /r1/peer
88
-
89
- enableWebsockets: true
90
- services:
91
- - name: dd-cyberia-development-blue-service
92
- port: 4011
93
- weight: 100
94
-
95
- - conditions:
96
- - prefix: /r2
97
-
98
- enableWebsockets: true
99
- services:
100
- - name: dd-cyberia-development-blue-service
101
- port: 4012
102
- weight: 100
103
-
104
- - conditions:
105
- - prefix: /r2/peer
106
-
107
- enableWebsockets: true
108
- services:
109
- - name: dd-cyberia-development-blue-service
110
- port: 4013
111
- weight: 100
112
-
113
- - conditions:
114
- - prefix: /r3
115
-
116
- enableWebsockets: true
117
- services:
118
- - name: dd-cyberia-development-blue-service
119
- port: 4014
120
- weight: 100
121
-
122
- - conditions:
123
- - prefix: /r3/peer
124
-
125
- enableWebsockets: true
126
- services:
127
- - name: dd-cyberia-development-blue-service
128
- port: 4015
129
- weight: 100
130
-
131
- - conditions:
132
- - prefix: /r4
133
-
134
- enableWebsockets: true
135
- services:
136
- - name: dd-cyberia-development-blue-service
137
- port: 4016
138
- weight: 100
139
-
140
- - conditions:
141
- - prefix: /r4/peer
142
-
143
- enableWebsockets: true
144
- services:
145
- - name: dd-cyberia-development-blue-service
146
- port: 4017
147
- weight: 100
148
-
149
77
  ---
150
78
  apiVersion: projectcontour.io/v1
151
79
  kind: HTTPProxy
@@ -162,7 +90,7 @@ spec:
162
90
  enableWebsockets: true
163
91
  services:
164
92
  - name: dd-cyberia-development-blue-service
165
- port: 4018
93
+ port: 4010
166
94
  weight: 100
167
95
 
168
96
  ---
@@ -181,7 +109,7 @@ spec:
181
109
  enableWebsockets: true
182
110
  services:
183
111
  - name: dd-cyberia-development-blue-service
184
- port: 4019
112
+ port: 4011
185
113
  weight: 100
186
114
 
187
115
  - conditions:
@@ -190,7 +118,7 @@ spec:
190
118
  enableWebsockets: true
191
119
  services:
192
120
  - name: dd-cyberia-development-blue-service
193
- port: 4020
121
+ port: 4012
194
122
  weight: 100
195
123
 
196
124
  ---
@@ -209,7 +137,7 @@ spec:
209
137
  enableWebsockets: true
210
138
  services:
211
139
  - name: dd-cyberia-development-blue-service
212
- port: 4021
140
+ port: 4013
213
141
  weight: 100
214
142
 
215
143
  ---
@@ -228,7 +156,7 @@ spec:
228
156
  enableWebsockets: true
229
157
  services:
230
158
  - name: dd-cyberia-development-blue-service
231
- port: 4022
159
+ port: 4014
232
160
  weight: 100
233
161
 
234
162
  - conditions:
@@ -237,7 +165,7 @@ spec:
237
165
  enableWebsockets: true
238
166
  services:
239
167
  - name: dd-cyberia-development-blue-service
240
- port: 4023
168
+ port: 4015
241
169
  weight: 100
242
170
 
243
171
  ---
@@ -256,6 +184,6 @@ spec:
256
184
  enableWebsockets: true
257
185
  services:
258
186
  - name: dd-cyberia-development-blue-service
259
- port: 4024
187
+ port: 4016
260
188
  weight: 100
261
189
 
@@ -32,8 +32,8 @@ curl -o- https://cdn.jsdelivr.net/gh/nvm-sh/nvm@v0.40.1/install.sh | bash
32
32
  export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
33
33
  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
34
34
 
35
- nvm install 24.10.0
36
- nvm use 24.10.0
35
+ nvm install 24.15.0
36
+ nvm use 24.15.0
37
37
 
38
38
  echo "
39
39
  ██╗░░░██╗███╗░░██╗██████╗░███████╗██████╗░██████╗░░█████╗░░██████╗████████╗
@@ -1,26 +1,111 @@
1
1
  #!/bin/bash
2
2
  set -euo pipefail
3
3
 
4
- # Disable firewalld
5
- sudo systemctl disable --now iptables
6
- sudo systemctl disable --now ufw
7
- sudo systemctl disable --now firewalld
4
+ echo "[INFO] Enabling firewalld..."
5
+ sudo systemctl enable --now firewalld
8
6
 
7
+ echo "[INFO] Configuring kernel networking..."
9
8
 
10
- # Remove any existing entries, then append exactly one
11
- sudo sed -i '/^net.ipv4.ip_forward/d' /etc/sysctl.conf
12
- sudo sed -i '/^net.ipv6.conf.all.forwarding/d' /etc/sysctl.conf
13
- echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
14
- echo "net.ipv6.conf.all.forwarding = 1" | sudo tee -a /etc/sysctl.conf
15
- # ---
9
+ sudo tee /etc/sysctl.d/99-kubernetes.conf >/dev/null <<'EOF'
10
+ # Kubernetes networking
11
+ net.ipv4.ip_forward = 1
12
+ net.ipv6.conf.all.forwarding = 1
16
13
 
17
- sudo sysctl -p
14
+ # Required for Kubernetes iptables
15
+ net.bridge.bridge-nf-call-iptables = 1
16
+ net.bridge.bridge-nf-call-ip6tables = 1
18
17
 
19
- # Accept all traffic
20
- sudo iptables -P INPUT ACCEPT
21
- sudo iptables -P FORWARD ACCEPT
22
- sudo iptables -P OUTPUT ACCEPT
18
+ # Better conntrack handling
19
+ net.netfilter.nf_conntrack_max = 131072
20
+ EOF
23
21
 
24
- # List iptables rules and forwarding flag
25
- sudo iptables -L -n
26
- sysctl net.ipv4.ip_forward net.ipv6.conf.all.forwarding
22
+ # Load br_netfilter immediately
23
+ sudo modprobe br_netfilter
24
+
25
+ # Apply sysctl
26
+ sudo sysctl --system
27
+
28
+ echo "[INFO] Opening common WAN/public services..."
29
+
30
+ # Public services
31
+ sudo firewall-cmd --permanent --zone=public --add-service=ssh
32
+ sudo firewall-cmd --permanent --zone=public --add-service=http
33
+ sudo firewall-cmd --permanent --zone=public --add-service=https
34
+
35
+ echo "[INFO] Opening Kubernetes control plane ports..."
36
+
37
+ # Kubernetes API Server
38
+ sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp
39
+
40
+ # etcd
41
+ sudo firewall-cmd --permanent --zone=public --add-port=2379-2380/tcp
42
+
43
+ # kubelet API
44
+ sudo firewall-cmd --permanent --zone=public --add-port=10250/tcp
45
+
46
+ # kube-scheduler
47
+ sudo firewall-cmd --permanent --zone=public --add-port=10259/tcp
48
+
49
+ # kube-controller-manager
50
+ sudo firewall-cmd --permanent --zone=public --add-port=10257/tcp
51
+
52
+ echo "[INFO] Opening Kubernetes networking ports..."
53
+
54
+ # CoreDNS
55
+ sudo firewall-cmd --permanent --zone=public --add-port=53/tcp
56
+ sudo firewall-cmd --permanent --zone=public --add-port=53/udp
57
+
58
+ # NodePort Services
59
+ sudo firewall-cmd --permanent --zone=public --add-port=30000-32767/tcp
60
+ sudo firewall-cmd --permanent --zone=public --add-port=30000-32767/udp
61
+
62
+ # Calico VXLAN
63
+ sudo firewall-cmd --permanent --zone=public --add-port=4789/udp
64
+
65
+ # Calico BGP
66
+ sudo firewall-cmd --permanent --zone=public --add-port=179/tcp
67
+
68
+ # Calico Typha (required for multi-node Calico deployments)
69
+ sudo firewall-cmd --permanent --zone=public --add-port=5473/tcp
70
+
71
+ # Calico WireGuard (optional encrypted overlay)
72
+ sudo firewall-cmd --permanent --zone=public --add-port=51820/udp
73
+ sudo firewall-cmd --permanent --zone=public --add-port=51821/udp
74
+
75
+ # Flannel VXLAN (UDP, required if using Flannel CNI)
76
+ sudo firewall-cmd --permanent --zone=public --add-port=8472/udp
77
+
78
+ # kube-proxy healthz
79
+ sudo firewall-cmd --permanent --zone=public --add-port=10256/tcp
80
+
81
+ # metrics-server
82
+ sudo firewall-cmd --permanent --zone=public --add-port=4443/tcp
83
+
84
+ echo "[INFO] Configuring trusted zone for inter-node pod/service CIDRs..."
85
+ # Allow all traffic from the default pod CIDR and service CIDR so that
86
+ # cross-node pod-to-pod and service routing works without explicit per-port rules.
87
+ sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.0.0/16
88
+ sudo firewall-cmd --permanent --zone=trusted --add-source=10.96.0.0/12
89
+
90
+ echo "[INFO] Enabling masquerade and forwarding..."
91
+
92
+ sudo firewall-cmd --permanent --zone=public --add-masquerade
93
+
94
+ echo "[INFO] Reloading firewall..."
95
+
96
+ sudo firewall-cmd --reload
97
+
98
+ echo
99
+ echo "[INFO] Sysctl status:"
100
+ sudo sysctl \
101
+ net.ipv4.ip_forward \
102
+ net.ipv6.conf.all.forwarding \
103
+ net.bridge.bridge-nf-call-iptables \
104
+ net.bridge.bridge-nf-call-ip6tables
105
+
106
+ echo
107
+ echo "[INFO] Firewall status:"
108
+ sudo firewall-cmd --zone=public --list-all
109
+
110
+ echo
111
+ echo "[INFO] Kubernetes firewall configuration completed."