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.
- package/.env.example +0 -2
- package/.github/workflows/engine-cyberia.cd.yml +10 -8
- package/.github/workflows/engine-cyberia.ci.yml +12 -29
- package/.github/workflows/ghpkg.ci.yml +4 -4
- package/.github/workflows/npmpkg.ci.yml +28 -11
- package/.github/workflows/publish.ci.yml +21 -2
- package/.github/workflows/pwa-microservices-template-page.cd.yml +4 -5
- package/.github/workflows/pwa-microservices-template-test.ci.yml +3 -3
- package/.github/workflows/release.cd.yml +14 -10
- package/CHANGELOG.md +783 -1
- package/CLI-HELP.md +95 -18
- package/Dockerfile +0 -2
- package/README.md +290 -220
- package/bin/build.js +24 -7
- package/bin/cyberia.js +2838 -252
- package/bin/deploy.js +747 -125
- package/bin/file.js +9 -0
- package/bin/index.js +2838 -252
- package/bin/vs.js +1 -1
- package/conf.js +99 -65
- package/deployment.yaml +18 -164
- package/hardhat/hardhat.config.js +13 -13
- package/hardhat/ignition/modules/ObjectLayerToken.js +1 -1
- package/hardhat/package-lock.json +2559 -5864
- package/hardhat/package.json +14 -23
- package/hardhat/scripts/deployObjectLayerToken.js +1 -1
- package/hardhat/test/ObjectLayerToken.js +4 -2
- package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
- package/hardhat/types/ethers-contracts/common.ts +92 -0
- package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
- package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
- package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
- package/hardhat/types/ethers-contracts/index.ts +6 -0
- package/jsconfig.json +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +6 -5
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +6 -5
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +18 -164
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +7 -79
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
- package/manifests/deployment/dd-test-development/deployment.yaml +112 -28
- package/manifests/deployment/dd-test-development/proxy.yaml +46 -1
- package/manifests/deployment/playwright/deployment.yaml +1 -1
- package/nodemon.json +1 -1
- package/package.json +39 -24
- package/proxy.yaml +7 -79
- package/scripts/k3s-node-setup.sh +2 -2
- package/scripts/nat-iptables.sh +103 -18
- package/scripts/rhel-grpc-setup.sh +56 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +58 -14
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +23 -14
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +148 -20
- package/src/api/core/core.controller.js +10 -10
- package/src/api/core/core.service.js +10 -10
- package/src/api/crypto/crypto.controller.js +8 -8
- package/src/api/crypto/crypto.service.js +8 -8
- package/src/api/cyberia-action/cyberia-action.controller.js +74 -0
- package/src/api/cyberia-action/cyberia-action.model.js +87 -0
- package/src/api/cyberia-action/cyberia-action.router.js +27 -0
- package/src/api/cyberia-action/cyberia-action.service.js +42 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
- package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
- package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
- package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
- package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +178 -0
- package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
- package/src/api/cyberia-instance/cyberia-instance.model.js +87 -0
- package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
- package/src/api/cyberia-instance/cyberia-instance.service.js +156 -0
- package/src/api/cyberia-instance/cyberia-portal-connector.js +260 -0
- package/src/api/cyberia-instance/cyberia-world-generator.js +505 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +574 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +231 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +46 -0
- package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
- package/src/api/cyberia-map/cyberia-map.model.js +30 -0
- package/src/api/cyberia-map/cyberia-map.router.js +40 -0
- package/src/api/cyberia-map/cyberia-map.service.js +74 -0
- package/src/api/cyberia-quest/cyberia-quest.controller.js +74 -0
- package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
- package/src/api/cyberia-quest/cyberia-quest.router.js +27 -0
- package/src/api/cyberia-quest/cyberia-quest.service.js +42 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +74 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +27 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
- package/src/api/default/default.controller.js +10 -10
- package/src/api/default/default.service.js +10 -10
- package/src/api/document/document.controller.js +12 -12
- package/src/api/document/document.model.js +10 -16
- package/src/api/file/file.controller.js +8 -8
- package/src/api/file/file.model.js +10 -10
- package/src/api/file/file.ref.json +18 -0
- package/src/api/file/file.service.js +36 -36
- package/src/api/instance/instance.controller.js +10 -10
- package/src/api/instance/instance.model.js +4 -10
- package/src/api/instance/instance.service.js +10 -10
- package/src/api/ipfs/ipfs.controller.js +15 -36
- package/src/api/ipfs/ipfs.model.js +47 -47
- package/src/api/ipfs/ipfs.router.js +8 -13
- package/src/api/ipfs/ipfs.service.js +67 -129
- package/src/api/object-layer/object-layer.controller.js +12 -12
- package/src/api/object-layer/object-layer.model.js +4 -17
- package/src/api/object-layer/object-layer.router.js +30 -0
- package/src/api/object-layer/object-layer.service.js +126 -43
- package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +10 -10
- package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +6 -16
- package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +18 -14
- package/src/api/test/test.controller.js +8 -8
- package/src/api/test/test.service.js +8 -8
- package/src/api/user/guest.service.js +99 -0
- package/src/api/user/user.controller.js +6 -6
- package/src/api/user/user.model.js +8 -13
- package/src/api/user/user.service.js +11 -27
- package/src/cli/cluster.js +68 -21
- package/src/cli/db.js +753 -825
- package/src/cli/deploy.js +215 -125
- package/src/cli/env.js +29 -0
- package/src/cli/fs.js +82 -8
- package/src/cli/image.js +43 -1
- package/src/cli/index.js +74 -3
- package/src/cli/kubectl.js +211 -0
- package/src/cli/release.js +340 -0
- package/src/cli/repository.js +475 -74
- package/src/cli/run.js +582 -43
- package/src/cli/secrets.js +73 -0
- package/src/cli/ssh.js +1 -1
- package/src/cli/static.js +43 -115
- package/src/cli/test.js +3 -3
- package/src/client/Cryptokoyn.index.js +18 -22
- package/src/client/CyberiaPortal.index.js +19 -24
- package/src/client/Default.index.js +21 -34
- package/src/client/Itemledger.index.js +20 -27
- package/src/client/Underpost.index.js +19 -24
- package/src/client/components/core/404.js +4 -4
- package/src/client/components/core/500.js +4 -4
- package/src/client/components/core/Account.js +73 -60
- package/src/client/components/core/AgGrid.js +23 -33
- package/src/client/components/core/Alert.js +12 -13
- package/src/client/components/core/AppStore.js +69 -0
- package/src/client/components/core/Auth.js +35 -37
- package/src/client/components/core/Badge.js +7 -13
- package/src/client/components/core/BtnIcon.js +15 -17
- package/src/client/components/core/CalendarCore.js +43 -64
- package/src/client/components/core/Chat.js +13 -15
- package/src/client/components/core/ClientEvents.js +87 -0
- package/src/client/components/core/ColorPaletteElement.js +309 -0
- package/src/client/components/core/Content.js +17 -14
- package/src/client/components/core/Css.js +15 -71
- package/src/client/components/core/CssCore.js +12 -16
- package/src/client/components/core/D3Chart.js +4 -4
- package/src/client/components/core/Docs.js +64 -91
- package/src/client/components/core/DropDown.js +194 -96
- package/src/client/components/core/EventBus.js +92 -0
- package/src/client/components/core/EventsUI.js +14 -17
- package/src/client/components/core/FileExplorer.js +96 -228
- package/src/client/components/core/FullScreen.js +47 -75
- package/src/client/components/core/Input.js +24 -69
- package/src/client/components/core/Keyboard.js +26 -19
- package/src/client/components/core/KeyboardAvoidance.js +145 -0
- package/src/client/components/core/LoadingAnimation.js +25 -31
- package/src/client/components/core/LogIn.js +43 -43
- package/src/client/components/core/LogOut.js +25 -16
- package/src/client/components/core/Modal.js +462 -179
- package/src/client/components/core/NotificationManager.js +14 -18
- package/src/client/components/core/Panel.js +54 -51
- package/src/client/components/core/PanelForm.js +44 -144
- package/src/client/components/core/Polyhedron.js +110 -214
- package/src/client/components/core/PublicProfile.js +39 -32
- package/src/client/components/core/Recover.js +48 -44
- package/src/client/components/core/Responsive.js +88 -32
- package/src/client/components/core/RichText.js +9 -18
- package/src/client/components/core/Router.js +24 -3
- package/src/client/components/core/SearchBox.js +37 -37
- package/src/client/components/core/SignUp.js +39 -30
- package/src/client/components/core/SocketIo.js +112 -30
- package/src/client/components/core/SocketIoHandler.js +75 -0
- package/src/client/components/core/Stream.js +143 -95
- package/src/client/components/core/ToggleSwitch.js +8 -20
- package/src/client/components/core/ToolTip.js +5 -17
- package/src/client/components/core/Translate.js +56 -59
- package/src/client/components/core/Validator.js +26 -16
- package/src/client/components/core/Wallet.js +15 -26
- package/src/client/components/core/Webhook.js +40 -7
- package/src/client/components/core/Worker.js +163 -27
- package/src/client/components/core/windowGetDimensions.js +7 -7
- package/src/client/components/cryptokoyn/{MenuCryptokoyn.js → AppShellCryptokoyn.js} +59 -59
- package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
- package/src/client/components/cryptokoyn/CssCryptokoyn.js +15 -15
- package/src/client/components/cryptokoyn/LogInCryptokoyn.js +9 -7
- package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +8 -6
- package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
- package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +4 -4
- package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +6 -4
- package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
- package/src/client/components/cyberia/InstanceEngineCyberia.js +781 -0
- package/src/client/components/cyberia/MapEngineCyberia.js +1836 -2
- package/src/client/components/cyberia/ObjectLayerEngine.js +19 -0
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +1220 -99
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +252 -316
- package/src/client/components/cyberia-portal/{MenuCyberiaPortal.js → AppShellCyberiaPortal.js} +136 -103
- package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
- package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +462 -32
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +15 -15
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +9 -7
- package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +8 -6
- package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +4 -4
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +60 -0
- package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +4 -4
- package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +6 -4
- package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +8 -4
- package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +91 -91
- package/src/client/components/default/AppStoreDefault.js +5 -0
- package/src/client/components/default/CssDefault.js +12 -12
- package/src/client/components/default/LogInDefault.js +9 -7
- package/src/client/components/default/LogOutDefault.js +8 -6
- package/src/client/components/default/RouterDefault.js +47 -0
- package/src/client/components/default/SettingsDefault.js +4 -4
- package/src/client/components/default/SignUpDefault.js +6 -4
- package/src/client/components/default/SocketIoDefault.js +3 -51
- package/src/client/components/default/TranslateDefault.js +3 -3
- package/src/client/components/itemledger/{MenuItemledger.js → AppShellItemledger.js} +59 -59
- package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
- package/src/client/components/itemledger/CssItemledger.js +15 -15
- package/src/client/components/itemledger/LogInItemledger.js +9 -7
- package/src/client/components/itemledger/LogOutItemledger.js +8 -6
- package/src/client/components/itemledger/RouterItemledger.js +38 -0
- package/src/client/components/itemledger/SettingsItemledger.js +4 -4
- package/src/client/components/itemledger/SignUpItemledger.js +6 -4
- package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
- package/src/client/components/itemledger/TranslateItemledger.js +3 -3
- package/src/client/components/underpost/{MenuUnderpost.js → AppShellUnderpost.js} +92 -92
- package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
- package/src/client/components/underpost/CssUnderpost.js +14 -14
- package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +4 -4
- package/src/client/components/underpost/DocumentSearchProvider.js +1 -1
- package/src/client/components/underpost/LabGalleryUnderpost.js +12 -15
- package/src/client/components/underpost/LogInUnderpost.js +9 -7
- package/src/client/components/underpost/LogOutUnderpost.js +8 -6
- package/src/client/components/underpost/RouterUnderpost.js +45 -0
- package/src/client/components/underpost/SettingsUnderpost.js +4 -4
- package/src/client/components/underpost/SignUpUnderpost.js +6 -4
- package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
- package/src/client/components/underpost/TranslateUnderpost.js +4 -4
- package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +235 -0
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +443 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +417 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +313 -0
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +260 -0
- package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +241 -0
- package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
- package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +279 -0
- package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +206 -0
- package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +732 -0
- package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +14 -20
- package/src/client/services/core/core.service.js +35 -55
- package/src/client/services/crypto/crypto.service.js +8 -13
- package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
- package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +99 -0
- package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
- package/src/client/services/cyberia-entity/cyberia-entity.service.js +99 -0
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
- package/src/client/services/cyberia-instance/cyberia-instance.service.js +116 -0
- package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +99 -0
- package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
- package/src/client/services/cyberia-map/cyberia-map.service.js +120 -0
- package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
- package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
- package/src/client/services/default/default.management.js +159 -267
- package/src/client/services/default/default.service.js +10 -16
- package/src/client/services/document/document.service.js +14 -19
- package/src/client/services/file/file.service.js +8 -13
- package/src/client/services/instance/instance.management.js +6 -6
- package/src/client/services/instance/instance.service.js +10 -15
- package/src/client/services/ipfs/ipfs.service.js +14 -40
- package/src/client/services/object-layer/object-layer.management.js +14 -14
- package/src/client/services/object-layer/object-layer.service.js +39 -24
- package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +10 -16
- package/src/client/services/test/test.service.js +8 -13
- package/src/client/services/user/guest.service.js +86 -0
- package/src/client/services/user/user.management.js +6 -6
- package/src/client/services/user/user.service.js +14 -20
- package/src/client/ssr/body/404.js +3 -3
- package/src/client/ssr/body/500.js +3 -3
- package/src/client/ssr/body/CacheControl.js +5 -2
- package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +13 -6
- package/src/client/ssr/head/PwaItemledger.js +197 -60
- package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
- package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
- package/src/client/ssr/offline/Maintenance.js +12 -11
- package/src/client/ssr/offline/NoNetworkConnection.js +3 -3
- package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
- package/src/client/ssr/pages/Test.js +2 -2
- package/src/client/sw/core.sw.js +212 -0
- package/src/grpc/cyberia/grpc-server.js +642 -0
- package/src/index.js +24 -1
- package/src/runtime/cyberia-client/Dockerfile +80 -0
- package/src/runtime/cyberia-server/Dockerfile +37 -0
- package/src/runtime/express/Dockerfile +5 -1
- package/src/runtime/express/Express.js +18 -1
- package/src/runtime/lampp/Dockerfile +17 -5
- package/src/runtime/lampp/Lampp.js +27 -4
- package/src/runtime/wp/Dockerfile +62 -0
- package/src/runtime/wp/Wp.js +639 -0
- package/src/server/atlas-sprite-sheet-generator.js +4 -2
- package/src/server/auth.js +24 -1
- package/src/server/backup.js +37 -9
- package/src/server/client-build-docs.js +52 -46
- package/src/server/client-build.js +356 -82
- package/src/server/client-formatted.js +140 -57
- package/src/server/conf.js +29 -13
- package/src/server/cron.js +25 -23
- package/src/server/data-query.js +32 -20
- package/src/server/dns.js +24 -1
- package/src/server/ipfs-client.js +253 -89
- package/src/server/object-layer.js +150 -114
- package/src/server/peer.js +8 -0
- package/src/server/process.js +13 -27
- package/src/server/runtime.js +25 -1
- package/src/server/semantic-layer-generator-floor.js +319 -0
- package/src/server/semantic-layer-generator-resource.js +259 -0
- package/src/server/semantic-layer-generator-skin.js +1164 -0
- package/src/server/semantic-layer-generator.js +211 -542
- package/src/server/shape-generator.js +108 -0
- package/src/server/start.js +19 -5
- package/src/server/valkey.js +141 -235
- package/src/ws/IoInterface.js +1 -10
- package/src/ws/IoServer.js +14 -33
- package/src/ws/core/channels/core.ws.chat.js +65 -20
- package/src/ws/core/channels/core.ws.mailer.js +113 -32
- package/src/ws/core/channels/core.ws.stream.js +90 -31
- package/src/ws/core/core.ws.connection.js +12 -33
- package/src/ws/core/core.ws.emit.js +10 -26
- package/src/ws/core/core.ws.server.js +25 -58
- package/src/ws/default/channels/default.ws.main.js +53 -12
- package/src/ws/default/default.ws.connection.js +26 -13
- package/src/ws/default/default.ws.server.js +30 -12
- package/tsconfig.docs.json +15 -0
- package/typedoc.dd-cyberia.json +29 -0
- package/typedoc.json +29 -0
- package/WHITE-PAPER.md +0 -1540
- package/hardhat/README.md +0 -531
- package/hardhat/WHITE-PAPER.md +0 -1540
- package/jsdoc.dd-cyberia.json +0 -59
- package/jsdoc.json +0 -59
- package/src/api/object-layer/README.md +0 -347
- package/src/client/components/core/ColorPalette.js +0 -5267
- package/src/client/components/core/JoyStick.js +0 -80
- package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
- package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
- package/src/client/components/cryptokoyn/RoutesCryptokoyn.js +0 -39
- package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
- package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +0 -58
- package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +0 -136
- package/src/client/components/default/ElementsDefault.js +0 -38
- package/src/client/components/default/RoutesDefault.js +0 -49
- package/src/client/components/itemledger/CommonItemledger.js +0 -29
- package/src/client/components/itemledger/ElementsItemledger.js +0 -38
- package/src/client/components/itemledger/RoutesItemledger.js +0 -40
- package/src/client/components/underpost/CommonUnderpost.js +0 -29
- package/src/client/components/underpost/ElementsUnderpost.js +0 -38
- package/src/client/components/underpost/RoutesUnderpost.js +0 -47
- package/src/client/sw/default.sw.js +0 -127
- package/src/client/sw/template.sw.js +0 -84
- package/src/ws/core/management/core.ws.chat.js +0 -8
- package/src/ws/core/management/core.ws.mailer.js +0 -16
- package/src/ws/core/management/core.ws.stream.js +0 -8
- package/src/ws/default/management/default.ws.main.js +0 -8
package/src/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import UnderpostKickStart from './cli/kickstart.js';
|
|
|
10
10
|
import UnderpostCluster from './cli/cluster.js';
|
|
11
11
|
import UnderpostDB from './cli/db.js';
|
|
12
12
|
import UnderpostDeploy from './cli/deploy.js';
|
|
13
|
+
import UnderpostKubectl from './cli/kubectl.js';
|
|
13
14
|
import UnderpostRootEnv from './cli/env.js';
|
|
14
15
|
import UnderpostFileStorage from './cli/fs.js';
|
|
15
16
|
import UnderpostIPFS from './cli/ipfs.js';
|
|
@@ -22,6 +23,7 @@ import UnderpostSecret from './cli/secrets.js';
|
|
|
22
23
|
import UnderpostSSH from './cli/ssh.js';
|
|
23
24
|
import UnderpostStatic from './cli/static.js';
|
|
24
25
|
import UnderpostTest from './cli/test.js';
|
|
26
|
+
import UnderpostRelease from './cli/release.js';
|
|
25
27
|
import UnderpostSystemProvisionig from './cli/system.js';
|
|
26
28
|
|
|
27
29
|
import UnderpostDns from './server/dns.js';
|
|
@@ -42,7 +44,7 @@ class Underpost {
|
|
|
42
44
|
* @type {String}
|
|
43
45
|
* @memberof Underpost
|
|
44
46
|
*/
|
|
45
|
-
static version = 'v3.
|
|
47
|
+
static version = 'v3.2.9';
|
|
46
48
|
|
|
47
49
|
/**
|
|
48
50
|
* Required Node.js major version
|
|
@@ -126,6 +128,15 @@ class Underpost {
|
|
|
126
128
|
static get db() {
|
|
127
129
|
return UnderpostDB.API;
|
|
128
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Kubectl cli API
|
|
133
|
+
* @static
|
|
134
|
+
* @type {UnderpostKubectl.API}
|
|
135
|
+
* @memberof Underpost
|
|
136
|
+
*/
|
|
137
|
+
static get kubectl() {
|
|
138
|
+
return UnderpostKubectl.API;
|
|
139
|
+
}
|
|
129
140
|
/**
|
|
130
141
|
* Deployment cli API
|
|
131
142
|
* @static
|
|
@@ -280,6 +291,16 @@ class Underpost {
|
|
|
280
291
|
static get tls() {
|
|
281
292
|
return UnderpostTLS.API;
|
|
282
293
|
}
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Release orchestrator cli API
|
|
297
|
+
* @static
|
|
298
|
+
* @type {UnderpostRelease.API}
|
|
299
|
+
* @memberof Underpost
|
|
300
|
+
*/
|
|
301
|
+
static get release() {
|
|
302
|
+
return UnderpostRelease.API;
|
|
303
|
+
}
|
|
283
304
|
}
|
|
284
305
|
|
|
285
306
|
if (!process.version || !process.version.startsWith(`${Underpost.majorNodejsVersion}.`))
|
|
@@ -300,6 +321,7 @@ export {
|
|
|
300
321
|
UnderpostCluster,
|
|
301
322
|
UnderpostDB,
|
|
302
323
|
UnderpostDeploy,
|
|
324
|
+
UnderpostKubectl,
|
|
303
325
|
UnderpostRootEnv,
|
|
304
326
|
UnderpostFileStorage,
|
|
305
327
|
UnderpostImage,
|
|
@@ -317,6 +339,7 @@ export {
|
|
|
317
339
|
UnderpostBackup,
|
|
318
340
|
UnderpostCron,
|
|
319
341
|
UnderpostStartUp,
|
|
342
|
+
UnderpostRelease,
|
|
320
343
|
UnderpostTLS,
|
|
321
344
|
};
|
|
322
345
|
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# BUILD_MODE: RELEASE | DEBUG
|
|
2
|
+
ARG BUILD_MODE=RELEASE
|
|
3
|
+
|
|
4
|
+
# --- Build Image
|
|
5
|
+
FROM rockylinux/rockylinux:9 AS builder
|
|
6
|
+
# Re-declare ARG after FROM so it is in scope for RUN
|
|
7
|
+
ARG BUILD_MODE=RELEASE
|
|
8
|
+
|
|
9
|
+
RUN dnf -y update && \
|
|
10
|
+
dnf -y install epel-release && \
|
|
11
|
+
dnf -y install --allowerasing \
|
|
12
|
+
git \
|
|
13
|
+
curl \
|
|
14
|
+
wget \
|
|
15
|
+
openssl-devel \
|
|
16
|
+
libnsl \
|
|
17
|
+
perl \
|
|
18
|
+
gnupg2 \
|
|
19
|
+
bzip2 && \
|
|
20
|
+
dnf clean all
|
|
21
|
+
|
|
22
|
+
# System packages (raylib gfx + build dependencies)
|
|
23
|
+
RUN dnf groupinstall -y "Development Tools" && \
|
|
24
|
+
dnf install -y \
|
|
25
|
+
cmake \
|
|
26
|
+
unzip \
|
|
27
|
+
python3 \
|
|
28
|
+
python3.11 \
|
|
29
|
+
alsa-lib-devel \
|
|
30
|
+
mesa-libGL-devel \
|
|
31
|
+
mesa-libGLU-devel \
|
|
32
|
+
libX11-devel \
|
|
33
|
+
libXrandr-devel \
|
|
34
|
+
libXi-devel \
|
|
35
|
+
libXcursor-devel \
|
|
36
|
+
libXinerama-devel \
|
|
37
|
+
libXfixes-devel \
|
|
38
|
+
freeglut-devel \
|
|
39
|
+
glfw-devel \
|
|
40
|
+
libatomic.x86_64 && \
|
|
41
|
+
dnf clean all && \
|
|
42
|
+
alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 && \
|
|
43
|
+
alternatives --set python3 /usr/bin/python3.11
|
|
44
|
+
ENV EMSDK=/opt/emsdk
|
|
45
|
+
ENV PATH="${EMSDK}:${EMSDK}/upstream/emscripten:${PATH}"
|
|
46
|
+
|
|
47
|
+
# Pin emsdk version for reproducible builds
|
|
48
|
+
ARG EMSDK_VERSION=5.0.6
|
|
49
|
+
WORKDIR /opt
|
|
50
|
+
RUN git clone https://github.com/emscripten-core/emsdk.git ${EMSDK}
|
|
51
|
+
WORKDIR ${EMSDK}
|
|
52
|
+
RUN ./emsdk install ${EMSDK_VERSION} && \
|
|
53
|
+
./emsdk activate ${EMSDK_VERSION}
|
|
54
|
+
|
|
55
|
+
WORKDIR /cyberia-client
|
|
56
|
+
COPY cyberia-client/ .
|
|
57
|
+
|
|
58
|
+
RUN make -f Web.mk all BUILD_MODE=${BUILD_MODE} OUTPUT_DIR=bin/
|
|
59
|
+
|
|
60
|
+
# --- Runtime Image
|
|
61
|
+
FROM rockylinux/rockylinux:9 AS runtime
|
|
62
|
+
|
|
63
|
+
RUN dnf -y update && \
|
|
64
|
+
dnf -y install epel-release && \
|
|
65
|
+
dnf -y install --allowerasing curl git python3 && \
|
|
66
|
+
curl -fsSL https://rpm.nodesource.com/setup_24.x | bash - && \
|
|
67
|
+
dnf install -y nodejs && \
|
|
68
|
+
dnf clean all
|
|
69
|
+
|
|
70
|
+
WORKDIR /home/dd/engine/cyberia-client
|
|
71
|
+
|
|
72
|
+
COPY --from=builder /cyberia-client/server.py ./server.py
|
|
73
|
+
COPY --from=builder /cyberia-client/bin ./bin/
|
|
74
|
+
|
|
75
|
+
ENV CYBERIA_PORT=8081
|
|
76
|
+
ENV CYBERIA_MODE=production
|
|
77
|
+
|
|
78
|
+
EXPOSE 8081 8082
|
|
79
|
+
|
|
80
|
+
CMD ["sh", "-c", "exec python3 server.py ${CYBERIA_PORT} bin ${CYBERIA_MODE}"]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# --- Build Image
|
|
2
|
+
FROM rockylinux/rockylinux:9 AS builder
|
|
3
|
+
|
|
4
|
+
RUN dnf -y update && \
|
|
5
|
+
dnf -y install epel-release && \
|
|
6
|
+
dnf -y install --allowerasing \
|
|
7
|
+
git \
|
|
8
|
+
make \
|
|
9
|
+
golang && \
|
|
10
|
+
dnf clean all
|
|
11
|
+
|
|
12
|
+
WORKDIR /build
|
|
13
|
+
|
|
14
|
+
# Cache dependency downloads independently of source changes
|
|
15
|
+
COPY cyberia-server/go.mod cyberia-server/go.sum ./
|
|
16
|
+
RUN go mod download
|
|
17
|
+
|
|
18
|
+
COPY cyberia-server/ ./
|
|
19
|
+
RUN chmod +x build.sh && ./build.sh
|
|
20
|
+
|
|
21
|
+
# --- Runtime Image
|
|
22
|
+
FROM rockylinux/rockylinux:9 AS runtime
|
|
23
|
+
|
|
24
|
+
RUN dnf -y update && \
|
|
25
|
+
dnf -y install epel-release && \
|
|
26
|
+
dnf -y install --allowerasing curl git && \
|
|
27
|
+
curl -fsSL https://rpm.nodesource.com/setup_24.x | bash - && \
|
|
28
|
+
dnf install -y nodejs && \
|
|
29
|
+
dnf clean all
|
|
30
|
+
|
|
31
|
+
WORKDIR /home/dd/engine/cyberia-server
|
|
32
|
+
|
|
33
|
+
COPY --from=builder /build/server ./server
|
|
34
|
+
|
|
35
|
+
EXPOSE 8081
|
|
36
|
+
|
|
37
|
+
ENTRYPOINT ["/home/dd/engine/cyberia-server/server"]
|
|
@@ -30,7 +30,11 @@ RUN dnf clean all
|
|
|
30
30
|
RUN node --version
|
|
31
31
|
RUN npm --version
|
|
32
32
|
|
|
33
|
-
#
|
|
33
|
+
# Install underpost ci/cd cli
|
|
34
|
+
RUN npm install -g underpost
|
|
35
|
+
RUN underpost --version
|
|
36
|
+
|
|
37
|
+
# Create working directory
|
|
34
38
|
WORKDIR /home/dd
|
|
35
39
|
|
|
36
40
|
# Expose necessary ports
|
|
@@ -79,6 +79,7 @@ class ExpressService {
|
|
|
79
79
|
peer,
|
|
80
80
|
valkey,
|
|
81
81
|
apiBaseHost,
|
|
82
|
+
grpc,
|
|
82
83
|
redirectTarget,
|
|
83
84
|
rootHostPath,
|
|
84
85
|
confSSR,
|
|
@@ -135,7 +136,17 @@ class ExpressService {
|
|
|
135
136
|
});
|
|
136
137
|
|
|
137
138
|
// Static file serving
|
|
138
|
-
app.use(
|
|
139
|
+
app.use(
|
|
140
|
+
'/',
|
|
141
|
+
express.static(directory ? directory : `.${rootHostPath}`, {
|
|
142
|
+
setHeaders: (res, filePath) => {
|
|
143
|
+
if (filePath.includes('/assets/')) {
|
|
144
|
+
res.set('Access-Control-Allow-Origin', '*');
|
|
145
|
+
res.set('Cross-Origin-Resource-Policy', 'cross-origin');
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
}),
|
|
149
|
+
);
|
|
139
150
|
|
|
140
151
|
// Handle redirection-only instances
|
|
141
152
|
if (redirect) {
|
|
@@ -198,6 +209,12 @@ class ExpressService {
|
|
|
198
209
|
});
|
|
199
210
|
}
|
|
200
211
|
|
|
212
|
+
// gRPC server
|
|
213
|
+
if (path === '/' && grpc && grpc.module) {
|
|
214
|
+
const { GrpcServer } = await import(`../../grpc/${grpc.module}/grpc-server.js`);
|
|
215
|
+
await GrpcServer.start({ host, path, port: grpc.port || 50051 });
|
|
216
|
+
}
|
|
217
|
+
|
|
201
218
|
// API router loading
|
|
202
219
|
if (apis && apis.length > 0) {
|
|
203
220
|
const authMiddleware = authMiddlewareFactory({ host, path });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
FROM rockylinux:9
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# System packages
|
|
4
4
|
RUN dnf -y update && \
|
|
5
5
|
dnf -y install epel-release && \
|
|
6
6
|
dnf -y install --allowerasing \
|
|
@@ -20,17 +20,25 @@ RUN dnf -y update && \
|
|
|
20
20
|
perl && \
|
|
21
21
|
dnf clean all
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
|
|
24
|
+
# Download and install XAMPP (PHP 8.2)
|
|
25
|
+
RUN curl -L -o /tmp/xampp-linux-installer.run "https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/8.2.12/xampp-linux-x64-8.2.12-0-installer.run" && \
|
|
25
26
|
chmod +x /tmp/xampp-linux-installer.run && \
|
|
26
27
|
bash -c "/tmp/xampp-linux-installer.run --mode unattended" && \
|
|
27
28
|
ln -sf /opt/lampp/lampp /usr/bin/lampp
|
|
28
29
|
|
|
29
|
-
#
|
|
30
|
+
# Create /xampp/htdocs (static root) and set permissions
|
|
30
31
|
RUN mkdir -p /opt/lampp/htdocs && \
|
|
31
32
|
chown -R root:root /opt/lampp/htdocs && \
|
|
32
33
|
chmod -R a+rX /opt/lampp/htdocs
|
|
33
34
|
|
|
35
|
+
# Add XAMPP binaries and /usr/local/bin to PATH for all shells
|
|
36
|
+
ENV PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"
|
|
37
|
+
RUN echo 'export PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"' > /etc/profile.d/lampp.sh
|
|
38
|
+
|
|
39
|
+
# Provide a no-op sendmail so PHP plugins don't error on mail calls
|
|
40
|
+
RUN printf '#!/bin/sh\ncat > /dev/null\n' > /usr/sbin/sendmail && chmod +x /usr/sbin/sendmail
|
|
41
|
+
|
|
34
42
|
# Install Node.js
|
|
35
43
|
RUN curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
|
|
36
44
|
RUN dnf install nodejs -y
|
|
@@ -40,7 +48,11 @@ RUN dnf clean all
|
|
|
40
48
|
RUN node --version
|
|
41
49
|
RUN npm --version
|
|
42
50
|
|
|
43
|
-
#
|
|
51
|
+
# Install underpost CLI
|
|
52
|
+
RUN npm install -g underpost
|
|
53
|
+
RUN underpost --version
|
|
54
|
+
|
|
55
|
+
# Runtime root expected by startup/build scripts.
|
|
44
56
|
WORKDIR /home/dd
|
|
45
57
|
|
|
46
58
|
EXPOSE 22
|
|
@@ -169,9 +169,9 @@ class LamppService {
|
|
|
169
169
|
shellCd(`./engine-private/setup`);
|
|
170
170
|
|
|
171
171
|
if (!process.argv.includes(`server`)) {
|
|
172
|
-
// Download and run the XAMPP installer
|
|
172
|
+
// Download and run the XAMPP installer (PHP 8.2)
|
|
173
173
|
shellExec(
|
|
174
|
-
`curl -Lo xampp-linux-installer.run https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/
|
|
174
|
+
`curl -Lo xampp-linux-installer.run https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/8.2.12/xampp-linux-x64-8.2.12-0-installer.run`,
|
|
175
175
|
);
|
|
176
176
|
shellExec(`sudo chmod +x xampp-linux-installer.run`);
|
|
177
177
|
shellExec(
|
|
@@ -237,14 +237,37 @@ Listen ${port}
|
|
|
237
237
|
|
|
238
238
|
<VirtualHost *:${port}>
|
|
239
239
|
DocumentRoot "${documentRoot}"
|
|
240
|
-
ServerName ${host}
|
|
240
|
+
ServerName ${host}
|
|
241
|
+
UseCanonicalName Off
|
|
242
|
+
ServerSignature Off
|
|
241
243
|
|
|
242
244
|
<Directory "${documentRoot}">
|
|
243
|
-
Options
|
|
245
|
+
Options FollowSymLinks MultiViews
|
|
244
246
|
AllowOverride All
|
|
245
247
|
Require all granted
|
|
246
248
|
</Directory>
|
|
247
249
|
|
|
250
|
+
# Block access to .git directories and files
|
|
251
|
+
RedirectMatch 404 /\\.git
|
|
252
|
+
|
|
253
|
+
# Block access to hidden dotfiles (.env, .htpasswd, etc.)
|
|
254
|
+
<FilesMatch "^\\.(env|htpasswd|htaccess\\.bak|DS_Store)">
|
|
255
|
+
Require all denied
|
|
256
|
+
</FilesMatch>
|
|
257
|
+
|
|
258
|
+
# Block access to sensitive engine files
|
|
259
|
+
<FilesMatch "(wp-config\\.php\\.bak|wp-config-sample\\.php|\\.sql|\\.sql\\.gz)$">
|
|
260
|
+
Require all denied
|
|
261
|
+
</FilesMatch>
|
|
262
|
+
|
|
263
|
+
# Security headers
|
|
264
|
+
<IfModule mod_headers.c>
|
|
265
|
+
Header always set X-Content-Type-Options "nosniff"
|
|
266
|
+
Header always set X-Frame-Options "SAMEORIGIN"
|
|
267
|
+
Header always set Referrer-Policy "strict-origin-when-cross-origin"
|
|
268
|
+
Header always unset X-Powered-By
|
|
269
|
+
</IfModule>
|
|
270
|
+
|
|
248
271
|
${
|
|
249
272
|
redirect
|
|
250
273
|
? `
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
FROM rockylinux:9
|
|
2
|
+
|
|
3
|
+
# System packages
|
|
4
|
+
RUN dnf -y update && \
|
|
5
|
+
dnf -y install epel-release && \
|
|
6
|
+
dnf -y install --allowerasing \
|
|
7
|
+
bzip2 \
|
|
8
|
+
sudo \
|
|
9
|
+
curl \
|
|
10
|
+
net-tools \
|
|
11
|
+
openssh-server \
|
|
12
|
+
nano \
|
|
13
|
+
vim-enhanced \
|
|
14
|
+
less \
|
|
15
|
+
openssl-devel \
|
|
16
|
+
wget \
|
|
17
|
+
git \
|
|
18
|
+
gnupg2 \
|
|
19
|
+
libnsl \
|
|
20
|
+
perl && \
|
|
21
|
+
dnf clean all
|
|
22
|
+
|
|
23
|
+
# Download and install XAMPP (PHP 8.2)
|
|
24
|
+
RUN curl -L -o /tmp/xampp-linux-installer.run "https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/8.2.12/xampp-linux-x64-8.2.12-0-installer.run" && \
|
|
25
|
+
chmod +x /tmp/xampp-linux-installer.run && \
|
|
26
|
+
bash -c "/tmp/xampp-linux-installer.run --mode unattended" && \
|
|
27
|
+
ln -sf /opt/lampp/lampp /usr/bin/lampp
|
|
28
|
+
|
|
29
|
+
# Create /xampp/htdocs (static root) and set permissions
|
|
30
|
+
RUN mkdir -p /opt/lampp/htdocs && \
|
|
31
|
+
chown -R root:root /opt/lampp/htdocs && \
|
|
32
|
+
chmod -R a+rX /opt/lampp/htdocs
|
|
33
|
+
|
|
34
|
+
# Add XAMPP binaries and /usr/local/bin to PATH for all shells
|
|
35
|
+
ENV PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"
|
|
36
|
+
RUN echo 'export PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"' > /etc/profile.d/lampp.sh
|
|
37
|
+
|
|
38
|
+
# Provide a no-op sendmail so WP plugins don't error on mail calls
|
|
39
|
+
RUN printf '#!/bin/sh\ncat > /dev/null\n' > /usr/sbin/sendmail && chmod +x /usr/sbin/sendmail
|
|
40
|
+
|
|
41
|
+
# Install Node.js (includes npm)
|
|
42
|
+
RUN curl -fsSL https://rpm.nodesource.com/setup_24.x | bash - && \
|
|
43
|
+
dnf install -y nodejs && \
|
|
44
|
+
dnf clean all
|
|
45
|
+
|
|
46
|
+
# Install WP-CLI
|
|
47
|
+
RUN curl -sL https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -o /usr/local/bin/wp && \
|
|
48
|
+
chmod +x /usr/local/bin/wp && \
|
|
49
|
+
wp --info --allow-root
|
|
50
|
+
|
|
51
|
+
# Install underpost CLI
|
|
52
|
+
RUN npm install -g underpost
|
|
53
|
+
|
|
54
|
+
# Runtime root expected by startup/build scripts.
|
|
55
|
+
WORKDIR /home/dd
|
|
56
|
+
|
|
57
|
+
EXPOSE 22
|
|
58
|
+
EXPOSE 80
|
|
59
|
+
EXPOSE 443
|
|
60
|
+
EXPOSE 3000-3100
|
|
61
|
+
EXPOSE 4000-4100
|
|
62
|
+
|