cyberia 2.8.885
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/.dockerignore +15 -0
- package/.env.development +45 -0
- package/.env.production +50 -0
- package/.env.test +45 -0
- package/.github/workflows/engine-cyberia.cd.yml +31 -0
- package/.github/workflows/engine-cyberia.ci.yml +60 -0
- package/.github/workflows/ghpkg.ci.yml +87 -0
- package/.github/workflows/npmpkg.ci.yml +72 -0
- package/.github/workflows/publish.ci.yml +84 -0
- package/.github/workflows/publish.cyberia.ci.yml +84 -0
- package/.github/workflows/pwa-microservices-template-page.cd.yml +72 -0
- package/.github/workflows/pwa-microservices-template-test.ci.yml +33 -0
- package/.github/workflows/release.cd.yml +37 -0
- package/.nycrc +9 -0
- package/.prettierignore +13 -0
- package/.prettierrc +9 -0
- package/.vscode/extensions.json +51 -0
- package/.vscode/settings.json +87 -0
- package/AUTHORS.md +21 -0
- package/CHANGELOG.md +205 -0
- package/Dockerfile +28 -0
- package/LICENSE +21 -0
- package/README.md +85 -0
- package/bin/build.js +209 -0
- package/bin/cron.js +47 -0
- package/bin/cyberia.js +145 -0
- package/bin/db.js +199 -0
- package/bin/deploy.js +1293 -0
- package/bin/file.js +197 -0
- package/bin/hwt.js +49 -0
- package/bin/index.js +145 -0
- package/bin/ssl.js +63 -0
- package/bin/util.js +80 -0
- package/bin/vs.js +74 -0
- package/cli.md +714 -0
- package/conf.js +204 -0
- package/deployment.yaml +138 -0
- package/jsconfig.json +7 -0
- package/jsdoc.json +32 -0
- package/manifests/deployment/adminer/deployment.yaml +32 -0
- package/manifests/deployment/adminer/kustomization.yaml +7 -0
- package/manifests/deployment/adminer/service.yaml +13 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +167 -0
- package/manifests/deployment/dd-default-development/proxy.yaml +46 -0
- package/manifests/deployment/dd-test-development/deployment.yaml +174 -0
- package/manifests/deployment/dd-test-development/proxy.yaml +51 -0
- package/manifests/deployment/fastapi/backend-deployment.yml +120 -0
- package/manifests/deployment/fastapi/backend-service.yml +19 -0
- package/manifests/deployment/fastapi/frontend-deployment.yml +54 -0
- package/manifests/deployment/fastapi/frontend-service.yml +15 -0
- package/manifests/deployment/fastapi/initial_data.sh +56 -0
- package/manifests/deployment/kafka/deployment.yaml +69 -0
- package/manifests/deployment/mongo-express/deployment.yaml +60 -0
- package/manifests/deployment/phpmyadmin/deployment.yaml +54 -0
- package/manifests/deployment/spark/spark-pi-py.yaml +21 -0
- package/manifests/deployment/tensorflow/tf-gpu-test.yaml +65 -0
- package/manifests/envoy-service-nodeport.yaml +23 -0
- package/manifests/grafana/deployment.yaml +57 -0
- package/manifests/grafana/kustomization.yaml +7 -0
- package/manifests/grafana/pvc.yaml +12 -0
- package/manifests/grafana/service.yaml +14 -0
- package/manifests/kind-config-dev.yaml +12 -0
- package/manifests/kind-config.yaml +12 -0
- package/manifests/kubeadm-calico-config.yaml +119 -0
- package/manifests/kubelet-config.yaml +65 -0
- package/manifests/letsencrypt-prod.yaml +15 -0
- package/manifests/lxd/lxd-admin-profile.yaml +17 -0
- package/manifests/lxd/lxd-preseed.yaml +30 -0
- package/manifests/lxd/underpost-setup.sh +163 -0
- package/manifests/mariadb/config.yaml +10 -0
- package/manifests/mariadb/kustomization.yaml +9 -0
- package/manifests/mariadb/pv.yaml +12 -0
- package/manifests/mariadb/pvc.yaml +10 -0
- package/manifests/mariadb/secret.yaml +8 -0
- package/manifests/mariadb/service.yaml +10 -0
- package/manifests/mariadb/statefulset.yaml +56 -0
- package/manifests/mariadb/storage-class.yaml +10 -0
- package/manifests/mongodb/backup-access.yaml +16 -0
- package/manifests/mongodb/backup-cronjob.yaml +42 -0
- package/manifests/mongodb/backup-pv-pvc.yaml +22 -0
- package/manifests/mongodb/configmap.yaml +26 -0
- package/manifests/mongodb/headless-service.yaml +10 -0
- package/manifests/mongodb/kustomization.yaml +11 -0
- package/manifests/mongodb/pv-pvc.yaml +23 -0
- package/manifests/mongodb/statefulset.yaml +126 -0
- package/manifests/mongodb/storage-class.yaml +9 -0
- package/manifests/mongodb-4.4/kustomization.yaml +7 -0
- package/manifests/mongodb-4.4/pv-pvc.yaml +23 -0
- package/manifests/mongodb-4.4/service-deployment.yaml +63 -0
- package/manifests/mysql/kustomization.yaml +7 -0
- package/manifests/mysql/pv-pvc.yaml +27 -0
- package/manifests/mysql/statefulset.yaml +55 -0
- package/manifests/postgresql/configmap.yaml +9 -0
- package/manifests/postgresql/kustomization.yaml +10 -0
- package/manifests/postgresql/pv.yaml +15 -0
- package/manifests/postgresql/pvc.yaml +13 -0
- package/manifests/postgresql/service.yaml +10 -0
- package/manifests/postgresql/statefulset.yaml +37 -0
- package/manifests/prometheus/deployment.yaml +82 -0
- package/manifests/valkey/kustomization.yaml +7 -0
- package/manifests/valkey/service.yaml +11 -0
- package/manifests/valkey/statefulset.yaml +38 -0
- package/nodemon.json +6 -0
- package/package.json +118 -0
- package/proxy.yaml +35 -0
- package/scripts/device-scan.sh +43 -0
- package/scripts/gpu-diag.sh +19 -0
- package/scripts/maas-setup.sh +120 -0
- package/scripts/nat-iptables.sh +26 -0
- package/scripts/nvim.sh +91 -0
- package/scripts/snap-clean.sh +26 -0
- package/scripts/ssh-cluster-info.sh +14 -0
- package/scripts/ssl.sh +164 -0
- package/src/api/blockchain/blockchain.controller.js +51 -0
- package/src/api/blockchain/blockchain.model.js +90 -0
- package/src/api/blockchain/blockchain.router.js +21 -0
- package/src/api/blockchain/blockchain.service.js +24 -0
- package/src/api/core/core.controller.js +69 -0
- package/src/api/core/core.model.js +11 -0
- package/src/api/core/core.router.js +24 -0
- package/src/api/core/core.service.js +35 -0
- package/src/api/crypto/crypto.controller.js +51 -0
- package/src/api/crypto/crypto.model.js +23 -0
- package/src/api/crypto/crypto.router.js +20 -0
- package/src/api/crypto/crypto.service.js +64 -0
- package/src/api/default/default.controller.js +74 -0
- package/src/api/default/default.model.js +20 -0
- package/src/api/default/default.router.js +27 -0
- package/src/api/default/default.service.js +40 -0
- package/src/api/document/document.controller.js +66 -0
- package/src/api/document/document.model.js +51 -0
- package/src/api/document/document.router.js +24 -0
- package/src/api/document/document.service.js +133 -0
- package/src/api/file/file.controller.js +67 -0
- package/src/api/file/file.model.js +19 -0
- package/src/api/file/file.router.js +22 -0
- package/src/api/file/file.service.js +100 -0
- package/src/api/instance/instance.controller.js +69 -0
- package/src/api/instance/instance.model.js +40 -0
- package/src/api/instance/instance.router.js +34 -0
- package/src/api/instance/instance.service.js +70 -0
- package/src/api/ipfs/ipfs.controller.js +51 -0
- package/src/api/ipfs/ipfs.model.js +17 -0
- package/src/api/ipfs/ipfs.router.js +20 -0
- package/src/api/ipfs/ipfs.service.js +25 -0
- package/src/api/object-layer/README.md +85 -0
- package/src/api/object-layer/object-layer.controller.js +69 -0
- package/src/api/object-layer/object-layer.model.js +181 -0
- package/src/api/object-layer/object-layer.router.js +29 -0
- package/src/api/object-layer/object-layer.service.js +49 -0
- package/src/api/test/test.controller.js +59 -0
- package/src/api/test/test.model.js +14 -0
- package/src/api/test/test.router.js +21 -0
- package/src/api/test/test.service.js +35 -0
- package/src/api/user/postman_collection.json +216 -0
- package/src/api/user/user.build.js +16 -0
- package/src/api/user/user.controller.js +35 -0
- package/src/api/user/user.model.js +100 -0
- package/src/api/user/user.router.js +400 -0
- package/src/api/user/user.service.js +500 -0
- package/src/api.js +23 -0
- package/src/cli/baremetal.js +1310 -0
- package/src/cli/cloud-init.js +548 -0
- package/src/cli/cluster.js +834 -0
- package/src/cli/cron.js +95 -0
- package/src/cli/db.js +414 -0
- package/src/cli/deploy.js +661 -0
- package/src/cli/env.js +101 -0
- package/src/cli/fs.js +256 -0
- package/src/cli/image.js +156 -0
- package/src/cli/index.js +436 -0
- package/src/cli/lxd.js +402 -0
- package/src/cli/monitor.js +260 -0
- package/src/cli/repository.js +274 -0
- package/src/cli/run.js +728 -0
- package/src/cli/script.js +85 -0
- package/src/cli/secrets.js +71 -0
- package/src/cli/ssh.js +46 -0
- package/src/cli/test.js +159 -0
- package/src/client/Cyberia.index.js +50 -0
- package/src/client/CyberiaAdmin.index.js +34 -0
- package/src/client/CyberiaPortal.index.js +36 -0
- package/src/client/Default.index.js +84 -0
- package/src/client/components/core/404.js +20 -0
- package/src/client/components/core/500.js +20 -0
- package/src/client/components/core/Account.js +326 -0
- package/src/client/components/core/AgGrid.js +191 -0
- package/src/client/components/core/Alert.js +77 -0
- package/src/client/components/core/Auth.js +342 -0
- package/src/client/components/core/Badge.js +32 -0
- package/src/client/components/core/Blockchain.js +41 -0
- package/src/client/components/core/Blog.js +9 -0
- package/src/client/components/core/BtnIcon.js +111 -0
- package/src/client/components/core/CalendarCore.js +464 -0
- package/src/client/components/core/Chat.js +64 -0
- package/src/client/components/core/ColorPalette.js +5267 -0
- package/src/client/components/core/CommonJs.js +1010 -0
- package/src/client/components/core/Content.js +196 -0
- package/src/client/components/core/Css.js +1099 -0
- package/src/client/components/core/CssCore.js +882 -0
- package/src/client/components/core/D3Chart.js +44 -0
- package/src/client/components/core/Docs.js +376 -0
- package/src/client/components/core/DropDown.js +223 -0
- package/src/client/components/core/EventsUI.js +133 -0
- package/src/client/components/core/FileExplorer.js +707 -0
- package/src/client/components/core/FullScreen.js +36 -0
- package/src/client/components/core/Input.js +383 -0
- package/src/client/components/core/JoyStick.js +80 -0
- package/src/client/components/core/Keyboard.js +73 -0
- package/src/client/components/core/LoadingAnimation.js +159 -0
- package/src/client/components/core/LogIn.js +190 -0
- package/src/client/components/core/LogOut.js +63 -0
- package/src/client/components/core/Logger.js +29 -0
- package/src/client/components/core/Modal.js +2494 -0
- package/src/client/components/core/NotificationManager.js +84 -0
- package/src/client/components/core/ObjectLayerEngine.js +1229 -0
- package/src/client/components/core/ObjectLayerEngineModal.js +443 -0
- package/src/client/components/core/Pagination.js +207 -0
- package/src/client/components/core/Panel.js +772 -0
- package/src/client/components/core/PanelForm.js +627 -0
- package/src/client/components/core/Polyhedron.js +162 -0
- package/src/client/components/core/Recover.js +207 -0
- package/src/client/components/core/Responsive.js +82 -0
- package/src/client/components/core/RichText.js +43 -0
- package/src/client/components/core/Router.js +317 -0
- package/src/client/components/core/Scroll.js +76 -0
- package/src/client/components/core/SignUp.js +125 -0
- package/src/client/components/core/SocketIo.js +74 -0
- package/src/client/components/core/Stream.js +113 -0
- package/src/client/components/core/ToggleSwitch.js +101 -0
- package/src/client/components/core/ToolTip.js +90 -0
- package/src/client/components/core/Translate.js +522 -0
- package/src/client/components/core/Validator.js +115 -0
- package/src/client/components/core/VanillaJs.js +423 -0
- package/src/client/components/core/Wallet.js +106 -0
- package/src/client/components/core/WebComponent.js +44 -0
- package/src/client/components/core/Webhook.js +25 -0
- package/src/client/components/core/Worker.js +371 -0
- package/src/client/components/core/windowGetDimensions.js +269 -0
- package/src/client/components/cyberia/BagCyberia.js +1253 -0
- package/src/client/components/cyberia/BiomeCyberia.js +130 -0
- package/src/client/components/cyberia/CharacterCyberia.js +321 -0
- package/src/client/components/cyberia/CommonCyberia.js +1834 -0
- package/src/client/components/cyberia/CssCyberia.js +816 -0
- package/src/client/components/cyberia/ElementPreviewCyberia.js +183 -0
- package/src/client/components/cyberia/ElementsCyberia.js +146 -0
- package/src/client/components/cyberia/InteractionPanelCyberia.js +1043 -0
- package/src/client/components/cyberia/JoyStickCyberia.js +53 -0
- package/src/client/components/cyberia/LogInCyberia.js +68 -0
- package/src/client/components/cyberia/LogOutCyberia.js +24 -0
- package/src/client/components/cyberia/MainUserCyberia.js +424 -0
- package/src/client/components/cyberia/MapCyberia.js +160 -0
- package/src/client/components/cyberia/MatrixCyberia.js +147 -0
- package/src/client/components/cyberia/MenuCyberia.js +575 -0
- package/src/client/components/cyberia/PixiCyberia.js +1639 -0
- package/src/client/components/cyberia/PointAndClickMovementCyberia.js +146 -0
- package/src/client/components/cyberia/QuestCyberia.js +1420 -0
- package/src/client/components/cyberia/RoutesCyberia.js +47 -0
- package/src/client/components/cyberia/SettingsCyberia.js +16 -0
- package/src/client/components/cyberia/SignUpCyberia.js +14 -0
- package/src/client/components/cyberia/SkillCyberia.js +124 -0
- package/src/client/components/cyberia/SocketIoCyberia.js +211 -0
- package/src/client/components/cyberia/TileCyberia.js +685 -0
- package/src/client/components/cyberia/TranslateCyberia.js +96 -0
- package/src/client/components/cyberia/UniverseCyberia.js +14 -0
- package/src/client/components/cyberia/WebhookCyberia.js +13 -0
- package/src/client/components/cyberia/WikiCyberia.js +144 -0
- package/src/client/components/cyberia/WorldCyberia.js +680 -0
- package/src/client/components/cyberia-admin/BiomeCyberiaAdmin.js +978 -0
- package/src/client/components/cyberia-admin/CommonCyberiaAdmin.js +29 -0
- package/src/client/components/cyberia-admin/CssCyberiaAdmin.js +15 -0
- package/src/client/components/cyberia-admin/ElementsCyberiaAdmin.js +38 -0
- package/src/client/components/cyberia-admin/InstanceEngineCyberiaAdmin.js +180 -0
- package/src/client/components/cyberia-admin/LogInCyberiaAdmin.js +34 -0
- package/src/client/components/cyberia-admin/LogOutCyberiaAdmin.js +24 -0
- package/src/client/components/cyberia-admin/MenuCyberiaAdmin.js +660 -0
- package/src/client/components/cyberia-admin/RoutesCyberiaAdmin.js +57 -0
- package/src/client/components/cyberia-admin/ServerCyberiaAdmin.js +129 -0
- package/src/client/components/cyberia-admin/SettingsCyberiaAdmin.js +16 -0
- package/src/client/components/cyberia-admin/SignUpCyberiaAdmin.js +11 -0
- package/src/client/components/cyberia-admin/SocketIoCyberiaAdmin.js +53 -0
- package/src/client/components/cyberia-admin/TranslateCyberiaAdmin.js +7 -0
- package/src/client/components/cyberia-biome/CityCyberiaBiome.js +209 -0
- package/src/client/components/cyberia-biome/CityInteriorCyberiaBiome.js +253 -0
- package/src/client/components/cyberia-biome/ColorChaosCyberiaBiome.js +26 -0
- package/src/client/components/cyberia-biome/ForestCyberiaBiome.js +191 -0
- package/src/client/components/cyberia-biome/GridBaseCyberiaBiome.js +364 -0
- package/src/client/components/cyberia-biome/SeedCityCyberiaBiome.js +347 -0
- package/src/client/components/cyberia-biome/ShopCyberiaBiome.js +12 -0
- package/src/client/components/cyberia-biome/SpaceCyberiaBiome.js +58 -0
- package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +29 -0
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +132 -0
- package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +38 -0
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +18 -0
- package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +12 -0
- package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +487 -0
- package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +45 -0
- package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +136 -0
- package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +16 -0
- package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +11 -0
- package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +52 -0
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +12 -0
- package/src/client/components/default/CommonDefault.js +29 -0
- package/src/client/components/default/CssDefault.js +27 -0
- package/src/client/components/default/ElementsDefault.js +38 -0
- package/src/client/components/default/LogInDefault.js +14 -0
- package/src/client/components/default/LogOutDefault.js +10 -0
- package/src/client/components/default/MenuDefault.js +743 -0
- package/src/client/components/default/RoutesDefault.js +48 -0
- package/src/client/components/default/SettingsDefault.js +16 -0
- package/src/client/components/default/SignUpDefault.js +9 -0
- package/src/client/components/default/SocketIoDefault.js +54 -0
- package/src/client/components/default/TranslateDefault.js +7 -0
- package/src/client/public/default/android-chrome-144x144.png +0 -0
- package/src/client/public/default/android-chrome-192x192.png +0 -0
- package/src/client/public/default/android-chrome-256x256.png +0 -0
- package/src/client/public/default/android-chrome-36x36.png +0 -0
- package/src/client/public/default/android-chrome-384x384.png +0 -0
- package/src/client/public/default/android-chrome-48x48.png +0 -0
- package/src/client/public/default/android-chrome-512x512.png +0 -0
- package/src/client/public/default/android-chrome-72x72.png +0 -0
- package/src/client/public/default/android-chrome-96x96.png +0 -0
- package/src/client/public/default/apple-touch-icon-1024x1024.png +0 -0
- package/src/client/public/default/apple-touch-icon-114x114-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
- package/src/client/public/default/apple-touch-icon-152x152-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
- package/src/client/public/default/apple-touch-icon-167x167.png +0 -0
- package/src/client/public/default/apple-touch-icon-180x180-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
- package/src/client/public/default/apple-touch-icon-76x76-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
- package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1125x2436.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1136x640.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1170x2532.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1179x2556.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1242x2208.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1242x2688.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1284x2778.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1290x2796.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1334x750.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1488x2266.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1536x2048.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1620x2160.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1640x2160.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1668x2224.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1668x2388.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1792x828.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2048x1536.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2048x2732.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2160x1620.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2160x1640.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2208x1242.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2224x1668.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2266x1488.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2388x1668.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2436x1125.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2532x1170.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2556x1179.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2688x1242.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2732x2048.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2778x1284.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2796x1290.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-640x1136.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-750x1334.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-828x1792.png +0 -0
- package/src/client/public/default/assets/background/dark.jpg +0 -0
- package/src/client/public/default/assets/background/dark.svg +557 -0
- package/src/client/public/default/assets/background/white.jpg +0 -0
- package/src/client/public/default/assets/background/white0-min.jpg +0 -0
- package/src/client/public/default/assets/background/white0.jpg +0 -0
- package/src/client/public/default/assets/logo/base-icon.png +0 -0
- package/src/client/public/default/assets/logo/underpost.gif +0 -0
- package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-default-avatar.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
- package/src/client/public/default/browserconfig.xml +12 -0
- package/src/client/public/default/favicon-16x16.png +0 -0
- package/src/client/public/default/favicon-32x32.png +0 -0
- package/src/client/public/default/favicon-48x48.png +0 -0
- package/src/client/public/default/favicon.ico +0 -0
- package/src/client/public/default/manifest.webmanifest +69 -0
- package/src/client/public/default/mstile-144x144.png +0 -0
- package/src/client/public/default/mstile-150x150.png +0 -0
- package/src/client/public/default/mstile-310x150.png +0 -0
- package/src/client/public/default/mstile-310x310.png +0 -0
- package/src/client/public/default/mstile-70x70.png +0 -0
- package/src/client/public/default/plantuml/client-conf.svg +1 -0
- package/src/client/public/default/plantuml/client-schema.svg +1 -0
- package/src/client/public/default/plantuml/cron-conf.svg +1 -0
- package/src/client/public/default/plantuml/cron-schema.svg +1 -0
- package/src/client/public/default/plantuml/server-conf.svg +1 -0
- package/src/client/public/default/plantuml/server-schema.svg +1 -0
- package/src/client/public/default/plantuml/ssr-conf.svg +1 -0
- package/src/client/public/default/plantuml/ssr-schema.svg +1 -0
- package/src/client/public/default/safari-pinned-tab.svg +24 -0
- package/src/client/public/default/site.webmanifest +69 -0
- package/src/client/public/default/sitemap +148 -0
- package/src/client/public/default/yandex-browser-50x50.png +0 -0
- package/src/client/public/default/yandex-browser-manifest.json +9 -0
- package/src/client/public/doc/favicon.ico +0 -0
- package/src/client/public/doc/sitemap +148 -0
- package/src/client/public/test/favicon.ico +0 -0
- package/src/client/public/test/sitemap +148 -0
- package/src/client/services/blockchain/blockchain.service.js +73 -0
- package/src/client/services/core/core.service.js +165 -0
- package/src/client/services/crypto/crypto.service.js +73 -0
- package/src/client/services/default/default.management.js +450 -0
- package/src/client/services/default/default.service.js +98 -0
- package/src/client/services/document/document.service.js +97 -0
- package/src/client/services/file/file.service.js +72 -0
- package/src/client/services/instance/instance.management.js +78 -0
- package/src/client/services/instance/instance.service.js +97 -0
- package/src/client/services/ipfs/ipfs.service.js +73 -0
- package/src/client/services/object-layer/object-layer.service.js +93 -0
- package/src/client/services/test/test.service.js +73 -0
- package/src/client/services/user/user.management.js +56 -0
- package/src/client/services/user/user.service.js +108 -0
- package/src/client/ssr/Render.js +237 -0
- package/src/client/ssr/body/404.js +73 -0
- package/src/client/ssr/body/500.js +72 -0
- package/src/client/ssr/body/CacheControl.js +114 -0
- package/src/client/ssr/body/CyberiaDefaultSplashScreen.js +90 -0
- package/src/client/ssr/body/CyberiaSplashScreenLore.js +424 -0
- package/src/client/ssr/body/DefaultSplashScreen.js +90 -0
- package/src/client/ssr/email/DefaultRecoverEmail.js +21 -0
- package/src/client/ssr/email/DefaultVerifyEmail.js +17 -0
- package/src/client/ssr/head/Css.js +241 -0
- package/src/client/ssr/head/CyberiaAdminScripts.js +6 -0
- package/src/client/ssr/head/CyberiaPortalScripts.js +6 -0
- package/src/client/ssr/head/CyberiaScripts.js +6 -0
- package/src/client/ssr/head/DefaultScripts.js +6 -0
- package/src/client/ssr/head/Microdata.js +11 -0
- package/src/client/ssr/head/Production.js +1 -0
- package/src/client/ssr/head/Pwa.js +146 -0
- package/src/client/ssr/head/Seo.js +15 -0
- package/src/client/ssr/mailer/DefaultRecoverEmail.js +21 -0
- package/src/client/ssr/mailer/DefaultVerifyEmail.js +17 -0
- package/src/client/ssr/offline/Maintenance.js +63 -0
- package/src/client/ssr/offline/NoNetworkConnection.js +67 -0
- package/src/client/ssr/pages/404.js +12 -0
- package/src/client/ssr/pages/500.js +12 -0
- package/src/client/ssr/pages/Test.js +198 -0
- package/src/client/ssr/pages/maintenance.js +14 -0
- package/src/client/ssr/pages/offline.js +21 -0
- package/src/client/sw/default.sw.js +108 -0
- package/src/client/sw/template.sw.js +84 -0
- package/src/client.build.js +22 -0
- package/src/client.dev.js +24 -0
- package/src/db/DataBaseProvider.js +98 -0
- package/src/db/mariadb/MariaDB.js +66 -0
- package/src/db/mongo/MongooseDB.js +70 -0
- package/src/index.js +198 -0
- package/src/mailer/EmailRender.js +116 -0
- package/src/mailer/MailerProvider.js +213 -0
- package/src/monitor.js +24 -0
- package/src/proxy.js +22 -0
- package/src/runtime/express/Express.js +256 -0
- package/src/runtime/lampp/Dockerfile +50 -0
- package/src/runtime/lampp/Lampp.js +343 -0
- package/src/server/auth.js +689 -0
- package/src/server/backup.js +96 -0
- package/src/server/client-build-docs.js +205 -0
- package/src/server/client-build-live.js +109 -0
- package/src/server/client-build.js +690 -0
- package/src/server/client-dev-server.js +87 -0
- package/src/server/client-formatted.js +87 -0
- package/src/server/client-icons.js +108 -0
- package/src/server/conf.js +1071 -0
- package/src/server/crypto.js +210 -0
- package/src/server/dns.js +276 -0
- package/src/server/downloader.js +74 -0
- package/src/server/json-schema.js +77 -0
- package/src/server/logger.js +197 -0
- package/src/server/network.js +72 -0
- package/src/server/object-layer.js +294 -0
- package/src/server/peer.js +69 -0
- package/src/server/process.js +171 -0
- package/src/server/proxy.js +110 -0
- package/src/server/runtime.js +170 -0
- package/src/server/ssr.js +127 -0
- package/src/server/start.js +161 -0
- package/src/server/tls.js +251 -0
- package/src/server/valkey.js +293 -0
- package/src/server.js +25 -0
- package/src/ws/IoInterface.js +139 -0
- package/src/ws/IoServer.js +88 -0
- package/src/ws/core/channels/core.ws.chat.js +23 -0
- package/src/ws/core/channels/core.ws.mailer.js +35 -0
- package/src/ws/core/channels/core.ws.stream.js +31 -0
- package/src/ws/core/core.ws.connection.js +62 -0
- package/src/ws/core/core.ws.emit.js +53 -0
- package/src/ws/core/core.ws.server.js +76 -0
- package/src/ws/core/management/core.ws.chat.js +8 -0
- package/src/ws/core/management/core.ws.mailer.js +16 -0
- package/src/ws/core/management/core.ws.stream.js +8 -0
- package/src/ws/cyberia/channels/cyberia.ws.bot.js +56 -0
- package/src/ws/cyberia/channels/cyberia.ws.skill.js +51 -0
- package/src/ws/cyberia/channels/cyberia.ws.user.js +437 -0
- package/src/ws/cyberia/cyberia.ws.connection.js +36 -0
- package/src/ws/cyberia/cyberia.ws.emit.js +14 -0
- package/src/ws/cyberia/cyberia.ws.server.js +67 -0
- package/src/ws/cyberia/management/cyberia.ws.bot.js +669 -0
- package/src/ws/cyberia/management/cyberia.ws.skill.js +441 -0
- package/src/ws/cyberia/management/cyberia.ws.user.js +188 -0
- package/src/ws/default/channels/default.ws.main.js +16 -0
- package/src/ws/default/default.ws.connection.js +22 -0
- package/src/ws/default/default.ws.emit.js +14 -0
- package/src/ws/default/default.ws.server.js +20 -0
- package/src/ws/default/management/default.ws.main.js +8 -0
- package/test/api.test.js +53 -0
- package/test/crypto.test.js +117 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
apiVersion: v1
|
|
3
|
+
kind: ConfigMap
|
|
4
|
+
metadata:
|
|
5
|
+
name: prometheus-config
|
|
6
|
+
labels:
|
|
7
|
+
app: prometheus
|
|
8
|
+
data:
|
|
9
|
+
prometheus.yml: |
|
|
10
|
+
global:
|
|
11
|
+
scrape_interval: 30s
|
|
12
|
+
evaluation_interval: 30s
|
|
13
|
+
|
|
14
|
+
scrape_configs:
|
|
15
|
+
- job_name: 'scraper'
|
|
16
|
+
metrics_path: /metrics
|
|
17
|
+
scheme: https
|
|
18
|
+
static_configs:
|
|
19
|
+
- targets: []
|
|
20
|
+
# tls_config:
|
|
21
|
+
# insecure_skip_verify: true
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
apiVersion: apps/v1
|
|
25
|
+
kind: Deployment
|
|
26
|
+
metadata:
|
|
27
|
+
name: prometheus
|
|
28
|
+
labels:
|
|
29
|
+
app: prometheus
|
|
30
|
+
spec:
|
|
31
|
+
replicas: 1
|
|
32
|
+
selector:
|
|
33
|
+
matchLabels:
|
|
34
|
+
app: prometheus
|
|
35
|
+
template:
|
|
36
|
+
metadata:
|
|
37
|
+
labels:
|
|
38
|
+
app: prometheus
|
|
39
|
+
spec:
|
|
40
|
+
containers:
|
|
41
|
+
- name: prometheus
|
|
42
|
+
image: prom/prometheus:latest
|
|
43
|
+
args:
|
|
44
|
+
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
45
|
+
- '--storage.tsdb.path=/prometheus'
|
|
46
|
+
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
|
|
47
|
+
- '--web.console.templates=/usr/share/prometheus/consoles'
|
|
48
|
+
ports:
|
|
49
|
+
- containerPort: 9090
|
|
50
|
+
name: web
|
|
51
|
+
volumeMounts:
|
|
52
|
+
- name: prometheus-config
|
|
53
|
+
mountPath: /etc/prometheus/
|
|
54
|
+
- name: prometheus-data
|
|
55
|
+
mountPath: /prometheus
|
|
56
|
+
resources:
|
|
57
|
+
requests:
|
|
58
|
+
memory: '200Mi'
|
|
59
|
+
cpu: '100m'
|
|
60
|
+
volumes:
|
|
61
|
+
- name: prometheus-config
|
|
62
|
+
configMap:
|
|
63
|
+
name: prometheus-config
|
|
64
|
+
- name: prometheus-data
|
|
65
|
+
emptyDir: {}
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
apiVersion: v1
|
|
69
|
+
kind: Service
|
|
70
|
+
metadata:
|
|
71
|
+
name: prometheus
|
|
72
|
+
labels:
|
|
73
|
+
app: prometheus
|
|
74
|
+
spec:
|
|
75
|
+
ports:
|
|
76
|
+
- port: 9090
|
|
77
|
+
targetPort: 9090
|
|
78
|
+
protocol: TCP
|
|
79
|
+
name: web
|
|
80
|
+
selector:
|
|
81
|
+
app: prometheus
|
|
82
|
+
type: ClusterIP
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
apiVersion: apps/v1
|
|
2
|
+
kind: StatefulSet
|
|
3
|
+
metadata:
|
|
4
|
+
name: valkey-service
|
|
5
|
+
namespace: default
|
|
6
|
+
spec:
|
|
7
|
+
serviceName: valkey-service
|
|
8
|
+
replicas: 1
|
|
9
|
+
selector:
|
|
10
|
+
matchLabels:
|
|
11
|
+
app: valkey-service
|
|
12
|
+
template:
|
|
13
|
+
metadata:
|
|
14
|
+
labels:
|
|
15
|
+
app: valkey-service
|
|
16
|
+
spec:
|
|
17
|
+
automountServiceAccountToken: false
|
|
18
|
+
containers:
|
|
19
|
+
- name: valkey-service
|
|
20
|
+
image: docker.io/valkey/valkey:latest
|
|
21
|
+
imagePullPolicy: IfNotPresent
|
|
22
|
+
command: ["valkey-server"]
|
|
23
|
+
args: ["--port", "6379"]
|
|
24
|
+
ports:
|
|
25
|
+
- containerPort: 6379
|
|
26
|
+
startupProbe:
|
|
27
|
+
tcpSocket:
|
|
28
|
+
port: 6379
|
|
29
|
+
periodSeconds: 5
|
|
30
|
+
timeoutSeconds: 5
|
|
31
|
+
failureThreshold: 30
|
|
32
|
+
livenessProbe:
|
|
33
|
+
tcpSocket:
|
|
34
|
+
port: 6379
|
|
35
|
+
initialDelaySeconds: 10
|
|
36
|
+
periodSeconds: 30
|
|
37
|
+
timeoutSeconds: 5
|
|
38
|
+
failureThreshold: 2
|
package/nodemon.json
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "module",
|
|
3
|
+
"main": "src/index.js",
|
|
4
|
+
"name": "cyberia",
|
|
5
|
+
"version": "2.8.885",
|
|
6
|
+
"description": "pwa api rest template",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"start": "env-cmd -f .env.production node --max-old-space-size=8192 src/server",
|
|
9
|
+
"build": "node bin/deploy build-full-client",
|
|
10
|
+
"test": "env-cmd -f .env.test c8 mocha",
|
|
11
|
+
"pm2": "env-cmd -f .env.production pm2 start src/server.js --node-args=\"--max-old-space-size=8192\" --name engine -- dd-default",
|
|
12
|
+
"dev": "env-cmd -f .env.development nodemon src/server",
|
|
13
|
+
"dev-img": "env-cmd -f .env.development node src/server",
|
|
14
|
+
"prod-img": "env-cmd -f .env.production node src/server",
|
|
15
|
+
"monitor": "pm2 start src/monitor.js --name monitor -- dd production",
|
|
16
|
+
"dev-api": "env-cmd -f .env.development nodemon --watch src --ignore src/client src/api",
|
|
17
|
+
"dev-client": "env-cmd -f .env.development node src/client.dev",
|
|
18
|
+
"proxy": "node src/proxy proxy",
|
|
19
|
+
"docs": "jsdoc -c jsdoc.json",
|
|
20
|
+
"install-global": "npm install -g pm2 && npm install -g jsdoc && npm install -g prettier && npm install -g env-cmd && npm install -g yarn && npm install -g auto-changelog",
|
|
21
|
+
"install-test": "npm install -g mocha && npm install -g c8 && npm install -g nyc && npm install -g coveralls",
|
|
22
|
+
"install-underpost": "cp -a $(npm root -g)/underpost/node_modules ./node_modules && npm install --only=dev --ignore-scripts",
|
|
23
|
+
"install": "npm run install-global && npm run install-test",
|
|
24
|
+
"prettier": "prettier --write .",
|
|
25
|
+
"fix": "npm audit fix --force && npm audit",
|
|
26
|
+
"changelog": "auto-changelog"
|
|
27
|
+
},
|
|
28
|
+
"bin": {
|
|
29
|
+
"cyberia": "bin/index.js"
|
|
30
|
+
},
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/underpostnet/engine-cyberia.git"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"pwa",
|
|
37
|
+
"microservices",
|
|
38
|
+
"template",
|
|
39
|
+
"builder",
|
|
40
|
+
"engine",
|
|
41
|
+
"server",
|
|
42
|
+
"proxy",
|
|
43
|
+
"client"
|
|
44
|
+
],
|
|
45
|
+
"author": "https://github.com/underpostnet",
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/underpostnet/engine-cyberia/issues"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://github.com/underpostnet/engine-cyberia#readme",
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@fortawesome/fontawesome-free": "^6.4.2",
|
|
53
|
+
"@fullcalendar/rrule": "^6.1.15",
|
|
54
|
+
"@neodrag/vanilla": "^2.0.3",
|
|
55
|
+
"adm-zip": "^0.5.10",
|
|
56
|
+
"ag-grid-community": "^31.3.4",
|
|
57
|
+
"axios": "^1.5.1",
|
|
58
|
+
"chai": "^5.1.0",
|
|
59
|
+
"clean-jsdoc-theme": "^4.3.0",
|
|
60
|
+
"clipboardy": "^4.0.0",
|
|
61
|
+
"cloudinary": "^2.5.1",
|
|
62
|
+
"colors": "^1.4.0",
|
|
63
|
+
"commander": "^12.1.0",
|
|
64
|
+
"compression": "^1.7.4",
|
|
65
|
+
"cookie-parser": "^1.4.7",
|
|
66
|
+
"cors": "^2.8.5",
|
|
67
|
+
"d3": "^7.9.0",
|
|
68
|
+
"dotenv": "^16.3.1",
|
|
69
|
+
"easymde": "^2.18.0",
|
|
70
|
+
"env-cmd": "^10.1.0",
|
|
71
|
+
"express": "^4.18.2",
|
|
72
|
+
"express-fileupload": "^1.4.3",
|
|
73
|
+
"express-rate-limit": "^8.1.0",
|
|
74
|
+
"express-slow-down": "^3.0.0",
|
|
75
|
+
"favicons": "^7.2.0",
|
|
76
|
+
"fs-extra": "^11.1.1",
|
|
77
|
+
"fullcalendar": "^6.1.15",
|
|
78
|
+
"helmet": "^8.1.0",
|
|
79
|
+
"html-minifier-terser": "^7.2.0",
|
|
80
|
+
"http-proxy-middleware": "^2.0.6",
|
|
81
|
+
"ignore-walk": "^6.0.4",
|
|
82
|
+
"iovalkey": "^0.2.1",
|
|
83
|
+
"jimp": "^1.6.0",
|
|
84
|
+
"json-colorizer": "^2.2.2",
|
|
85
|
+
"jsonwebtoken": "^9.0.2",
|
|
86
|
+
"mariadb": "^3.2.2",
|
|
87
|
+
"marked": "^12.0.2",
|
|
88
|
+
"mocha": "^10.8.2",
|
|
89
|
+
"mongoose": "^8.9.5",
|
|
90
|
+
"morgan": "^1.10.0",
|
|
91
|
+
"nodemailer": "^7.0.9",
|
|
92
|
+
"nodemon": "^3.0.1",
|
|
93
|
+
"peer": "^1.0.2",
|
|
94
|
+
"peerjs": "^1.5.2",
|
|
95
|
+
"prom-client": "^15.1.2",
|
|
96
|
+
"public-ip": "^6.0.1",
|
|
97
|
+
"read": "^2.1.0",
|
|
98
|
+
"rrule": "^2.8.1",
|
|
99
|
+
"sharp": "^0.32.5",
|
|
100
|
+
"shelljs": "^0.8.5",
|
|
101
|
+
"sitemap": "^7.1.1",
|
|
102
|
+
"socket.io": "^4.8.0",
|
|
103
|
+
"sortablejs": "^1.15.0",
|
|
104
|
+
"split-file": "^2.3.0",
|
|
105
|
+
"swagger-autogen": "^2.23.7",
|
|
106
|
+
"swagger-ui-express": "^5.0.0",
|
|
107
|
+
"systeminformation": "^5.23.7",
|
|
108
|
+
"uglify-js": "^3.17.4",
|
|
109
|
+
"validator": "^13.11.0",
|
|
110
|
+
"vanilla-jsoneditor": "^2.3.2",
|
|
111
|
+
"winston": "^3.11.0"
|
|
112
|
+
},
|
|
113
|
+
"publishConfig": {
|
|
114
|
+
"provenance": true,
|
|
115
|
+
"access": "public",
|
|
116
|
+
"registry": "https://registry.npmjs.org/"
|
|
117
|
+
}
|
|
118
|
+
}
|
package/proxy.yaml
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
---
|
|
3
|
+
apiVersion: projectcontour.io/v1
|
|
4
|
+
kind: HTTPProxy
|
|
5
|
+
metadata:
|
|
6
|
+
name: www.cyberiaonline.com
|
|
7
|
+
spec:
|
|
8
|
+
virtualhost:
|
|
9
|
+
fqdn: www.cyberiaonline.com
|
|
10
|
+
routes:
|
|
11
|
+
- conditions:
|
|
12
|
+
- prefix: /
|
|
13
|
+
enableWebsockets: true
|
|
14
|
+
services:
|
|
15
|
+
- name: dd-cyberia-development-blue-service
|
|
16
|
+
port: 4005
|
|
17
|
+
weight: 100
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
apiVersion: projectcontour.io/v1
|
|
21
|
+
kind: HTTPProxy
|
|
22
|
+
metadata:
|
|
23
|
+
name: cyberiaonline.com
|
|
24
|
+
spec:
|
|
25
|
+
virtualhost:
|
|
26
|
+
fqdn: cyberiaonline.com
|
|
27
|
+
routes:
|
|
28
|
+
- conditions:
|
|
29
|
+
- prefix: /
|
|
30
|
+
enableWebsockets: true
|
|
31
|
+
services:
|
|
32
|
+
- name: dd-cyberia-development-blue-service
|
|
33
|
+
port: 4006
|
|
34
|
+
weight: 100
|
|
35
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
for iface_path in /sys/class/net/*; do
|
|
4
|
+
name=$(basename "$iface_path")
|
|
5
|
+
mac=$(< "$iface_path/address")
|
|
6
|
+
ip=$(ip -4 addr show dev "$name" \
|
|
7
|
+
| grep -oP '(?<=inet\s)\d+(\.\d+){3}' || echo "—")
|
|
8
|
+
operstate=$(< "$iface_path/operstate")
|
|
9
|
+
mtu=$(< "$iface_path/mtu")
|
|
10
|
+
|
|
11
|
+
# Driver
|
|
12
|
+
if [ -L "$iface_path/device/driver" ]; then
|
|
13
|
+
driver=$(basename "$(readlink -f "$iface_path/device/driver")")
|
|
14
|
+
else
|
|
15
|
+
driver="—"
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
# Vendor device ID PCI
|
|
19
|
+
pci_dev="$iface_path/device"
|
|
20
|
+
if [ -f "$pci_dev/vendor" ] && [ -f "$pci_dev/device" ]; then
|
|
21
|
+
vendor_id=$(< "$pci_dev/vendor")
|
|
22
|
+
device_id=$(< "$pci_dev/device")
|
|
23
|
+
# parse 0x8086 to 8086, etc.
|
|
24
|
+
vendor_id=${vendor_id#0x}
|
|
25
|
+
device_id=${device_id#0x}
|
|
26
|
+
pci="${vendor_id}:${device_id}"
|
|
27
|
+
else
|
|
28
|
+
pci="—"
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
# Link Speed
|
|
32
|
+
speed=$(cat "$iface_path/speed" 2>/dev/null || echo "—")
|
|
33
|
+
|
|
34
|
+
echo "Interface: $name"
|
|
35
|
+
echo " MAC: $mac"
|
|
36
|
+
echo " IPv4: $ip"
|
|
37
|
+
echo " State: $operstate"
|
|
38
|
+
echo " MTU: $mtu"
|
|
39
|
+
echo " Driver: $driver"
|
|
40
|
+
echo " PCI Vendor:Device ID: $pci"
|
|
41
|
+
echo " Link Speed: ${speed}Mb/s"
|
|
42
|
+
echo
|
|
43
|
+
done
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# GPUs and drivers in use
|
|
2
|
+
sudo lspci -nnk | egrep -i 'vga|3d' -A3
|
|
3
|
+
|
|
4
|
+
# modules loaded relevant
|
|
5
|
+
lsmod | egrep 'nvidia|nouveau|amdgpu' || true
|
|
6
|
+
|
|
7
|
+
# if exists nvidia tool
|
|
8
|
+
nvidia-smi 2>/dev/null || echo "nvidia-smi not found"
|
|
9
|
+
|
|
10
|
+
# kernel related errors
|
|
11
|
+
sudo dmesg | egrep -i 'nvidia|nouveau|amdgpu' --color=auto
|
|
12
|
+
|
|
13
|
+
# recent system errors / gdm / mutter / X
|
|
14
|
+
sudo journalctl -b -p err --no-pager | head -n 200
|
|
15
|
+
journalctl -b _COMM=gdm --no-pager | tail -n 200
|
|
16
|
+
journalctl -b _COMM=Xorg --no-pager | tail -n 200
|
|
17
|
+
|
|
18
|
+
# X log (if exists)
|
|
19
|
+
sudo grep -E "(EE|WW|NVIDIA|nouveau|amdgpu)" /var/log/Xorg.0.log || true
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
# Install jq for JSON parsing
|
|
5
|
+
sudo snap install jq
|
|
6
|
+
|
|
7
|
+
# Install MAAS
|
|
8
|
+
sudo snap install maas
|
|
9
|
+
|
|
10
|
+
# Get default interface and IP address
|
|
11
|
+
INTERFACE=$(ip route | grep default | awk '{print $5}')
|
|
12
|
+
IP_ADDRESS=$(ip -4 addr show dev "$INTERFACE" | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
|
|
13
|
+
|
|
14
|
+
# Change to the engine directory (assuming this is where your MAAS related configs are)
|
|
15
|
+
cd /home/dd/engine
|
|
16
|
+
|
|
17
|
+
# Load secrets for MAAS database and admin credentials
|
|
18
|
+
underpost secret underpost --create-from-file /home/dd/engine/engine-private/conf/dd-cron/.env.production
|
|
19
|
+
|
|
20
|
+
# Extract configuration values from secrets
|
|
21
|
+
DB_PG_MAAS_USER=$(node bin config get --plain DB_PG_MAAS_USER)
|
|
22
|
+
DB_PG_MAAS_PASS=$(node bin config get --plain DB_PG_MAAS_PASS)
|
|
23
|
+
DB_PG_MAAS_HOST=$(node bin config get --plain DB_PG_MAAS_HOST)
|
|
24
|
+
DB_PG_MAAS_NAME=$(node bin config get --plain DB_PG_MAAS_NAME)
|
|
25
|
+
|
|
26
|
+
MAAS_ADMIN_USERNAME=$(node bin config get --plain MAAS_ADMIN_USERNAME)
|
|
27
|
+
MAAS_ADMIN_EMAIL=$(node bin config get --plain MAAS_ADMIN_EMAIL)
|
|
28
|
+
MAAS_ADMIN_PASS=$(node bin config get --plain MAAS_ADMIN_PASS)
|
|
29
|
+
|
|
30
|
+
# Initialize MAAS region+rack controller
|
|
31
|
+
maas init region+rack \
|
|
32
|
+
--database-uri "postgres://${DB_PG_MAAS_USER}:${DB_PG_MAAS_PASS}@${DB_PG_MAAS_HOST}/${DB_PG_MAAS_NAME}" \
|
|
33
|
+
--maas-url http://${IP_ADDRESS}:5240/MAAS
|
|
34
|
+
|
|
35
|
+
# Allow MAAS to initialize (wait for services to come up)
|
|
36
|
+
echo "Waiting for MAAS to initialize..."
|
|
37
|
+
sleep 30
|
|
38
|
+
|
|
39
|
+
# Create MAAS administrator account
|
|
40
|
+
maas createadmin \
|
|
41
|
+
--username "$MAAS_ADMIN_USERNAME" \
|
|
42
|
+
--password "$MAAS_ADMIN_PASS" \
|
|
43
|
+
--email "$MAAS_ADMIN_EMAIL"
|
|
44
|
+
|
|
45
|
+
# Get the API key for the admin user
|
|
46
|
+
APIKEY=$(maas apikey --username "$MAAS_ADMIN_USERNAME")
|
|
47
|
+
|
|
48
|
+
# Login to MAAS using the admin profile
|
|
49
|
+
echo "Logging into MAAS..."
|
|
50
|
+
maas login "$MAAS_ADMIN_USERNAME" "http://localhost:5240/MAAS/" "$APIKEY"
|
|
51
|
+
|
|
52
|
+
# Set upstream DNS for MAAS
|
|
53
|
+
echo "Setting upstream DNS to 8.8.8.8..."
|
|
54
|
+
maas "$MAAS_ADMIN_USERNAME" maas set-config name=upstream_dns value=8.8.8.8
|
|
55
|
+
|
|
56
|
+
# echo "Downloading Ubuntu Noble amd64/ga-24.04 image..."
|
|
57
|
+
# maas $MAAS_ADMIN_USERNAME boot-source-selections create 1 \
|
|
58
|
+
# os="ubuntu" release="noble" arches="amd64" \
|
|
59
|
+
# subarches="ga-24.04" labels="*"
|
|
60
|
+
|
|
61
|
+
# echo "Downloading Ubuntu Noble arm64/ga-24.04 image..."
|
|
62
|
+
# maas $MAAS_ADMIN_USERNAME boot-source-selections create 1 \
|
|
63
|
+
# os="ubuntu" release="noble" arches="arm64" \
|
|
64
|
+
# subarches="ga-24.04" labels="*"
|
|
65
|
+
|
|
66
|
+
# Import the newly selected boot images
|
|
67
|
+
# echo "Importing boot images (this may take some time)..."
|
|
68
|
+
# maas "$MAAS_ADMIN_USERNAME" boot-resources import
|
|
69
|
+
|
|
70
|
+
# Disable the MAAS HTTP proxy
|
|
71
|
+
echo "Disabling MAAS HTTP proxy..."
|
|
72
|
+
maas "$MAAS_ADMIN_USERNAME" maas set-config name=enable_http_proxy value=false
|
|
73
|
+
|
|
74
|
+
# Disable DNSSEC validation
|
|
75
|
+
echo "Disabling DNSSEC validation..."
|
|
76
|
+
maas "$MAAS_ADMIN_USERNAME" maas set-config name=dnssec_validation value=no
|
|
77
|
+
|
|
78
|
+
# Set network discovery interval to 10 minutes (600 seconds)
|
|
79
|
+
echo "Setting network discovery interval to 10 minutes..."
|
|
80
|
+
maas "$MAAS_ADMIN_USERNAME" maas set-config name=active_discovery_interval value=600
|
|
81
|
+
|
|
82
|
+
SSH_KEY=$(cat ~/.ssh/id_rsa.pub)
|
|
83
|
+
maas $MAAS_ADMIN_USERNAME sshkeys create "key=$SSH_KEY"
|
|
84
|
+
|
|
85
|
+
echo "MAAS setup script completed with new configurations."
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
# maas $MAAS_ADMIN_USERNAME maas set-config name=default_storage_layout value=lvm
|
|
89
|
+
# maas $MAAS_ADMIN_USERNAME maas set-config name=network_discovery value=disabled
|
|
90
|
+
# maas $MAAS_ADMIN_USERNAME maas set-config name=enable_analytics value=false
|
|
91
|
+
# maas $MAAS_ADMIN_USERNAME maas set-config name=enable_third_party_drivers value=false
|
|
92
|
+
# maas $MAAS_ADMIN_USERNAME maas set-config name=curtin_verbose value=true
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
echo "Configuring DHCP for fabric-1 (untagged VLAN)..."
|
|
97
|
+
|
|
98
|
+
# Get the FABRIC_ID for "fabric-1"
|
|
99
|
+
SUBNET_CIDR="192.168.1.0/24"
|
|
100
|
+
SUBNET_ID=$(maas "$MAAS_ADMIN_USERNAME" subnets read | jq -r '.[] | select(.cidr == "'"$SUBNET_CIDR"'") | .id')
|
|
101
|
+
FABRIC_ID=$(maas "$MAAS_ADMIN_USERNAME" fabrics read | jq -r '.[] | select(.name == "fabric-1") | .id')
|
|
102
|
+
RACK_CONTROLLER_ID=$(maas "$MAAS_ADMIN_USERNAME" rack-controllers read | jq -r '.[] | select(.ip_addresses[] == "'"$IP_ADDRESS"'") | .system_id')
|
|
103
|
+
START_IP="192.168.1.191"
|
|
104
|
+
END_IP="192.168.1.254"
|
|
105
|
+
|
|
106
|
+
if [ -z "$FABRIC_ID" ]; then
|
|
107
|
+
echo "Error: Could not find FABRIC_ID for 'fabric-1'. Please ensure 'fabric-1' exists in MAAS."
|
|
108
|
+
exit 1
|
|
109
|
+
fi
|
|
110
|
+
|
|
111
|
+
# Create a Dynamic IP Range for enlistment, commissioning, and deployment
|
|
112
|
+
echo "Creating dynamic IP range from $START_IP to $END_IP..."
|
|
113
|
+
maas "$MAAS_ADMIN_USERNAME" ipranges create type=dynamic start_ip="$START_IP" end_ip="$END_IP"
|
|
114
|
+
|
|
115
|
+
# Enable DHCP on the untagged VLAN (VLAN tag 0)
|
|
116
|
+
echo "Enabling DHCP on VLAN 0 for fabric-1 (ID: $FABRIC_ID)..."
|
|
117
|
+
maas "$MAAS_ADMIN_USERNAME" vlan update "$FABRIC_ID" 0 dhcp_on=true primary_rack="$RACK_CONTROLLER_ID"
|
|
118
|
+
|
|
119
|
+
echo "Setting gateway IP for subnet $SUBNET_CIDR (ID: $SUBNET_ID) to $IP_ADDRESS..."
|
|
120
|
+
maas "$MAAS_ADMIN_USERNAME" subnet update $SUBNET_ID gateway_ip=$IP_ADDRESS
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
# Disable firewalld
|
|
5
|
+
sudo systemctl disable --now iptables
|
|
6
|
+
sudo systemctl disable --now ufw
|
|
7
|
+
sudo systemctl disable --now firewalld
|
|
8
|
+
|
|
9
|
+
|
|
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
|
+
# ---
|
|
16
|
+
|
|
17
|
+
sudo sysctl -p
|
|
18
|
+
|
|
19
|
+
# Accept all traffic
|
|
20
|
+
sudo iptables -P INPUT ACCEPT
|
|
21
|
+
sudo iptables -P FORWARD ACCEPT
|
|
22
|
+
sudo iptables -P OUTPUT ACCEPT
|
|
23
|
+
|
|
24
|
+
# List iptables rules and forwarding flag
|
|
25
|
+
sudo iptables -L -n
|
|
26
|
+
sysctl net.ipv4.ip_forward net.ipv6.conf.all.forwarding
|
package/scripts/nvim.sh
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
sudo dnf install -y neovim
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
sudo rm -rf ~/.config/nvim
|
|
8
|
+
sudo rm -rf ~/.local/share/nvim
|
|
9
|
+
|
|
10
|
+
mkdir -p ~/.config/nvim
|
|
11
|
+
mkdir -p ~/.local/share/nvim/site/autoload
|
|
12
|
+
|
|
13
|
+
# Install vim-plug for Neovim
|
|
14
|
+
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
|
|
15
|
+
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
16
|
+
|
|
17
|
+
# Create an init.vim with nvim-tree.lua + web-devicons + gruvbox (theme)
|
|
18
|
+
cat > ~/.config/nvim/init.vim <<'EOF'
|
|
19
|
+
" Minimal init.vim to use nvim-tree.lua + gruvbox theme via vim-plug
|
|
20
|
+
|
|
21
|
+
" --- vim-plug manager
|
|
22
|
+
call plug#begin('~/.local/share/nvim/plugged')
|
|
23
|
+
|
|
24
|
+
" file explorer (nvim-tree)
|
|
25
|
+
Plug 'nvim-tree/nvim-tree.lua'
|
|
26
|
+
Plug 'nvim-tree/nvim-web-devicons' " optional: file icons
|
|
27
|
+
|
|
28
|
+
" colorscheme
|
|
29
|
+
Plug 'morhetz/gruvbox'
|
|
30
|
+
|
|
31
|
+
" sensible defaults, optional
|
|
32
|
+
Plug 'tpope/vim-sensible'
|
|
33
|
+
|
|
34
|
+
call plug#end()
|
|
35
|
+
|
|
36
|
+
" --- UI settings
|
|
37
|
+
syntax on
|
|
38
|
+
filetype plugin indent on
|
|
39
|
+
set number
|
|
40
|
+
set relativenumber
|
|
41
|
+
if has('termguicolors')
|
|
42
|
+
set termguicolors
|
|
43
|
+
endif
|
|
44
|
+
set background=dark
|
|
45
|
+
|
|
46
|
+
" gruvbox options (optional)
|
|
47
|
+
let g:gruvbox_contrast_dark = 'soft'
|
|
48
|
+
colorscheme gruvbox
|
|
49
|
+
|
|
50
|
+
" --- nvim-tree configuration (Lua block)
|
|
51
|
+
lua << 'LUA'
|
|
52
|
+
-- safe require
|
|
53
|
+
local ok, tree = pcall(require, "nvim-tree")
|
|
54
|
+
if not ok then
|
|
55
|
+
return
|
|
56
|
+
end
|
|
57
|
+
tree.setup{
|
|
58
|
+
view = {
|
|
59
|
+
width = 30,
|
|
60
|
+
side = "left",
|
|
61
|
+
preserve_window_proportions = true,
|
|
62
|
+
},
|
|
63
|
+
renderer = {
|
|
64
|
+
indent_markers = { enable = true },
|
|
65
|
+
},
|
|
66
|
+
actions = {
|
|
67
|
+
open_file = {
|
|
68
|
+
quit_on_open = false,
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
LUA
|
|
73
|
+
|
|
74
|
+
" --- mappings: Ctrl-n toggles nvim-tree
|
|
75
|
+
nnoremap <C-n> :NvimTreeToggle<CR>
|
|
76
|
+
|
|
77
|
+
" Open nvim-tree on startup when opening nvim with no file args
|
|
78
|
+
autocmd StdinReadPre * let s:std_in=1
|
|
79
|
+
autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NvimTreeToggle | wincmd p | endif
|
|
80
|
+
EOF
|
|
81
|
+
|
|
82
|
+
# Fix permissions in case something was left owned by root (happens if you used sudo on these paths before)
|
|
83
|
+
sudo chown -R "$USER":"$USER" ~/.config/nvim ~/.local/share/nvim 2>/dev/null || true
|
|
84
|
+
|
|
85
|
+
# Install plugins automatically (non-interactive)
|
|
86
|
+
nvim +PlugInstall +qall
|
|
87
|
+
|
|
88
|
+
echo
|
|
89
|
+
echo "Done. Plugins installed."
|
|
90
|
+
echo "Run 'nvim' and press Ctrl-n to toggle the file tree."
|
|
91
|
+
echo "If colorscheme is not correct, ensure your terminal supports truecolor and TERM is xterm-256color."
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# cleanup-snap.sh
|
|
3
|
+
# Remove all disabled snap revisions to free up disk space.
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Ensure we’re running as root
|
|
8
|
+
if [[ $EUID -ne 0 ]]; then
|
|
9
|
+
echo "Please run this script with sudo or as root."
|
|
10
|
+
exit 1
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
echo "Gathering list of snaps with disabled revisions..."
|
|
14
|
+
snap list --all \
|
|
15
|
+
| awk '/disabled/ {print $1, $3}' \
|
|
16
|
+
| while read -r pkg rev; do
|
|
17
|
+
echo " -> Removing $pkg (revision $rev)..."
|
|
18
|
+
snap remove "$pkg" --revision="$rev"
|
|
19
|
+
done
|
|
20
|
+
|
|
21
|
+
echo "Cleanup complete."
|
|
22
|
+
echo
|
|
23
|
+
echo "Tip: Limit how many revisions Snap retains by setting:"
|
|
24
|
+
echo " sudo snap set system refresh.retain=2"
|
|
25
|
+
echo "Then apply with:"
|
|
26
|
+
echo " sudo snap refresh"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
REMOTE_USER=$(node bin config get --plain DEFAULT_SSH_USER)
|
|
5
|
+
REMOTE_HOST=$(node bin config get --plain DEFAULT_SSH_HOST)
|
|
6
|
+
SSH_KEY=$(node bin config get --plain DEFAULT_SSH_KEY_PATH)
|
|
7
|
+
|
|
8
|
+
chmod 600 "$SSH_KEY"
|
|
9
|
+
|
|
10
|
+
ssh -i "$SSH_KEY" -o BatchMode=yes "${REMOTE_USER}@${REMOTE_HOST}" sh <<EOF
|
|
11
|
+
cd /home/dd/engine
|
|
12
|
+
node bin deploy dd production --info-traffic
|
|
13
|
+
kubectl get pods -A
|
|
14
|
+
EOF
|