@underpostnet/cyberia 3.3.0 → 3.3.76
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 +1 -0
- package/.env.example +17 -5
- package/.github/workflows/coverall.cyberia.ci.yml +39 -14
- package/.github/workflows/cyberia-client.cd.yml +5 -0
- package/.github/workflows/cyberia-server.cd.yml +5 -0
- package/.github/workflows/docker-image.cyberia-client.ci.yml +8 -5
- package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +8 -3
- package/.github/workflows/docker-image.cyberia-server.ci.yml +8 -5
- package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +8 -5
- package/.github/workflows/docker-image.engine-cyberia.ci.yml +15 -1
- package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +15 -1
- package/.github/workflows/engine-cyberia.cd.yml +3 -0
- package/.github/workflows/engine-cyberia.ci.yml +4 -5
- package/.github/workflows/ghpkg.ci.yml +35 -20
- package/.github/workflows/hardhat.ci.yml +12 -11
- package/.github/workflows/npmpkg.ci.yml +17 -15
- package/.github/workflows/publish.cyberia.ci.yml +44 -0
- package/.github/workflows/pwa-microservices-template-test.ci.yml +2 -2
- package/.github/workflows/release.cd.yml +1 -0
- package/.prettierignore +1 -0
- package/AGENTS.md +96 -0
- package/CHANGELOG.md +653 -2513
- package/CLI-HELP.md +323 -157
- package/Dockerfile +25 -9
- package/Dockerfile.dev +25 -9
- package/Dockerfile.test +5 -5
- package/README.md +48 -28
- package/bin/build.js +86 -41
- package/bin/build.template.js +8 -3
- package/bin/cyberia.js +1494 -1403
- package/bin/deploy.js +18 -104
- package/bin/index.js +1494 -1403
- package/compose.env +17 -5
- package/conf.js +98 -7
- package/deploy/cyberia-client/deploy.sh +46 -0
- package/deploy/cyberia-client/package.sh +17 -0
- package/deploy/cyberia-client/state.sh +15 -0
- package/deploy/cyberia-server/deploy.sh +46 -0
- package/deploy/cyberia-server/package.sh +17 -0
- package/deploy/cyberia-server/state.sh +15 -0
- package/deploy/dd-cyberia/deploy.sh +9 -29
- package/deploy/dd-cyberia/init.sh +38 -45
- package/deploy/dd-cyberia/package.sh +16 -0
- package/deploy/dd-cyberia/state.sh +14 -0
- package/deploy/dd-cyberia/sync-deploy.sh +133 -147
- package/deploy/lib/config.sh +29 -0
- package/deploy/lib/github-actions-logging.sh +610 -0
- package/deploy/lib/host.sh +194 -0
- package/deploy/lib/state.sh +65 -0
- package/deploy/pwa-microservices-template/deploy.sh +17 -42
- package/deploy/release/deploy.sh +9 -41
- package/deployment.yaml +7 -2
- package/docker-compose.yml +23 -17
- package/examples/static-page/README.md +19 -19
- package/examples/static-page/ssr-components/CustomPage.js +2 -2
- package/hardhat/hardhat.config.js +1 -6
- package/hardhat/package-lock.json +101 -40
- package/hardhat/package.json +2 -2
- package/manifests/alertmanager/deployment.yaml +81 -0
- package/manifests/blackbox-exporter/deployment.yaml +75 -0
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +32 -7
- package/manifests/cronjobs/dd-cron/dd-cron-vultr.yaml +32 -7
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +7 -2
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/mongo-express/deployment.yaml +46 -27
- package/manifests/deployment/mongo-express/kustomization.yaml +9 -0
- package/manifests/deployment/mongo-express/mongo-express-nodeport.yaml +18 -0
- package/manifests/deployment/mongo-express/service.yaml +16 -0
- package/manifests/deployment/mongo-express-no-auth/disable-mongodb-auth.yaml +16 -0
- package/manifests/deployment/mongo-express-no-auth/kustomization.yaml +16 -0
- package/manifests/grafana/deployment.yaml +26 -7
- package/manifests/grafana/kustomization.yaml +1 -0
- package/manifests/grafana/service.yaml +6 -1
- package/manifests/mariadb/pv.yaml +1 -0
- package/manifests/mongodb/statefulset.yaml +9 -2
- package/manifests/mysql/pv-pvc.yaml +14 -1
- package/manifests/postgresql/pv.yaml +12 -1
- package/manifests/postgresql/pvc.yaml +1 -0
- package/manifests/prometheus/deployment.yaml +18 -22
- package/package.json +87 -12
- package/scripts/event-monitor.sh +56 -0
- package/scripts/k3s-node-setup.sh +27 -14
- package/scripts/kubeadm-node-setup.sh +31 -11
- package/scripts/maas-setup.sh +8 -8
- package/scripts/selinux-normalize.sh +907 -0
- package/scripts/shutdown-machine.sh +843 -0
- package/scripts/test-monitor.sh +5 -5
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +15 -10
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +36 -5
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +7 -2
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +90 -186
- package/src/api/core/core.controller.js +1 -1
- package/src/api/core/core.router.js +2 -2
- package/src/api/core/core.service.js +2 -2
- package/src/api/crypto/crypto.controller.js +1 -1
- package/src/api/crypto/crypto.service.js +1 -1
- package/src/api/cyberia-action/cyberia-action.controller.js +1 -1
- package/src/api/cyberia-action/cyberia-action.router.js +3 -3
- package/src/api/cyberia-action/cyberia-action.service.js +5 -6
- package/src/api/cyberia-audio/cyberia-audio.controller.js +6 -0
- package/src/api/cyberia-audio/cyberia-audio.model.js +61 -0
- package/src/api/cyberia-audio/cyberia-audio.router.js +21 -0
- package/src/api/cyberia-audio/cyberia-audio.service.js +220 -0
- package/src/api/cyberia-client-hints/cyberia-client-hints.controller.js +2 -4
- package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +10 -19
- package/src/api/cyberia-client-hints/cyberia-client-hints.router.js +13 -35
- package/src/api/cyberia-client-hints/cyberia-client-hints.service.js +17 -34
- package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +1 -1
- package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +1 -1
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +2 -2
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +2 -2
- package/src/api/cyberia-entity/cyberia-entity.controller.js +1 -1
- package/src/api/cyberia-entity/cyberia-entity.model.js +2 -0
- package/src/api/cyberia-entity/cyberia-entity.router.js +1 -1
- package/src/api/cyberia-entity/cyberia-entity.service.js +3 -3
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +8 -2
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.model.js +31 -20
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +17 -2
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +468 -5
- package/src/api/cyberia-instance/cyberia-fallback-capture.js +502 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +29 -40
- package/src/api/cyberia-instance/cyberia-instance-boot.service.js +5 -5
- package/src/api/cyberia-instance/cyberia-instance-items.js +98 -0
- package/src/api/cyberia-instance/cyberia-instance-map.service.js +35 -142
- package/src/api/cyberia-instance/cyberia-instance.controller.js +2 -5
- package/src/api/cyberia-instance/cyberia-instance.model.js +0 -14
- package/src/api/cyberia-instance/cyberia-instance.router.js +5 -18
- package/src/api/cyberia-instance/cyberia-instance.service.js +5 -45
- package/src/api/cyberia-instance/cyberia-world-generator.js +8 -13
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +1 -1
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +49 -75
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +1 -1
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +76 -3
- package/src/api/cyberia-map/cyberia-map.controller.js +1 -1
- package/src/api/cyberia-map/cyberia-map.router.js +1 -1
- package/src/api/cyberia-map/cyberia-map.service.js +8 -4
- package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.controller.js +31 -0
- package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.model.js +56 -0
- package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.router.js +33 -0
- package/src/api/cyberia-map-audio-conf/cyberia-map-audio-conf.service.js +189 -0
- package/src/api/cyberia-quest/cyberia-quest.controller.js +1 -1
- package/src/api/cyberia-quest/cyberia-quest.router.js +4 -4
- package/src/api/cyberia-quest/cyberia-quest.service.js +5 -5
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +1 -1
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +1 -1
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +1 -1
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +2 -2
- package/src/api/cyberia-saga/cyberia-saga.controller.js +1 -1
- package/src/api/cyberia-saga/cyberia-saga.router.js +1 -1
- package/src/api/cyberia-saga/cyberia-saga.service.js +2 -2
- package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +403 -214
- package/src/api/cyberia-skill/cyberia-skill.controller.js +1 -1
- package/src/api/cyberia-skill/cyberia-skill.model.js +6 -6
- package/src/api/cyberia-skill/cyberia-skill.router.js +1 -1
- package/src/api/cyberia-skill/cyberia-skill.service.js +2 -2
- package/src/api/default/default.controller.js +1 -1
- package/src/api/default/default.router.js +1 -1
- package/src/api/default/default.service.js +2 -2
- package/src/api/document/document.controller.js +1 -1
- package/src/api/document/document.router.js +1 -1
- package/src/api/document/document.service.js +2 -2
- package/src/api/file/file.controller.js +1 -1
- package/src/api/file/file.ref.js +153 -0
- package/src/api/file/file.ref.json +11 -2
- package/src/api/file/file.router.js +1 -1
- package/src/api/file/file.service.js +2 -2
- package/src/api/instance/instance.controller.js +1 -1
- package/src/api/instance/instance.router.js +1 -1
- package/src/api/instance/instance.service.js +2 -2
- package/src/api/ipfs/ipfs.controller.js +1 -1
- package/src/api/ipfs/ipfs.router.js +2 -2
- package/src/api/ipfs/ipfs.service.js +2 -2
- package/src/api/object-layer/object-layer.controller.js +1 -1
- package/src/api/object-layer/object-layer.model.js +47 -12
- package/src/api/object-layer/object-layer.router.js +12 -5
- package/src/api/object-layer/object-layer.service.js +116 -123
- package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +1 -1
- package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +1 -1
- package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +2 -2
- package/src/api/test/test.controller.js +1 -1
- package/src/api/test/test.service.js +1 -1
- package/src/api/user/guest.service.js +3 -3
- package/src/api/user/user.controller.js +1 -1
- package/src/api/user/user.router.js +2 -2
- package/src/api/user/user.service.js +4 -4
- package/src/api.js +5 -9
- package/src/cli/app.js +402 -0
- package/src/cli/baremetal.js +30 -35
- package/src/cli/client.js +306 -0
- package/src/cli/cloud-init.js +3 -3
- package/src/cli/cluster.js +191 -82
- package/src/cli/db.js +120 -68
- package/src/cli/deploy.js +157 -75
- package/src/cli/docker-compose.js +5 -5
- package/src/cli/domains.js +184 -0
- package/src/cli/dotenv-store.js +143 -0
- package/src/cli/event.js +2281 -0
- package/src/cli/fs-selection.js +115 -0
- package/src/cli/fs.js +159 -343
- package/src/cli/host.js +672 -0
- package/src/cli/image.js +4 -6
- package/src/cli/index.js +343 -151
- package/src/cli/ipfs.js +34 -30
- package/src/cli/kickstart.js +1 -1
- package/src/cli/kubectl.js +218 -41
- package/src/cli/lxd.js +3 -3
- package/src/cli/monitor.js +1359 -26
- package/src/cli/package.js +90 -0
- package/src/cli/release.js +16 -12
- package/src/cli/repository.js +586 -363
- package/src/cli/run.js +398 -843
- package/src/cli/secrets.js +2158 -964
- package/src/cli/ssh.js +478 -279
- package/src/cli/state.js +394 -0
- package/src/cli/static.js +2 -2
- package/src/cli/system.js +1 -1
- package/src/cli/test.js +203 -125
- package/src/cli/vultr.js +61 -21
- package/src/cli/wireguard.js +1112 -306
- package/src/client/components/core/CalendarCore.js +53 -96
- package/src/client/components/core/Docs.js +327 -303
- package/src/client/components/core/FileExplorer.js +0 -21
- package/src/client/components/core/Modal.js +56 -1
- package/src/client/components/core/PanelForm.js +4 -4
- package/src/client/components/core/Repository.js +56 -0
- package/src/client/components/core/Translate.js +7 -0
- package/src/client/components/core/{FullScreen.js → ViewModeController.js} +42 -39
- package/src/client/components/core/Wallet.js +0 -11
- package/src/client/components/core/Worker.js +7 -1
- package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +2 -2
- package/src/client/components/cyberia/ActionEngineCyberia.js +12 -36
- package/src/client/components/cyberia/EntityEngineCyberia.js +492 -121
- package/src/client/components/cyberia/InstanceEngineCyberia.js +129 -160
- package/src/client/components/cyberia/InstanceSelectionView.js +7 -1
- package/src/client/components/cyberia/MapEngineCyberia.js +175 -69
- package/src/client/components/cyberia/ObjectLayerEngine.js +1011 -97
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +81 -155
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +113 -98
- package/src/client/components/cyberia/SharedDefaultsCyberia.js +215 -56
- package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +2 -35
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +1 -1
- package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +712 -76
- package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +2 -2
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +0 -4
- package/src/client/components/default/AppShellDefault.js +1 -1
- package/src/client/components/default/SettingsDefault.js +2 -2
- package/src/client/components/itemledger/SettingsItemledger.js +2 -2
- package/src/client/components/underpost/AppShellUnderpost.js +3 -2
- package/src/client/components/underpost/SettingsUnderpost.js +2 -2
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +15 -15
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +313 -30
- package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +51 -29
- package/src/client/public/cyberia-docs/CYBERIA-SAGA.md +52 -53
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +16 -11
- package/src/client/public/cyberia-docs/CYBERIA.md +48 -28
- package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +11 -5
- package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +23 -6
- package/src/client/public/cyberia-docs/ROADMAP.md +1 -1
- package/src/client/public/cyberia-docs/STATS-PROGRESSION.md +217 -0
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +20 -12
- 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.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144.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.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72.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/white.jpg +0 -0
- package/src/client/public/default/browserconfig.xml +1 -1
- 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 +5 -5
- 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/yandex-browser-50x50.png +0 -0
- package/src/client/public/default/yandex-browser-manifest.json +1 -1
- package/src/client/services/cyberia-audio/cyberia-audio.service.js +99 -0
- package/src/client/services/cyberia-entity-type-default/cyberia-entity-type-default.service.js +38 -0
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +5 -4
- package/src/client/services/cyberia-instance/cyberia-instance.service.js +0 -40
- package/src/client/services/cyberia-map/cyberia-map.management.js +5 -4
- package/src/client/services/cyberia-map-audio-conf/cyberia-map-audio-conf.service.js +138 -0
- package/src/client/services/object-layer/object-layer.management.js +6 -10
- package/src/client/services/object-layer/object-layer.service.js +3 -1
- package/src/client/ssr/RootDocument.js +1 -1
- package/src/client/ssr/body/404.js +1 -1
- package/src/client/ssr/body/500.js +1 -1
- package/src/client/ssr/body/CacheControl.js +1 -1
- package/src/client/ssr/body/CyberiaDefaultSplashScreen.js +1 -1
- package/src/client/ssr/body/DefaultSplashScreen.js +1 -1
- package/src/client/ssr/body/SwaggerDarkMode.js +1 -1
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +1 -1
- package/src/client/ssr/head/CryptokoynScripts.js +1 -1
- package/src/client/ssr/head/Css.js +1 -1
- package/src/client/ssr/head/CyberiaPortalScripts.js +1 -1
- package/src/client/ssr/head/DefaultScripts.js +1 -1
- package/src/client/ssr/head/ItemledgerScripts.js +1 -1
- package/src/client/ssr/head/Microdata.js +1 -1
- package/src/client/ssr/head/Production.js +1 -1
- package/src/client/ssr/head/Pwa.js +1 -1
- package/src/client/ssr/head/PwaItemledger.js +1 -1
- package/src/client/ssr/head/Seo.js +1 -1
- package/src/client/ssr/head/UnderpostScripts.js +1 -1
- package/src/client/ssr/mailer/DefaultRecoverEmail.js +1 -1
- package/src/client/ssr/mailer/DefaultVerifyEmail.js +1 -1
- package/src/client/ssr/views/Cyberia404.js +7 -5
- package/src/client/ssr/views/CyberiaServerMetrics.js +1 -1
- package/src/client/ssr/views/Maintenance.js +1 -1
- package/src/client/ssr/views/NoNetworkConnection.js +1 -1
- package/src/client/ssr/views/Test.js +1 -1
- package/src/client/sw/core.sw.js +20 -14
- package/src/client-builder/client-build-docs.js +92 -77
- package/src/client-builder/client-build-live.js +2 -2
- package/src/client-builder/client-build.js +105 -74
- package/src/client-builder/client-bundle.js +347 -0
- package/src/client-builder/client-dev-server.js +3 -3
- package/src/client-builder/client-icons.js +2 -2
- package/src/client-builder/ssr.js +3 -3
- package/src/client.build.js +3 -6
- package/src/client.dev.js +3 -6
- package/src/db/DataBaseProvider.js +186 -3
- package/src/db/mariadb/MariaDB.js +3 -2
- package/src/db/mongo/MongoBootstrap.js +273 -101
- package/src/db/mongo/MongoExpress.js +187 -0
- package/src/db/mongo/MongooseDB.js +7 -8
- package/src/{server/valkey.js → db/valkey/Valkey.js} +5 -4
- package/src/grpc/cyberia/grpc-server.js +6 -8
- package/src/index.js +79 -23
- package/src/mailer/EmailRender.js +2 -2
- package/src/mailer/MailerInterceptor.js +87 -0
- package/src/mailer/MailerProvider.js +50 -6
- package/src/projects/cyberia/atlas-sprite-sheet-generator.js +144 -147
- package/src/projects/cyberia/atlas-sprite-sheet-store.js +391 -0
- package/src/projects/cyberia/besu-genesis-generator.js +8 -17
- package/src/projects/cyberia/boot-contract-fixtures.js +32 -0
- package/src/projects/cyberia/catalog-cyberia.js +54 -10
- package/src/projects/cyberia/gemini-client.js +4 -4
- package/src/projects/cyberia/generate-saga.js +5 -12
- package/src/projects/cyberia/hot-reload-trigger.js +18 -29
- package/src/projects/cyberia/instance-backup.js +210 -0
- package/src/projects/cyberia/instance-data.js +178 -258
- package/src/projects/cyberia/ipfs-client.js +4 -4
- package/src/projects/cyberia/map-preview-generator.js +33 -69
- package/src/projects/cyberia/object-layer.js +153 -320
- package/src/projects/cyberia/seed-audio.js +139 -0
- package/src/projects/cyberia/semantic-layer-generator-skin.js +2 -8
- package/src/projects/cyberia/semantic-layer-generator.js +3 -19
- package/src/projects/cyberia/stat-balance.js +81 -0
- package/src/projects/cyberia/stat-commands.js +23 -0
- package/src/projects/cyberia/stat-contract-generator.js +101 -0
- package/src/projects/underpost/catalog-underpost.js +9 -1
- package/src/proxy.js +4 -7
- package/src/runtime/cyberia-client/Dockerfile +17 -8
- package/src/runtime/cyberia-client/Dockerfile.dev +13 -4
- package/src/runtime/cyberia-server/Dockerfile +18 -6
- package/src/runtime/cyberia-server/Dockerfile.dev +16 -3
- package/src/runtime/engine-cyberia/Dockerfile +25 -9
- package/src/runtime/engine-cyberia/Dockerfile.dev +25 -9
- package/src/runtime/engine-cyberia/Dockerfile.test +5 -5
- package/src/runtime/engine-cyberia/compose.env +17 -5
- package/src/runtime/engine-cyberia/docker-compose.yml +23 -17
- package/src/runtime/express/Express.js +32 -27
- package/src/runtime/lampp/Lampp.js +22 -70
- package/src/runtime/nginx/Nginx.js +1 -1
- package/src/runtime/wp/Wp.js +16 -48
- package/src/server/{catalog.js → build/catalog.js} +15 -5
- package/src/server/build/coverage.js +188 -0
- package/src/server/build/execution.js +402 -0
- package/src/server/build/package.js +508 -0
- package/src/server/build/testing.js +578 -0
- package/src/server/{dns.js → network/dns.js} +144 -11
- package/src/server/{forward-proxy.js → network/forward-proxy.js} +10 -18
- package/src/server/{middlewares.js → network/middlewares.js} +11 -5
- package/src/server/network/node-capability.js +98 -0
- package/src/server/{peer.js → network/peer.js} +3 -3
- package/src/server/{proxy.js → network/proxy.js} +7 -13
- package/src/server/network/router.js +356 -0
- package/src/server/{tls.js → network/tls.js} +2 -2
- package/src/server/{underpost-compression.js → network/underpost-compression.js} +1 -1
- package/src/server/{underpost-gateway.js → network/underpost-gateway.js} +7 -7
- package/src/server/{underpost-ingress.js → network/underpost-ingress.js} +2 -2
- package/src/server/{cri.js → ops/cri.js} +2 -2
- package/src/server/{cron.js → ops/cron.js} +349 -74
- package/src/server/ops/event-notification.js +284 -0
- package/src/server/{logger.js → ops/logger.js} +143 -23
- package/src/server/ops/monitoring.js +1724 -0
- package/src/server/{systemd.js → ops/systemd.js} +55 -1
- package/src/server/{conf.js → runtime/conf.js} +516 -423
- package/src/server/runtime/config-scope.js +215 -0
- package/src/server/runtime/environment.js +149 -0
- package/src/server/{process.js → runtime/process.js} +153 -12
- package/src/server/{runtime-status.js → runtime/runtime-status.js} +155 -16
- package/src/server/{runtime.js → runtime/runtime.js} +12 -8
- package/src/server/{start.js → runtime/start.js} +128 -39
- package/src/server/{auth.js → security/auth.js} +7 -8
- package/src/server/security/container-storage.js +382 -0
- package/src/server/{crypto.js → security/crypto.js} +1 -1
- package/src/server/{selinux.js → security/selinux.js} +1 -1
- package/src/server/{backup.js → storage/backup.js} +17 -8
- package/src/server/{data-query.js → storage/data-query.js} +17 -1
- package/src/server/storage/downloader.js +121 -0
- package/src/server/storage/repository.js +68 -0
- package/src/server/storage/zip.js +153 -0
- package/src/server.js +4 -7
- package/src/ws/IoInterface.js +1 -1
- package/src/ws/IoServer.js +1 -1
- package/src/ws/core/core.ws.connection.js +1 -1
- package/src/ws/core/core.ws.emit.js +1 -1
- package/src/ws/core/core.ws.server.js +1 -1
- package/src/ws/default/default.ws.connection.js +1 -1
- package/src/ws/default/default.ws.emit.js +1 -1
- package/src/ws/default/default.ws.server.js +1 -1
- package/test/e2e/event-e2e-public-ingress-down.js +45 -0
- package/test/e2e/event-e2e-wireguard-server-down.js +38 -0
- package/test/e2e/event-e2e-wireguard-spoke-down.js +40 -0
- package/test/{api.test.js → integration/app/api.test.js} +33 -14
- package/test/integration/app/cyberia/atlas-sprite-sheet-store.test.js +402 -0
- package/test/integration/app/cyberia/atlas-sprite-sheet.test.js +86 -0
- package/test/integration/app/cyberia/cyberia-cli-plain-reads.test.js +64 -0
- package/test/integration/app/cyberia/cyberia-entity-type-default.test.js +842 -0
- package/test/integration/app/cyberia/cyberia-instance-conf-coerce.test.js +53 -0
- package/test/{cyberia-instance-conf-defaults.test.js → integration/app/cyberia/cyberia-instance-conf-defaults.test.js} +17 -23
- package/test/integration/app/cyberia/cyberia-instance-items.test.js +90 -0
- package/test/integration/app/cyberia/cyberia-load.test.js +466 -0
- package/test/integration/app/cyberia/cyberia-map-audio-conf.test.js +256 -0
- package/test/integration/app/cyberia/cyberia-stats.test.js +150 -0
- package/test/integration/app/cyberia/fallback-world-capture.test.js +338 -0
- package/test/integration/app/cyberia/object-layer-item-id.test.js +327 -0
- package/test/integration/app/cyberia/object-layer-item-selection.test.js +56 -0
- package/test/integration/app/cyberia/object-layer-natural-key.test.js +32 -0
- package/test/integration/app/cyberia/seed-audio.test.js +275 -0
- package/test/{shape-generator.test.js → integration/app/cyberia/shape-generator.test.js} +1 -1
- package/test/integration/infra/1-security/config-scope.test.js +305 -0
- package/test/integration/infra/1-security/container-storage.test.js +356 -0
- package/test/integration/infra/1-security/in-pod-cli-surface.test.js +86 -0
- package/test/integration/infra/1-security/secret-onboarding.test.js +930 -0
- package/test/{selinux.test.js → integration/infra/1-security/selinux.test.js} +2 -4
- package/test/{sops-secret-store.test.js → integration/infra/1-security/sops-secret-store.test.js} +415 -61
- package/test/integration/infra/1-security/systemd-service.test.js +70 -0
- package/test/integration/infra/1-security/underpost-config-secret.test.js +367 -0
- package/test/integration/infra/2-network/dns-firewall.test.js +566 -0
- package/test/integration/infra/2-network/node-capability.test.js +182 -0
- package/test/integration/infra/2-network/wireguard-cli.test.js +1187 -0
- package/test/{wireguard-edge.test.js → integration/infra/2-network/wireguard-edge.test.js} +649 -55
- package/test/{cluster-instances.test.js → integration/infra/3-cluster/cluster-instances.test.js} +11 -15
- package/test/{deploy-node-placement.test.js → integration/infra/3-cluster/deploy-node-placement.test.js} +3 -3
- package/test/integration/infra/3-cluster/docker-compose-stack.test.js +313 -0
- package/test/integration/infra/3-cluster/mongo-express-deploy.test.js +156 -0
- package/test/integration/infra/4-ingress/api-cross-origin.test.js +79 -0
- package/test/integration/infra/4-ingress/deploy-routes.test.js +379 -0
- package/test/integration/infra/4-ingress/gateway-static-assets.test.js +453 -0
- package/test/{instance-traffic-plan.test.js → integration/infra/4-ingress/instance-traffic-plan.test.js} +10 -6
- package/test/{underpost-gateway.test.js → integration/infra/4-ingress/underpost-gateway.test.js} +6 -6
- package/test/{underpost-ingress.test.js → integration/infra/4-ingress/underpost-ingress.test.js} +4 -4
- package/test/integration/infra/5-observability/cron-jobs.test.js +652 -0
- package/test/{deploy-monitor.test.js → integration/infra/5-observability/deploy-monitor.test.js} +29 -31
- package/test/integration/infra/5-observability/event-notification.test.js +197 -0
- package/test/integration/infra/5-observability/event-remediation.test.js +502 -0
- package/test/integration/infra/5-observability/event-targets.test.js +1174 -0
- package/test/integration/infra/5-observability/monitoring-stack.test.js +902 -0
- package/test/support/shell-harness.js +73 -0
- package/test/unit/build-template.test.js +97 -0
- package/test/unit/build-workflow-offline.test.js +132 -0
- package/test/unit/catalog.test.js +71 -0
- package/test/unit/client-build-docs.test.js +361 -0
- package/test/unit/client-bundle.test.js +313 -0
- package/test/unit/conf-loading.test.js +303 -0
- package/test/unit/conf-resolution.test.js +996 -0
- package/test/unit/coverage-artifact.test.js +221 -0
- package/test/{crypto.test.js → unit/crypto.test.js} +1 -1
- package/test/unit/cyberia/instance-backup.test.js +183 -0
- package/test/unit/cyberia/instance-object-layer-items.test.js +46 -0
- package/test/unit/cyberia/publish-workflow.test.js +22 -0
- package/test/unit/cyberia/stat-balance.test.js +69 -0
- package/test/unit/deploy-env-resolution.test.js +38 -0
- package/test/unit/deploy-log-table.test.js +518 -0
- package/test/unit/downloader-integrity.test.js +98 -0
- package/test/unit/execution-profiles.test.js +219 -0
- package/test/unit/file-reference-registry.test.js +141 -0
- package/test/unit/fleet-sync-source.test.js +149 -0
- package/test/unit/fs-storage-paths.test.js +596 -0
- package/test/unit/logger-redaction.test.js +141 -0
- package/test/unit/package.test.js +457 -0
- package/test/unit/prepare-host.test.js +382 -0
- package/test/unit/process-environment.test.js +18 -0
- package/test/unit/propagation-message.test.js +78 -0
- package/test/unit/redeploy-plan.test.js +24 -0
- package/test/unit/release-bump.test.js +474 -0
- package/test/unit/ssh-output-redaction.test.js +28 -0
- package/test/unit/start-options.test.js +46 -0
- package/test/unit/test-tiers.test.js +220 -0
- package/test/unit/zip-archive.test.js +142 -0
- package/vitest.config.js +66 -0
- package/.nycrc +0 -9
- package/deploy/lib/logging.sh +0 -96
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +0 -48
- package/manifests/mongodb/pv-pvc.yaml +0 -59
- package/scripts/coverall-test-cyberia.sh +0 -24
- package/scripts/coverall-test.sh +0 -24
- package/scripts/link-local-underpost-cli.sh +0 -6
- package/src/api/cyberia-instance/cyberia-fallback-default-items.js +0 -63
- package/src/api/user/user.build.js +0 -16
- package/src/cli/env.js +0 -177
- package/src/client/components/core/Blockchain.js +0 -41
- package/src/client/components/core/Blog.js +0 -9
- package/src/client/components/core/KeyboardAvoidance.js +0 -145
- package/src/client/components/cyberia/FallbackWorldEngineCyberia.js +0 -368
- package/src/client/public/default/assets/background/dark.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/doc/favicon.ico +0 -0
- package/src/client/public/doc/sitemap +0 -148
- package/src/server/downloader.js +0 -73
- package/src/server/environment.js +0 -98
package/CLI-HELP.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## Underpost CLI
|
|
2
2
|
|
|
3
|
-
> underpost ci/cd cli v3.3.
|
|
3
|
+
> underpost ci/cd cli v3.3.76
|
|
4
4
|
|
|
5
5
|
**Usage:** `underpost [options] [command]`
|
|
6
6
|
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
| Option | Description |
|
|
10
10
|
| --- | --- |
|
|
11
11
|
| `-V, --version` | output the version number |
|
|
12
|
+
| `--profile <profile>` | Execution profile. One of: LIVE_CLUSTER, HERMETIC_BUILD, OFFLINE_DRY_RUN. LIVE_CLUSTER Full access: cluster and host mutation permitted. HERMETIC_BUILD Build outputs only: no cluster, host or network side effects. OFFLINE_DRY_RUN Nothing executes; every command is reported as intent. |
|
|
12
13
|
| `-h, --help` | display help for command |
|
|
13
14
|
|
|
14
15
|
### Commands
|
|
@@ -22,30 +23,33 @@
|
|
|
22
23
|
| [`pull`](#underpost-pull) | Pulls the latest changes from a specified GitHub repository. |
|
|
23
24
|
| [`cmt`](#underpost-cmt) | Manages commits to a GitHub repository, supporting various commit types and options. |
|
|
24
25
|
| [`push`](#underpost-push) | Pushes committed changes from a local repository to a remote GitHub repository. |
|
|
25
|
-
| [`env`](#underpost-env) | Sets environment variables and configurations related to a specific deployment ID. |
|
|
26
26
|
| [`static`](#underpost-static) | Manages static build of page, bundles, and documentation with comprehensive customization options. |
|
|
27
|
-
| [`config`](#underpost-config) | Manages Underpost configurations using various operators. |
|
|
28
27
|
| [`root`](#underpost-root) | Displays the root path of the npm installation. |
|
|
29
28
|
| [`ip`](#underpost-ip) | Displays the current public machine IP addresses. |
|
|
30
29
|
| [`cluster`](#underpost-cluster) | Manages Kubernetes clusters, defaulting to Kind cluster initialization. |
|
|
31
30
|
| [`deploy`](#underpost-deploy) | Manages application deployments, defaulting to deploying development pods. |
|
|
32
|
-
| [`secret`](#underpost-secret) |
|
|
31
|
+
| [`secret`](#underpost-secret) | Workload secret store: SOPS/Age encrypted credentials projected as Kubernetes Secrets. |
|
|
32
|
+
| [`host`](#underpost-host) | Host configuration: the node-level operational environment shared by the cluster. |
|
|
33
|
+
| [`app`](#underpost-app) | Application environment: one deployment's runtime configuration. |
|
|
34
|
+
| [`state`](#underpost-state) | Runtime state: live container execution state, health and metrics, exported off-cluster. |
|
|
33
35
|
| [`image`](#underpost-image) | Manages Docker images, including building, saving, and loading into Kubernetes clusters. |
|
|
34
36
|
| [`install`](#underpost-install) | Quickly imports Underpost npm dependencies by copying them. |
|
|
35
37
|
| [`db`](#underpost-db) | Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration. |
|
|
36
38
|
| [`metadata`](#underpost-metadata) | Manages cluster metadata operations, including import and export. |
|
|
37
39
|
| [`cron`](#underpost-cron) | Manages cron jobs: execute jobs directly or generate and apply K8s CronJob manifests. |
|
|
38
|
-
| [`fs`](#underpost-fs) |
|
|
39
|
-
| [`
|
|
40
|
-
| [`
|
|
41
|
-
| [`ssh`](#underpost-ssh) | Manages SSH credentials and sessions for remote access to cluster nodes or services. |
|
|
40
|
+
| [`fs`](#underpost-fs) | Uploads, pulls, or deletes Cloudinary assets and synchronizes the selected storage manifest. |
|
|
41
|
+
| [`monitor`](#underpost-monitor) | Manages health server monitoring, the cluster observability stack, and host dashboards. |
|
|
42
|
+
| [`event`](#underpost-event) | Dispatches operational events and provisions the monitoring rules that trigger them. |
|
|
43
|
+
| [`ssh`](#underpost-ssh) | Manages cluster scoped SSH credentials and sessions for remote access to cluster nodes or services. Users are registered in engine-private/deploy/conf.users.json and keys are stored in engine-private/deploy/users/<user>. |
|
|
42
44
|
| [`wireguard`](#underpost-wireguard) | Manages the WireGuard L3 hub-and-spoke transport and the HAProxy edge gateway in front of it. |
|
|
43
45
|
| [`haproxy`](#underpost-haproxy) | Manages the HAProxy edge gateway over the WireGuard transport (same subsystem as `underpost wireguard`). |
|
|
44
46
|
| [`vultr`](#underpost-vultr) | Meters the edge VPS bandwidth against its Vultr plan quota and blocks egress before overage accrues. |
|
|
45
47
|
| [`run`](#underpost-run) | Runs specified scripts using various runners. |
|
|
48
|
+
| [`test`](#underpost-test) | Runs the test tiers locally, inside deployment pods, or as a cluster Job with Allure reporting. |
|
|
46
49
|
| [`docker-compose`](#underpost-docker-compose) | General-purpose Docker Compose development pipeline (mirrors the Kubernetes dev stack). |
|
|
47
50
|
| [`lxd`](#underpost-lxd) | Manages LXD virtual machines as K3s nodes (control plane or workers). |
|
|
48
51
|
| [`baremetal`](#underpost-baremetal) | Manages baremetal server operations, including installation, database setup, commissioning, and user management. |
|
|
52
|
+
| [`package`](#underpost-package) | Generates the package manifests a deploy id owns, from the engine manifest and the deploy's product catalog, and installs the dependencies that catalog pins. |
|
|
49
53
|
| [`release`](#underpost-release) | Release orchestrator for building new versions and deploying releases of the Underpost CLI. |
|
|
50
54
|
|
|
51
55
|
## Command reference
|
|
@@ -68,12 +72,12 @@ Initializes a new Underpost project, service, or configuration.
|
|
|
68
72
|
| --- | --- |
|
|
69
73
|
| `--deploy-id <deploy-id>` | Create deploy ID conf env files |
|
|
70
74
|
| `--sub-conf <sub-conf>` | Create sub conf env files |
|
|
71
|
-
| `--cluster` |
|
|
75
|
+
| `--cluster` | Initialize the base cluster deploy folder engine-private/deploy from ./conf.js |
|
|
72
76
|
| `--build-repos` | Create deploy ID repositories |
|
|
73
77
|
| `--build` | Build the deployment to pwa-microservices-template (requires --deploy-id) |
|
|
74
78
|
| `--clean-template` | Clean the build directory (pwa-microservices-template) |
|
|
75
79
|
| `--sync-conf` | Sync configuration to private repositories (requires --deploy-id) |
|
|
76
|
-
| `--sync-start` | Sync start scripts in deploy ID package.json with root package.json (use 'dd' as --deploy-id to sync all dd.
|
|
80
|
+
| `--sync-start` | Sync start scripts in deploy ID package.json with root package.json (use 'dd' as --deploy-id to sync all dd.routes) |
|
|
77
81
|
| `--purge` | Remove deploy ID conf and all related repositories (requires --deploy-id) |
|
|
78
82
|
| `--dev` | Sets the development cli context |
|
|
79
83
|
| `--default-conf` | Create default deploy ID conf env files |
|
|
@@ -110,6 +114,8 @@ Builds client assets, single replicas, and/or syncs environment ports.
|
|
|
110
114
|
| `--lite-build` | Skip full build (default is full build) |
|
|
111
115
|
| `--icons-build` | Build icons |
|
|
112
116
|
| `--ssr` | Rebuild only SSR views defined in conf.ssr.json, leaving client assets untouched |
|
|
117
|
+
| `--env <env>` | Target environment for the build (e.g. "production", "development"). Falls back to --dev, then NODE_ENV. |
|
|
118
|
+
| `--dev` | Sets the development cli context (shorthand for --env development). |
|
|
113
119
|
| `-h, --help` | display help for command |
|
|
114
120
|
|
|
115
121
|
---
|
|
@@ -134,7 +140,8 @@ Initiates application servers, build pipelines, or other defined services based
|
|
|
134
140
|
| `--run` | Starts application servers and monitors their health. |
|
|
135
141
|
| `--build` | Triggers the client-side application build process. |
|
|
136
142
|
| `--underpost-quickly-install` | Uses Underpost Quickly Install for dependency installation. |
|
|
137
|
-
| `--skip-pull-base` | Skips cloning
|
|
143
|
+
| `--skip-pull-repo-base` | Skips cloning the engine source repository, uses current workspace code directly. |
|
|
144
|
+
| `--skip-pull-private-repo` | Skips cloning the private configuration repository, uses the engine-private already in the workspace. |
|
|
138
145
|
| `--skip-full-build` | Skips the full client bundle build during deployment. |
|
|
139
146
|
| `--pull-bundle` | Downloads the pre-built client bundle from Cloudinary via pull-bundle before starting. Use together with --skip-full-build to skip the local build entirely. |
|
|
140
147
|
| `--private-test-repo` | During --build, clone the private test source repo (engine-test-<id>) instead of the production engine-<id> repo. |
|
|
@@ -218,11 +225,12 @@ Manages commits to a GitHub repository, supporting various commit types and opti
|
|
|
218
225
|
| `--hashes <hashes>` | Comma-separated list of specific file hashes of commits. |
|
|
219
226
|
| `--extension <extension>` | specific file extensions of commits. |
|
|
220
227
|
| `--changelog` | Print the plain changelog of the last N commits (see --from-n-commit, default 1). |
|
|
221
|
-
| `--changelog-build` | Builds a CHANGELOG.md
|
|
228
|
+
| `--changelog-build` | Builds a CHANGELOG.md from the latest five versions |
|
|
222
229
|
| `--changelog-min-version <version>` | Sets the minimum version limit for --changelog-build (default: 2.85.0) |
|
|
223
230
|
| `--changelog-no-hash` | Excludes commit hashes from the generated changelog entries (used with --changelog-build). |
|
|
224
231
|
| `--changelog-msg` | Print the sanitized, commit-ready changelog message of the last N commits (see --from-n-commit, default 1). Empty when there are no tagged entries. |
|
|
225
232
|
| `--from-n-commit <n>` | Number of latest commits to include in --changelog/--changelog-msg (default: 1). |
|
|
233
|
+
| `--propagate-msg` | Prints the changelog payload carried by the propagation chain, read from the PROPAGATED_MESSAGE environment variable and stripped of the commit subject wrapper. Falls back to --changelog-msg over the last N commits (see --from-n-commit) when nothing was propagated. |
|
|
226
234
|
| `--unpush` | With --log, automatically sets range to unpushed commits ahead of remote. |
|
|
227
235
|
| `-b` | Shows the current Git branch name. |
|
|
228
236
|
| `-p [branch]` | Shows the reflog for the specified branch. |
|
|
@@ -259,28 +267,6 @@ Pushes committed changes from a local repository to a remote GitHub repository.
|
|
|
259
267
|
|
|
260
268
|
---
|
|
261
269
|
|
|
262
|
-
### underpost env
|
|
263
|
-
|
|
264
|
-
Sets environment variables and configurations related to a specific deployment ID.
|
|
265
|
-
|
|
266
|
-
**Usage:** `underpost env [options] [deploy-id] [env] [subConf]`
|
|
267
|
-
|
|
268
|
-
#### Arguments
|
|
269
|
-
|
|
270
|
-
| Argument | Description |
|
|
271
|
-
| --- | --- |
|
|
272
|
-
| `deploy-id` | The deployment configuration ID. Use 'clean' to restore default environment settings. Use 'root' to load underpost root env. Use 'current' to get plain current deploy Id. |
|
|
273
|
-
| `env` | Optional: The environment to set (e.g., "production", "development"). Defaults to "production". |
|
|
274
|
-
| `subConf` | Optional: The sub configuration to set. |
|
|
275
|
-
|
|
276
|
-
#### Options
|
|
277
|
-
|
|
278
|
-
| Option | Description |
|
|
279
|
-
| --- | --- |
|
|
280
|
-
| `-h, --help` | display help for command |
|
|
281
|
-
|
|
282
|
-
---
|
|
283
|
-
|
|
284
270
|
### underpost static
|
|
285
271
|
|
|
286
272
|
Manages static build of page, bundles, and documentation with comprehensive customization options.
|
|
@@ -324,33 +310,6 @@ Manages static build of page, bundles, and documentation with comprehensive cust
|
|
|
324
310
|
|
|
325
311
|
---
|
|
326
312
|
|
|
327
|
-
### underpost config
|
|
328
|
-
|
|
329
|
-
Manages Underpost configurations using various operators.
|
|
330
|
-
|
|
331
|
-
**Usage:** `underpost config [options] <operator> [key] [value]`
|
|
332
|
-
|
|
333
|
-
#### Arguments
|
|
334
|
-
|
|
335
|
-
| Argument | Description |
|
|
336
|
-
| --- | --- |
|
|
337
|
-
| `operator` | The configuration operation to perform. Options: set, delete, get, list, clean, isInsideContainer. |
|
|
338
|
-
| `key` | Optional: The specific configuration key to manage. |
|
|
339
|
-
| `value` | Optional: The value to set for the configuration key. |
|
|
340
|
-
|
|
341
|
-
#### Options
|
|
342
|
-
|
|
343
|
-
| Option | Description |
|
|
344
|
-
| --- | --- |
|
|
345
|
-
| `--plain` | Prints the configuration value in plain text. |
|
|
346
|
-
| `--filter <keyword>` | Filters the list by matching key or value (only for list operation). |
|
|
347
|
-
| `--deploy-id <deploy-id>` | Sets the deployment configuration ID for the operation context. |
|
|
348
|
-
| `--build` | Sets the build context for the operation. |
|
|
349
|
-
| `--copy` | Copies the configuration value to the clipboard (only for get operation). |
|
|
350
|
-
| `-h, --help` | display help for command |
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
313
|
### underpost root
|
|
355
314
|
|
|
356
315
|
Displays the root path of the npm installation.
|
|
@@ -397,6 +356,8 @@ Displays the current public machine IP addresses.
|
|
|
397
356
|
| `--unblock-all-egress` | Unblocks all outbound traffic and restores default ACCEPT policy. |
|
|
398
357
|
| `--block-all-ingress` | Blocks all new inbound traffic to this host (keeps established/related connections). |
|
|
399
358
|
| `--unblock-all-ingress` | Unblocks all inbound traffic and restores default ACCEPT policy. |
|
|
359
|
+
| `--block-ingress-port <ports>` | Blocks new inbound traffic on comma-separated TCP ports, leaving the management path reachable. |
|
|
360
|
+
| `--unblock-ingress-port <ports>` | Withdraws the port rules --block-ingress-port installed. |
|
|
400
361
|
| `--mac` | Prints the MAC address of the main network interface. |
|
|
401
362
|
| `-h, --help` | display help for command |
|
|
402
363
|
|
|
@@ -426,6 +387,7 @@ Manages Kubernetes clusters, defaulting to Kind cluster initialization.
|
|
|
426
387
|
| `--service-host <host>` | Set custom host/IP for exposed MongoDB and Valkey clients. |
|
|
427
388
|
| `--postgresql` | Initializes the cluster with a PostgreSQL statefulset. |
|
|
428
389
|
| `--mongodb4` | Initializes the cluster with a MongoDB 4.4 service. |
|
|
390
|
+
| `--mongo-express` | Deploys the mongo-express web client for inspecting the MongoDB statefulset databases and collections. Reuses the mongodb-secret credentials, and drops them when the deployed mongod runs without --auth. Combine with --node-port to expose it on the node network. |
|
|
429
391
|
| `--valkey` | Initializes the cluster with a Valkey service. |
|
|
430
392
|
| `--ipfs` | Initializes the cluster with an ipfs-cluster statefulset. |
|
|
431
393
|
| `--contour` | Initializes the cluster with Project Contour base HTTPProxy and Envoy. |
|
|
@@ -433,15 +395,15 @@ Manages Kubernetes clusters, defaulting to Kind cluster initialization.
|
|
|
433
395
|
| `--gateway-class <name>` | GatewayClass name to provision (default "eg"). |
|
|
434
396
|
| `--ingress-node <node-name>` | Dedicated node for underpost-ingress when both routing stacks coexist. Workload placement flags do not move it. |
|
|
435
397
|
| `--node-port` | Exposes enabled ready services (e.g. MongoDB 4.4, Valkey) to the host/public network via their NodePort Service manifest. |
|
|
436
|
-
| `--node-
|
|
398
|
+
| `--node-name <k8s-node-name>` | Pins the just-deployed workload (MongoDB 4.4 / Valkey StatefulSets, the observability Deployments) to the given Kubernetes node once it is ready, via a kubernetes.io/hostname nodeSelector. |
|
|
437
399
|
| `--cert-manager` | Initializes the cluster with a Let's Encrypt production ClusterIssuer. |
|
|
438
400
|
| `--dedicated-gpu` | Initializes the cluster with dedicated GPU base resources and environment settings. |
|
|
439
401
|
| `--ns-use <ns-name>` | Switches the current Kubernetes context to the specified namespace (creates if it doesn't exist). |
|
|
440
402
|
| `--kubeadm` | Initializes the cluster using kubeadm for control plane management. |
|
|
441
403
|
| `--pod-network-cidr <cidr>` | Sets custom pod network CIDR for kubeadm cluster initialization (defaults to "192.168.0.0/16"). |
|
|
442
404
|
| `--control-plane-endpoint <endpoint>` | Sets custom control plane endpoint for kubeadm cluster initialization (defaults to "localhost:6443"). |
|
|
443
|
-
| `--grafana` | Initializes the cluster with
|
|
444
|
-
| `--prom [hosts]` | Initializes the cluster with
|
|
405
|
+
| `--grafana` | Initializes the cluster with the observability stack (Prometheus, Alertmanager, Blackbox Exporter, Grafana). Equivalent to --prom; both converge the one stack. |
|
|
406
|
+
| `--prom [hosts]` | Initializes the cluster with the observability stack. Scrape targets are derived from each deploy conf.server.json; the optional comma-separated hosts are scraped at /metrics in addition to them. |
|
|
445
407
|
| `--dev` | Initializes a development-specific cluster configuration. |
|
|
446
408
|
| `--list-pods` | Displays detailed information about all pods. |
|
|
447
409
|
| `--pull-image` | Sets an optional associated image to pull during initialization. |
|
|
@@ -521,36 +483,110 @@ Manages application deployments, defaulting to deploying development pods.
|
|
|
521
483
|
|
|
522
484
|
### underpost secret
|
|
523
485
|
|
|
524
|
-
|
|
486
|
+
Workload secret store: SOPS/Age encrypted credentials projected as Kubernetes Secrets.
|
|
487
|
+
|
|
488
|
+
**Usage:** `underpost secret [options] <action>`
|
|
489
|
+
|
|
490
|
+
#### Arguments
|
|
491
|
+
|
|
492
|
+
| Argument | Description |
|
|
493
|
+
| --- | --- |
|
|
494
|
+
| `action` | Action to run. One of: setup, load, publish, apply, status, rotate, clean. setup Onboards the domain: provisions whatever it needs, then converges it. Idempotent. load Loads the durable source into the local runtime environment. publish Writes the local runtime environment into the durable source. apply Projects the durable source into the live cluster. status Read-only report of the domain: sources, keys, and drift from the cluster. rotate Replaces the current projection or encryption identity. clean Withdraws the domain traces from the local filesystem. |
|
|
495
|
+
|
|
496
|
+
#### Options
|
|
497
|
+
|
|
498
|
+
| Option | Description |
|
|
499
|
+
| --- | --- |
|
|
500
|
+
| `--env <env>` | Target environment: development \| production \| test (default: production). |
|
|
501
|
+
| `--namespace <namespace>` | Kubernetes namespace to act on (default: default). |
|
|
502
|
+
| `--args <key=value-list>` | Comma-separated domain parameters, e.g. `names=postgres-secret`, `recipient=age1...`, `sub-conf=nexodev`. |
|
|
503
|
+
| `--dry-run` | Reports what the action would change without changing anything. |
|
|
504
|
+
| `--force` | Confirms the irreversible variant of the action. |
|
|
505
|
+
| `-h, --help` | display help for command |
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
509
|
+
### underpost host
|
|
525
510
|
|
|
526
|
-
|
|
511
|
+
Host configuration: the node-level operational environment shared by the cluster.
|
|
512
|
+
|
|
513
|
+
**Usage:** `underpost host [options] <action> [key] [value]`
|
|
527
514
|
|
|
528
515
|
#### Arguments
|
|
529
516
|
|
|
530
517
|
| Argument | Description |
|
|
531
518
|
| --- | --- |
|
|
532
|
-
| `
|
|
519
|
+
| `action` | Action to run. One of: setup, load, publish, apply, status, rotate, clean, get, set, delete, list. setup Onboards the domain: provisions whatever it needs, then converges it. Idempotent. load Loads the durable source into the local runtime environment. publish Writes the local runtime environment into the durable source. apply Projects the durable source into the live cluster. status Read-only report of the domain: sources, keys, and drift from the cluster. rotate Replaces the current projection or encryption identity. clean Withdraws the domain traces from the local filesystem. get\|set\|delete\|list Key-level access to the store this domain owns. |
|
|
520
|
+
| `key` | Key to act on, for the key-level operators. |
|
|
521
|
+
| `value` | Value to write, for the `set` operator. |
|
|
533
522
|
|
|
534
523
|
#### Options
|
|
535
524
|
|
|
536
525
|
| Option | Description |
|
|
537
526
|
| --- | --- |
|
|
538
|
-
| `--
|
|
539
|
-
| `--
|
|
540
|
-
| `--
|
|
541
|
-
| `--
|
|
542
|
-
| `--
|
|
543
|
-
| `--
|
|
544
|
-
| `--
|
|
545
|
-
| `--
|
|
546
|
-
|
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
527
|
+
| `--env <env>` | Target environment: development \| production \| test (default: production). |
|
|
528
|
+
| `--namespace <namespace>` | Kubernetes namespace to act on (default: default). |
|
|
529
|
+
| `--args <key=value-list>` | Comma-separated domain parameters, e.g. `names=postgres-secret`, `recipient=age1...`, `sub-conf=nexodev`. |
|
|
530
|
+
| `--dry-run` | Reports what the action would change without changing anything. |
|
|
531
|
+
| `--force` | Confirms the irreversible variant of the action. |
|
|
532
|
+
| `--plain` | Prints the value in plain text (get). |
|
|
533
|
+
| `--filter <keyword>` | Filters by matching key or value (list). |
|
|
534
|
+
| `--copy` | Copies the value to the clipboard (get). |
|
|
535
|
+
| `-h, --help` | display help for command |
|
|
536
|
+
|
|
537
|
+
---
|
|
538
|
+
|
|
539
|
+
### underpost app
|
|
540
|
+
|
|
541
|
+
Application environment: one deployment's runtime configuration.
|
|
542
|
+
|
|
543
|
+
**Usage:** `underpost app [options] <action>`
|
|
544
|
+
|
|
545
|
+
#### Arguments
|
|
546
|
+
|
|
547
|
+
| Argument | Description |
|
|
548
|
+
| --- | --- |
|
|
549
|
+
| `action` | Action to run. One of: setup, load, publish, apply, status, rotate, clean. setup Onboards the domain: provisions whatever it needs, then converges it. Idempotent. load Loads the durable source into the local runtime environment. publish Writes the local runtime environment into the durable source. apply Projects the durable source into the live cluster. status Read-only report of the domain: sources, keys, and drift from the cluster. rotate Replaces the current projection or encryption identity. clean Withdraws the domain traces from the local filesystem. |
|
|
550
|
+
|
|
551
|
+
#### Options
|
|
552
|
+
|
|
553
|
+
| Option | Description |
|
|
554
|
+
| --- | --- |
|
|
555
|
+
| `--env <env>` | Target environment: development \| production \| test (default: production). |
|
|
556
|
+
| `--namespace <namespace>` | Kubernetes namespace to act on (default: default). |
|
|
557
|
+
| `--args <key=value-list>` | Comma-separated domain parameters, e.g. `names=postgres-secret`, `recipient=age1...`, `sub-conf=nexodev`. |
|
|
558
|
+
| `--dry-run` | Reports what the action would change without changing anything. |
|
|
559
|
+
| `--force` | Confirms the irreversible variant of the action. |
|
|
560
|
+
| `-h, --help` | display help for command |
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
### underpost state
|
|
565
|
+
|
|
566
|
+
Runtime state: live container execution state, health and metrics, exported off-cluster.
|
|
567
|
+
|
|
568
|
+
**Usage:** `underpost state [options] <action> [key] [value]`
|
|
569
|
+
|
|
570
|
+
#### Arguments
|
|
571
|
+
|
|
572
|
+
| Argument | Description |
|
|
573
|
+
| --- | --- |
|
|
574
|
+
| `action` | Action to run. One of: setup, load, publish, apply, status, rotate, clean, get, set, delete, list. setup Onboards the domain: provisions whatever it needs, then converges it. Idempotent. load Loads the durable source into the local runtime environment. publish Writes the local runtime environment into the durable source. apply Projects the durable source into the live cluster. status Read-only report of the domain: sources, keys, and drift from the cluster. rotate Replaces the current projection or encryption identity. clean Withdraws the domain traces from the local filesystem. get\|set\|delete\|list Key-level access to the store this domain owns. |
|
|
575
|
+
| `key` | Key to act on, for the key-level operators. |
|
|
576
|
+
| `value` | Value to write, for the `set` operator. |
|
|
577
|
+
|
|
578
|
+
#### Options
|
|
579
|
+
|
|
580
|
+
| Option | Description |
|
|
581
|
+
| --- | --- |
|
|
582
|
+
| `--env <env>` | Target environment: development \| production \| test (default: production). |
|
|
583
|
+
| `--namespace <namespace>` | Kubernetes namespace to act on (default: default). |
|
|
584
|
+
| `--args <key=value-list>` | Comma-separated domain parameters, e.g. `names=postgres-secret`, `recipient=age1...`, `sub-conf=nexodev`. |
|
|
585
|
+
| `--dry-run` | Reports what the action would change without changing anything. |
|
|
586
|
+
| `--force` | Confirms the irreversible variant of the action. |
|
|
587
|
+
| `--plain` | Prints the value in plain text (get). |
|
|
588
|
+
| `--filter <keyword>` | Filters by matching key or value (list). |
|
|
589
|
+
| `--copy` | Copies the value to the clipboard (get). |
|
|
554
590
|
| `-h, --help` | display help for command |
|
|
555
591
|
|
|
556
592
|
---
|
|
@@ -624,7 +660,6 @@ Manages database operations with support for MariaDB and MongoDB, including impo
|
|
|
624
660
|
| `--pod-name <pod-name>` | Comma-separated list of pod names or patterns (supports wildcards like "mariadb-*"). |
|
|
625
661
|
| `--all-pods` | Target all matching pods instead of just the first one. |
|
|
626
662
|
| `--primary-pod` | Automatically detect and use MongoDB primary pod (MongoDB only). |
|
|
627
|
-
| `--primary-pod-ensure <pod-name>` | Ensure setup of MongoDB replica set primary pod before operations. |
|
|
628
663
|
| `--stats` | Display database statistics (collection/table names with document/row counts). |
|
|
629
664
|
| `--collections <collections>` | Comma-separated list of database collections to operate on. |
|
|
630
665
|
| `--out-path <out-path>` | Specifies a custom output path for backups. |
|
|
@@ -698,7 +733,7 @@ Manages cron jobs: execute jobs directly or generate and apply K8s CronJob manif
|
|
|
698
733
|
| `--setup-start` | Updates deploy-list package.json start script and generates+applies its K8s CronJob manifests. |
|
|
699
734
|
| `--namespace <namespace>` | Kubernetes namespace for the CronJob resources (default: "default"). |
|
|
700
735
|
| `--image <image>` | Custom container image for the CronJob pods. |
|
|
701
|
-
| `--node-name <node-name>` | Pins the CronJob pods to this node via a kubernetes.io/hostname nodeSelector. |
|
|
736
|
+
| `--node-name <node-name>` | Pins the CronJob pods to this node via a kubernetes.io/hostname nodeSelector. With --apply, defaults to this machine when the cluster knows it as a node, because the pods mount its checkout. |
|
|
702
737
|
| `--git` | Pass --git flag to cron job execution. |
|
|
703
738
|
| `--cmd <cmd>` | Optional pre-script commands to run before cron execution. |
|
|
704
739
|
| `--dev` | Use local ./ base path instead of global underpost installation. |
|
|
@@ -713,7 +748,7 @@ Manages cron jobs: execute jobs directly or generate and apply K8s CronJob manif
|
|
|
713
748
|
|
|
714
749
|
### underpost fs
|
|
715
750
|
|
|
716
|
-
|
|
751
|
+
Uploads, pulls, or deletes Cloudinary assets and synchronizes the selected storage manifest.
|
|
717
752
|
|
|
718
753
|
**Usage:** `underpost fs [options] [path]`
|
|
719
754
|
|
|
@@ -721,61 +756,40 @@ Manages file storage, defaulting to file upload operations.
|
|
|
721
756
|
|
|
722
757
|
| Argument | Description |
|
|
723
758
|
| --- | --- |
|
|
724
|
-
| `path` |
|
|
759
|
+
| `path` | Selects one file or all files below a directory. Required unless --tracked is set. |
|
|
725
760
|
|
|
726
761
|
#### Options
|
|
727
762
|
|
|
728
763
|
| Option | Description |
|
|
729
764
|
| --- | --- |
|
|
730
|
-
| `--rm` |
|
|
731
|
-
| `--git` |
|
|
732
|
-
| `--recursive` |
|
|
733
|
-
| `--
|
|
734
|
-
| `--
|
|
765
|
+
| `--rm` | Deletes selected remote assets and their manifest entries. |
|
|
766
|
+
| `--git` | Restricts filesystem selection to Git-tracked files. Does not change Git state. |
|
|
767
|
+
| `--recursive` | Compatibility option. Directories always select files recursively. |
|
|
768
|
+
| `--tracked` | Selects only manifest entries. An optional path limits their scope. |
|
|
769
|
+
| `--deploy-id <deploy-id>` | Selects the deployment configuration. |
|
|
770
|
+
| `--pull` | Downloads selected manifest assets. Use --tracked to restore missing local files. |
|
|
735
771
|
| `--omit-unzip` | With --pull, keeps the downloaded .zip file and skips extraction. |
|
|
736
|
-
| `--force` |
|
|
737
|
-
| `--storage-
|
|
738
|
-
|
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
### underpost test
|
|
743
|
-
|
|
744
|
-
Manages and runs tests, defaulting to the current Underpost default test suite.
|
|
745
|
-
|
|
746
|
-
**Usage:** `underpost test [options] [deploy-list]`
|
|
747
|
-
|
|
748
|
-
#### Arguments
|
|
749
|
-
|
|
750
|
-
| Argument | Description |
|
|
751
|
-
| --- | --- |
|
|
752
|
-
| `deploy-list` | A comma-separated list of deployment IDs (e.g., "default-a,default-b"). |
|
|
753
|
-
|
|
754
|
-
#### Options
|
|
755
|
-
|
|
756
|
-
| Option | Description |
|
|
757
|
-
| --- | --- |
|
|
758
|
-
| `--itc` | Executes tests within the container execution context. |
|
|
759
|
-
| `--sh` | Copies the container entrypoint shell command to the clipboard. |
|
|
760
|
-
| `--logs` | Displays container logs for test debugging. |
|
|
761
|
-
| `--pod-name <pod-name>` | Optional: Specifies the pod name for test execution. |
|
|
762
|
-
| `--pod-status <pod-status>` | Optional: Filters tests by pod status. |
|
|
763
|
-
| `--kind-type <kind-type>` | Optional: Specifies the Kind cluster type for tests. |
|
|
772
|
+
| `--force` | Overwrites remote uploads or local downloads. Does not change selection. |
|
|
773
|
+
| `--storage-id <sub-id>` | Selects storage.<sub-id>.json. The default is storage.json. |
|
|
774
|
+
| `--key <path>` | Selects one exact manifest key within the path scope and filters. |
|
|
775
|
+
| `--from-key <path>` | Starts an inclusive range in manifest key order. |
|
|
776
|
+
| `--to-key <path>` | Ends an inclusive range. The default start is the first manifest key. |
|
|
777
|
+
| `--key-regex <pattern>` | Filters manifest keys by a JavaScript regular expression. |
|
|
764
778
|
| `-h, --help` | display help for command |
|
|
765
779
|
|
|
766
780
|
---
|
|
767
781
|
|
|
768
782
|
### underpost monitor
|
|
769
783
|
|
|
770
|
-
Manages health server monitoring
|
|
784
|
+
Manages health server monitoring, the cluster observability stack, and host dashboards.
|
|
771
785
|
|
|
772
|
-
**Usage:** `underpost monitor [options]
|
|
786
|
+
**Usage:** `underpost monitor [options] [deploy-id] [env]`
|
|
773
787
|
|
|
774
788
|
#### Arguments
|
|
775
789
|
|
|
776
790
|
| Argument | Description |
|
|
777
791
|
| --- | --- |
|
|
778
|
-
| `deploy-id` | The deployment configuration ID to monitor. |
|
|
792
|
+
| `deploy-id` | The deployment configuration ID to monitor. With the observability flags it selects which deploys are scraped; "dd" covers every deploy in dd.routes. (default: "dd") |
|
|
779
793
|
| `env` | Optional: The environment to monitor (e.g., "development", "production"). Defaults to "development". |
|
|
780
794
|
|
|
781
795
|
#### Options
|
|
@@ -797,13 +811,70 @@ Manages health server monitoring for specified deployments.
|
|
|
797
811
|
| `--versions <deployment-versions>` | Specifies the deployment versions to monitor. eg. "blue,green", "green" |
|
|
798
812
|
| `--ready-deployment` | Run in ready deployment monitor mode. |
|
|
799
813
|
| `--promote` | Promotes the deployment after monitoring. |
|
|
814
|
+
| `--observability` | Deploys or converges the cluster observability stack (Prometheus, Alertmanager, Blackbox Exporter, Grafana), ensuring the Gateway API metrics source and local-path storage provisioner are ready. |
|
|
815
|
+
| `--sync-prom` | Regenerates the scrape configuration, alert rules and Alertmanager route from the live deploy configuration and event registry, applies Grafana admin credentials, then reloads or rolls only the affected component. |
|
|
816
|
+
| `--events <event-ids>` | Comma-separated event ids to provision; empty provisions every registered event. |
|
|
817
|
+
| `--webhook-url <url>` | URL Alertmanager delivers events to (defaults to the node address of `event --serve`). |
|
|
818
|
+
| `--extra-targets <targets>` | Comma-separated additional "host:port" scrape targets. |
|
|
819
|
+
| `--metrics-server` | Installs the Kubernetes metrics-server (kubectl top / HPA resource API). Skipped on K3s, which bundles its own, unless --force. |
|
|
820
|
+
| `--cockpit` | Installs and enables the Cockpit KVM dashboard on this host (cockpit, cockpit-machines, libvirt) and opens its firewall service. |
|
|
821
|
+
| `--cockpit-stop` | Stops and disables the Cockpit KVM dashboard and closes its firewall service. |
|
|
822
|
+
| `--grafana-host <host>` | Publishes Grafana at https://<host>/grafana through the edge Gateway that already serves that hostname. |
|
|
823
|
+
| `--node-port` | Publishes Grafana on the node's LAN address (port 32300). |
|
|
824
|
+
| `--expose-grafana` | Republishes Grafana with --grafana-host / --node-port without redeploying the stack. |
|
|
825
|
+
| `--webhook-token` | Prints the shared event webhook token, to persist as UNDERPOST_EVENT_TOKEN in the cron deploy env. |
|
|
826
|
+
| `--node-name <k8s-node-name>` | Pins every monitoring workload to this node; moving Grafana deletes and recreates its node-local data. |
|
|
827
|
+
| `--kubeadm` | Treats the cluster as kubeadm when resolving node and host addresses. |
|
|
828
|
+
| `--kind` | Treats the cluster as Kind (Docker nodes) when resolving node and host addresses. |
|
|
829
|
+
| `--k3s` | Treats the cluster as K3s when resolving node and host addresses. |
|
|
830
|
+
| `--force` | Confirms an install that would replace a bundled component (e.g. --metrics-server on K3s). |
|
|
831
|
+
| `--dev` | Sets the development cli context (scrapes over HTTP, defaults the cluster type to Kind). |
|
|
832
|
+
| `-h, --help` | display help for command |
|
|
833
|
+
|
|
834
|
+
---
|
|
835
|
+
|
|
836
|
+
### underpost event
|
|
837
|
+
|
|
838
|
+
Dispatches operational events and provisions the monitoring rules that trigger them.
|
|
839
|
+
|
|
840
|
+
**Usage:** `underpost event [options] [event-id]`
|
|
841
|
+
|
|
842
|
+
#### Arguments
|
|
843
|
+
|
|
844
|
+
| Argument | Description |
|
|
845
|
+
| --- | --- |
|
|
846
|
+
| `event-id` | The operational event to dispatch. Options: wireguard-server-down,wireguard-spoke-down,public-ingress-down,node-cpu-limit-exceeded,node-memory-limit-exceeded,hub-bandwidth-limit-exceeded,node-disk-limit-exceeded,node-network-traffic-exceeded. |
|
|
847
|
+
|
|
848
|
+
#### Options
|
|
849
|
+
|
|
850
|
+
| Option | Description |
|
|
851
|
+
| --- | --- |
|
|
852
|
+
| `--deploy` | Merges the event into the set already deployed in the cluster and republishes the monitoring configuration. |
|
|
853
|
+
| `--undeploy` | Removes the event from the deployed set and republishes without it. |
|
|
854
|
+
| `--suspend-events <state-file>` | Saves the exact deployed event set and temporarily republishes observability without event probes or alerts. |
|
|
855
|
+
| `--resume-events <state-file>` | Restores and resynchronizes the exact event set saved by --suspend-events, then removes the state file. |
|
|
856
|
+
| `--serve` | Runs the Alertmanager webhook receiver in the foreground (use --service to supervise it). |
|
|
857
|
+
| `--service` | Installs the receiver on a WireGuard control node as the underpost-event systemd unit. It remains available while the tunnel is down. |
|
|
858
|
+
| `--service-stop` | Stops, disables and removes the underpost-event systemd unit. |
|
|
859
|
+
| `--service-status` | Reports whether the underpost-event unit is active and enabled. |
|
|
860
|
+
| `--list` | Lists the registered events with their resolved probe targets. |
|
|
861
|
+
| `--port <port>` | Listening port for --serve and the generated unit (default: 39099). |
|
|
862
|
+
| `--cooldown-ms <ms>` | Minimum interval between two dispatches of one event in --serve (default: 10000). |
|
|
863
|
+
| `--spoke <spoke-id>` | Spoke to remediate when dispatching wireguard-spoke-down by hand; a webhook takes it from the alert labels. |
|
|
864
|
+
| `--nodes <node-names>` | Comma-separated node documents to act on — hubs for wireguard-server-down, peers for wireguard-spoke-down. Empty covers every registered hub, or every peer of this node hub. |
|
|
865
|
+
| `--namespace <namespace>` | Kubernetes namespace holding the observability stack. Defaults to "default". |
|
|
866
|
+
| `--webhook-url <url>` | URL Alertmanager delivers to, written into the generated route with --deploy. |
|
|
867
|
+
| `--dev` | Sets the development cli context. |
|
|
868
|
+
| `--dry-run` | Reports the remediation the event would run without executing it. |
|
|
869
|
+
| `--no-notify` | Skips the operational alert declared in engine-private/deploy/conf.event.json. |
|
|
870
|
+
| `--e2e-test` | Rehearses the event against the live edge: breaks the real subject, waits for the probe to fail, runs the remediation, and verifies the notification was actually sent. |
|
|
800
871
|
| `-h, --help` | display help for command |
|
|
801
872
|
|
|
802
873
|
---
|
|
803
874
|
|
|
804
875
|
### underpost ssh
|
|
805
876
|
|
|
806
|
-
Manages SSH credentials and sessions for remote access to cluster nodes or services.
|
|
877
|
+
Manages cluster scoped SSH credentials and sessions for remote access to cluster nodes or services. Users are registered in engine-private/deploy/conf.users.json and keys are stored in engine-private/deploy/users/<user>.
|
|
807
878
|
|
|
808
879
|
**Usage:** `underpost ssh [options]`
|
|
809
880
|
|
|
@@ -811,7 +882,6 @@ Manages SSH credentials and sessions for remote access to cluster nodes or servi
|
|
|
811
882
|
|
|
812
883
|
| Option | Description |
|
|
813
884
|
| --- | --- |
|
|
814
|
-
| `--deploy-id <deploy-id>` | Sets deploy id context for ssh operations. |
|
|
815
885
|
| `--generate` | Generates new ssh credential and stores it in current private keys file storage. |
|
|
816
886
|
| `--user <user>` | Sets custom ssh user |
|
|
817
887
|
| `--password <password>` | Sets custom ssh password |
|
|
@@ -830,8 +900,6 @@ Manages SSH credentials and sessions for remote access to cluster nodes or servi
|
|
|
830
900
|
| `--key-test` | Tests the SSH key using ssh-keygen. |
|
|
831
901
|
| `--stop` | Stops the SSH service. |
|
|
832
902
|
| `--status` | Checks the status of the SSH service. |
|
|
833
|
-
| `--connect-uri` | Displays the connection URI. |
|
|
834
|
-
| `--copy` | Copies the connection URI to clipboard. |
|
|
835
903
|
| `-h, --help` | display help for command |
|
|
836
904
|
|
|
837
905
|
---
|
|
@@ -846,35 +914,51 @@ Manages the WireGuard L3 hub-and-spoke transport and the HAProxy edge gateway in
|
|
|
846
914
|
|
|
847
915
|
| Option | Description |
|
|
848
916
|
| --- | --- |
|
|
849
|
-
| `--deploy-id <deploy-id>` | Deploy IDs whose conf.server.json/conf.instances.json define the routes. Accepts one id or a comma-separated list; defaults to "dd", every deploy in dd.
|
|
917
|
+
| `--deploy-id <deploy-id>` | Deploy IDs whose conf.server.json/conf.instances.json define the routes. Accepts one id or a comma-separated list; defaults to "dd", every deploy in dd.routes, because the edge holds one pair of map files for the whole cluster. |
|
|
850
918
|
| `--interface <name>` | WireGuard interface name (default: "wg0"). |
|
|
851
919
|
| `--wireguard-install` | Installs the wireguard-tools, haproxy and iptables host packages. |
|
|
852
920
|
| `--wireguard-setup` | Generates keys, builds the interface config, and applies local network rules. |
|
|
853
|
-
| `--
|
|
854
|
-
| `--
|
|
921
|
+
| `--node-config` | Writes a node identity under deploy/nodes, named after the machine it describes. |
|
|
922
|
+
| `--node-name <node-name>` | Node record to write; defaults to this hostname, which is what runtime commands resolve their identity by. |
|
|
923
|
+
| `--node-role <role>` | Machine role: control, worker, or hub. |
|
|
924
|
+
| `--hub-host <ipv4>` | Static public IPv4 key of the hub topology this node belongs to. |
|
|
855
925
|
| `--port <port>` | WireGuard UDP listening port (default: 51820). |
|
|
856
|
-
| `--cidr <cidr>` | Hub interface address
|
|
857
|
-
| `--peer-ip <ip>` | Tunnel address
|
|
858
|
-
| `--
|
|
859
|
-
| `--public-key <key>` |
|
|
926
|
+
| `--cidr <cidr>` | Hub interface address on a hub; overlay subnet routed through the hub on control and worker nodes. |
|
|
927
|
+
| `--peer-ip <ip>` | Tunnel address used by --peer-add or to update the selected node during setup. |
|
|
928
|
+
| `--peer-id <peer-id>` | Topology peer represented by a control or worker node identity. |
|
|
929
|
+
| `--public-key <key>` | Public key used by off-host topology authoring or --peer-add. |
|
|
860
930
|
| `--peer-add <peer-id>` | Registers a spoke and applies it to the running hub without a restart. |
|
|
861
|
-
| `--peer-remove <peer-id>` | Removes a
|
|
931
|
+
| `--peer-remove <peer-id>` | Removes a peer from the selected topology and running hub. |
|
|
862
932
|
| `--allowed-ips <cidrs>` | Comma-separated CIDRs routed to the spoke (e.g. "10.0.0.2/32,192.168.10.0/24"). |
|
|
863
933
|
| `--hosts <hosts>` | Comma-separated hostnames bound to the spoke, overriding instance resolution. |
|
|
864
934
|
| `--instances <instances>` | Comma-separated conf.instances.json ids bound to the spoke. |
|
|
935
|
+
| `--management-host <host>` | Stable LAN or management address used to repair this peer when its tunnel address is unavailable. |
|
|
865
936
|
| `--default` | Marks the spoke as the fallback for hostnames that match no other binding. |
|
|
866
937
|
| `--haproxy-setup` | Installs HAProxy, publishes the current routes, and enables the daemon. |
|
|
867
938
|
| `--haproxy-sync` | Recompiles the SNI/Host maps from deploy config and hot-reloads HAProxy. |
|
|
868
939
|
| `--status` | Prints the whole edge context without changing anything: role, interface, tunnel address, public key, daemon states, peers with their bindings and link health, and the resolved routing. |
|
|
869
|
-
| `--build-conf` | Writes only engine-private/deploy/conf.wireguard.json and touches no host state. Combine with --wireguard-setup / --peer-add / --peer-remove to author the topology off-box; alone it normalizes and validates the existing
|
|
940
|
+
| `--build-conf` | Writes only engine-private/deploy/conf.wireguard.json and touches no host state. Combine with --wireguard-setup / --peer-add / --peer-remove to author the topology off-box; alone it normalizes and validates the existing topology. |
|
|
870
941
|
| `--forward-proxy-server` | Ensures the hub HTTP/CONNECT forward proxy runs as the underpost-forward-proxy systemd service, bound to the tunnel address only (default port 1080), and returns. Authenticates every request with FORWARD_PROXY_API_KEY, so spokes can reach the internet through the VPS public address. Idempotent: re-running converges on the one service and restarts it only when the unit actually changed. |
|
|
871
|
-
| `--forward-proxy-server-host <host>` | Address the forward proxy binds, overriding the hub tunnel address
|
|
942
|
+
| `--forward-proxy-server-host <host>` | Address the forward proxy binds, overriding the selected hub tunnel address. |
|
|
872
943
|
| `--forward-proxy-server-port <port>` | Port the forward proxy binds (default: 1080). |
|
|
873
|
-
| `--ssh-forward-port <port>` | Publishes the default spoke SSH port on this public TCP port of the hub, so CI with no fixed address can reach the cluster node (e.g. 2222). "0" closes it. Stored in
|
|
944
|
+
| `--ssh-forward-port <port>` | Publishes the default spoke SSH port on this public TCP port of the hub, so CI with no fixed address can reach the cluster node (e.g. 2222). "0" closes it. Stored in hub topology. |
|
|
945
|
+
| `--sync` | Brings every registered node engine checkout up to date over its SSH identity: clean, pull, fix and install. |
|
|
946
|
+
| `--nodes <node-names>` | Comma-separated node documents --sync, --cmd, --node-exporter and --connect-uri act on. Empty covers every hub and every peer of this node hub. |
|
|
947
|
+
| `--connect-uri` | Prints the SSH command that reaches each node named by --nodes, joining the node document under engine-private/deploy/nodes to the management address it is registered under in engine-private/deploy/conf.users.json. Empty --nodes lists the whole fleet. |
|
|
948
|
+
| `--copy` | Copies the --connect-uri output to the clipboard instead of printing it. |
|
|
949
|
+
| `--cmd <command-list>` | Comma-separated custom commands to run on the selected nodes over their SSH identity. Given with --sync, only these run in place of the sync steps. |
|
|
950
|
+
| `--node-exporter` | Provisions the host metrics collector as a systemd service on the selected hub nodes, bound to their tunnel address, so machines outside the cluster report hardware metrics like every cluster node. |
|
|
951
|
+
| `--repo-engine <repo>` | Engine repository --sync pulls from, as owner/repo or a clone URL. Defaults to the configured account engine. |
|
|
952
|
+
| `--repo-engine-private <repo>` | Private engine repository --sync pulls from, as owner/repo or a clone URL. Defaults to the configured private repo derived from --repo-engine. |
|
|
874
953
|
| `--wireguard-start` | Enables and starts wg-quick@<interface> and the QUIC forward. |
|
|
954
|
+
| `--wireguard-restart` | Restarts wg-quick@<interface> and restores the hub QUIC forward. |
|
|
875
955
|
| `--wireguard-stop` | Tears down the interface and removes its transient packet rules. |
|
|
876
|
-
| `--
|
|
877
|
-
| `--
|
|
956
|
+
| `--check` | Waits for an active interface and a fresh handshake with its required peer. |
|
|
957
|
+
| `--check-timeout <seconds>` | Maximum wait for --check (default: 30). |
|
|
958
|
+
| `--expected-role <role>` | Refuses restart/check unless this host has the expected node role. |
|
|
959
|
+
| `--expected-id <peer-id>` | Refuses restart/check unless this node represents the expected peer id. |
|
|
960
|
+
| `--wireguard-reset` | Removes generated host state, keeping keys, topology and node identity. |
|
|
961
|
+
| `--wireguard-reinstall` | Full purge, package reinstall and re-key; updates the selected topology key. |
|
|
878
962
|
| `--dry-run` | Prints the files and commands the run would apply, without touching the host. |
|
|
879
963
|
| `-h, --help` | display help for command |
|
|
880
964
|
|
|
@@ -890,35 +974,51 @@ Manages the HAProxy edge gateway over the WireGuard transport (same subsystem as
|
|
|
890
974
|
|
|
891
975
|
| Option | Description |
|
|
892
976
|
| --- | --- |
|
|
893
|
-
| `--deploy-id <deploy-id>` | Deploy IDs whose conf.server.json/conf.instances.json define the routes. Accepts one id or a comma-separated list; defaults to "dd", every deploy in dd.
|
|
977
|
+
| `--deploy-id <deploy-id>` | Deploy IDs whose conf.server.json/conf.instances.json define the routes. Accepts one id or a comma-separated list; defaults to "dd", every deploy in dd.routes, because the edge holds one pair of map files for the whole cluster. |
|
|
894
978
|
| `--interface <name>` | WireGuard interface name (default: "wg0"). |
|
|
895
979
|
| `--wireguard-install` | Installs the wireguard-tools, haproxy and iptables host packages. |
|
|
896
980
|
| `--wireguard-setup` | Generates keys, builds the interface config, and applies local network rules. |
|
|
897
|
-
| `--
|
|
898
|
-
| `--
|
|
981
|
+
| `--node-config` | Writes a node identity under deploy/nodes, named after the machine it describes. |
|
|
982
|
+
| `--node-name <node-name>` | Node record to write; defaults to this hostname, which is what runtime commands resolve their identity by. |
|
|
983
|
+
| `--node-role <role>` | Machine role: control, worker, or hub. |
|
|
984
|
+
| `--hub-host <ipv4>` | Static public IPv4 key of the hub topology this node belongs to. |
|
|
899
985
|
| `--port <port>` | WireGuard UDP listening port (default: 51820). |
|
|
900
|
-
| `--cidr <cidr>` | Hub interface address
|
|
901
|
-
| `--peer-ip <ip>` | Tunnel address
|
|
902
|
-
| `--
|
|
903
|
-
| `--public-key <key>` |
|
|
986
|
+
| `--cidr <cidr>` | Hub interface address on a hub; overlay subnet routed through the hub on control and worker nodes. |
|
|
987
|
+
| `--peer-ip <ip>` | Tunnel address used by --peer-add or to update the selected node during setup. |
|
|
988
|
+
| `--peer-id <peer-id>` | Topology peer represented by a control or worker node identity. |
|
|
989
|
+
| `--public-key <key>` | Public key used by off-host topology authoring or --peer-add. |
|
|
904
990
|
| `--peer-add <peer-id>` | Registers a spoke and applies it to the running hub without a restart. |
|
|
905
|
-
| `--peer-remove <peer-id>` | Removes a
|
|
991
|
+
| `--peer-remove <peer-id>` | Removes a peer from the selected topology and running hub. |
|
|
906
992
|
| `--allowed-ips <cidrs>` | Comma-separated CIDRs routed to the spoke (e.g. "10.0.0.2/32,192.168.10.0/24"). |
|
|
907
993
|
| `--hosts <hosts>` | Comma-separated hostnames bound to the spoke, overriding instance resolution. |
|
|
908
994
|
| `--instances <instances>` | Comma-separated conf.instances.json ids bound to the spoke. |
|
|
995
|
+
| `--management-host <host>` | Stable LAN or management address used to repair this peer when its tunnel address is unavailable. |
|
|
909
996
|
| `--default` | Marks the spoke as the fallback for hostnames that match no other binding. |
|
|
910
997
|
| `--haproxy-setup` | Installs HAProxy, publishes the current routes, and enables the daemon. |
|
|
911
998
|
| `--haproxy-sync` | Recompiles the SNI/Host maps from deploy config and hot-reloads HAProxy. |
|
|
912
999
|
| `--status` | Prints the whole edge context without changing anything: role, interface, tunnel address, public key, daemon states, peers with their bindings and link health, and the resolved routing. |
|
|
913
|
-
| `--build-conf` | Writes only engine-private/deploy/conf.wireguard.json and touches no host state. Combine with --wireguard-setup / --peer-add / --peer-remove to author the topology off-box; alone it normalizes and validates the existing
|
|
1000
|
+
| `--build-conf` | Writes only engine-private/deploy/conf.wireguard.json and touches no host state. Combine with --wireguard-setup / --peer-add / --peer-remove to author the topology off-box; alone it normalizes and validates the existing topology. |
|
|
914
1001
|
| `--forward-proxy-server` | Ensures the hub HTTP/CONNECT forward proxy runs as the underpost-forward-proxy systemd service, bound to the tunnel address only (default port 1080), and returns. Authenticates every request with FORWARD_PROXY_API_KEY, so spokes can reach the internet through the VPS public address. Idempotent: re-running converges on the one service and restarts it only when the unit actually changed. |
|
|
915
|
-
| `--forward-proxy-server-host <host>` | Address the forward proxy binds, overriding the hub tunnel address
|
|
1002
|
+
| `--forward-proxy-server-host <host>` | Address the forward proxy binds, overriding the selected hub tunnel address. |
|
|
916
1003
|
| `--forward-proxy-server-port <port>` | Port the forward proxy binds (default: 1080). |
|
|
917
|
-
| `--ssh-forward-port <port>` | Publishes the default spoke SSH port on this public TCP port of the hub, so CI with no fixed address can reach the cluster node (e.g. 2222). "0" closes it. Stored in
|
|
1004
|
+
| `--ssh-forward-port <port>` | Publishes the default spoke SSH port on this public TCP port of the hub, so CI with no fixed address can reach the cluster node (e.g. 2222). "0" closes it. Stored in hub topology. |
|
|
1005
|
+
| `--sync` | Brings every registered node engine checkout up to date over its SSH identity: clean, pull, fix and install. |
|
|
1006
|
+
| `--nodes <node-names>` | Comma-separated node documents --sync, --cmd, --node-exporter and --connect-uri act on. Empty covers every hub and every peer of this node hub. |
|
|
1007
|
+
| `--connect-uri` | Prints the SSH command that reaches each node named by --nodes, joining the node document under engine-private/deploy/nodes to the management address it is registered under in engine-private/deploy/conf.users.json. Empty --nodes lists the whole fleet. |
|
|
1008
|
+
| `--copy` | Copies the --connect-uri output to the clipboard instead of printing it. |
|
|
1009
|
+
| `--cmd <command-list>` | Comma-separated custom commands to run on the selected nodes over their SSH identity. Given with --sync, only these run in place of the sync steps. |
|
|
1010
|
+
| `--node-exporter` | Provisions the host metrics collector as a systemd service on the selected hub nodes, bound to their tunnel address, so machines outside the cluster report hardware metrics like every cluster node. |
|
|
1011
|
+
| `--repo-engine <repo>` | Engine repository --sync pulls from, as owner/repo or a clone URL. Defaults to the configured account engine. |
|
|
1012
|
+
| `--repo-engine-private <repo>` | Private engine repository --sync pulls from, as owner/repo or a clone URL. Defaults to the configured private repo derived from --repo-engine. |
|
|
918
1013
|
| `--wireguard-start` | Enables and starts wg-quick@<interface> and the QUIC forward. |
|
|
1014
|
+
| `--wireguard-restart` | Restarts wg-quick@<interface> and restores the hub QUIC forward. |
|
|
919
1015
|
| `--wireguard-stop` | Tears down the interface and removes its transient packet rules. |
|
|
920
|
-
| `--
|
|
921
|
-
| `--
|
|
1016
|
+
| `--check` | Waits for an active interface and a fresh handshake with its required peer. |
|
|
1017
|
+
| `--check-timeout <seconds>` | Maximum wait for --check (default: 30). |
|
|
1018
|
+
| `--expected-role <role>` | Refuses restart/check unless this host has the expected node role. |
|
|
1019
|
+
| `--expected-id <peer-id>` | Refuses restart/check unless this node represents the expected peer id. |
|
|
1020
|
+
| `--wireguard-reset` | Removes generated host state, keeping keys, topology and node identity. |
|
|
1021
|
+
| `--wireguard-reinstall` | Full purge, package reinstall and re-key; updates the selected topology key. |
|
|
922
1022
|
| `--dry-run` | Prints the files and commands the run would apply, without touching the host. |
|
|
923
1023
|
| `-h, --help` | display help for command |
|
|
924
1024
|
|
|
@@ -967,7 +1067,7 @@ Runs specified scripts using various runners.
|
|
|
967
1067
|
|
|
968
1068
|
| Argument | Description |
|
|
969
1069
|
| --- | --- |
|
|
970
|
-
| `runner-id` | The runner ID to run. Options: status,expose,dev-cluster,metadata,ipfs-expose,svc-ls,svc-rm,node-move,
|
|
1070
|
+
| `runner-id` | The runner ID to run. Options: status,expose,dev-cluster,metadata,ipfs-expose,svc-ls,svc-rm,node-move,cluster-build,template-deploy,template-deploy-local,docker-image,clean,pull,ssh-deploy,ide,crypto-policy,sync,net-tables,stop,tz,get-traffic,restore-mongo,ingress-refresh,instance-promote,instance,deploy-key,instance-build-manifest,ls-deployments,host-update,install-crio,dd-container,ip-info,db-client,git-conf,promote,cluster,gateway-status,deploy,disk-clean,disk-devices,disk-usage,dev,service,etc-hosts,log,ps,pid-info,background,ports,deploy-test,tf-vae-test,spark-template,kill,generate-pass,gpu-env,tf-gpu-test,deploy-job,push-bundle,pull-bundle,kubeadm-wireguard,build-cluster-deployment-manifests,monitor-ui,shared-dir,shared-dir-add-user. |
|
|
971
1071
|
| `path` | The input value, identifier, or path for the operation. |
|
|
972
1072
|
|
|
973
1073
|
#### Options
|
|
@@ -992,6 +1092,9 @@ Runs specified scripts using various runners.
|
|
|
992
1092
|
| `--volume-mount-path <volume-mount-path>` | Optional: Specifies the volume mount path for test execution. |
|
|
993
1093
|
| `--volume-type <volume-type>` | Optional: Specifies the volume type for test execution. |
|
|
994
1094
|
| `--image-name <image-name>` | Optional: Specifies the image name for test execution. |
|
|
1095
|
+
| `--image <image>` | Container image the deployment pulls and runs (sync). |
|
|
1096
|
+
| `--runtime-image <name>` | src/runtime/<name> image family the cluster runner brings up (default "express"). |
|
|
1097
|
+
| `--versions <deployment-versions>` | Comma-separated blue/green deployment versions (sync); unset resolves the next colour. |
|
|
995
1098
|
| `--container-name <container-name>` | Optional: Specifies the container name for test execution. |
|
|
996
1099
|
| `--namespace <namespace>` | Optional: Specifies the namespace for test execution. |
|
|
997
1100
|
| `--tty` | Enables TTY for the container in deploy-job. |
|
|
@@ -1027,6 +1130,7 @@ Runs specified scripts using various runners.
|
|
|
1027
1130
|
| `--deploy-id <deploy-id>` | Sets deploy id context for the runner execution. |
|
|
1028
1131
|
| `--user <user>` | Sets user context for the runner execution. |
|
|
1029
1132
|
| `--hosts <hosts>` | Comma-separated list of hosts for the runner execution. |
|
|
1133
|
+
| `--split <mb>` | Zip part size in MB for push-bundle, or "none" to upload a single zip. Defaults to 8. |
|
|
1030
1134
|
| `--instance-id <instance-id>` | Sets instance id context for the runner execution. |
|
|
1031
1135
|
| `--pid <process-id>` | Sets process id context for the runner execution. |
|
|
1032
1136
|
| `--timeout-response <duration>` | Sets HTTPProxy per-route response timeout (e.g., "1s", "300ms", "infinity"). |
|
|
@@ -1038,6 +1142,7 @@ Runs specified scripts using various runners.
|
|
|
1038
1142
|
| `--gateway-class <name>` | GatewayClass name for generated Gateway manifests (default "eg"). |
|
|
1039
1143
|
| `--disable-http3` | Omits the QUIC/HTTP3 listener config and the Alt-Svc advertisement from Gateway API manifests. |
|
|
1040
1144
|
| `--quic-port <port>` | UDP port advertised for QUIC/HTTP3 in generated Gateway API manifests (default 443). |
|
|
1145
|
+
| `--repo-engine-private <repo>` | Private configuration repository the pull runner checks out, as owner/repo or a clone URL. Defaults to the private repo derived from the engine source. |
|
|
1041
1146
|
| `--disable-private-conf-update` | Disables updates to private configuration during execution. |
|
|
1042
1147
|
| `--logs` | Streams logs during the runner execution. |
|
|
1043
1148
|
| `--monitor-status <status>` | Sets the status to monitor for pod/resource (default: "Running"). |
|
|
@@ -1058,6 +1163,42 @@ Runs specified scripts using various runners.
|
|
|
1058
1163
|
|
|
1059
1164
|
---
|
|
1060
1165
|
|
|
1166
|
+
### underpost test
|
|
1167
|
+
|
|
1168
|
+
Runs the test tiers locally, inside deployment pods, or as a cluster Job with Allure reporting.
|
|
1169
|
+
|
|
1170
|
+
**Usage:** `underpost test [options] [suite]`
|
|
1171
|
+
|
|
1172
|
+
#### Arguments
|
|
1173
|
+
|
|
1174
|
+
| Argument | Description |
|
|
1175
|
+
| --- | --- |
|
|
1176
|
+
| `suite` | A comma-separated list of suites or tiers to run. Suites: unit, infra, app, cyberia, contracts, all. Tiers: unit, infra:1-security, infra:2-network, infra:3-cluster, infra:4-ingress, infra:5-observability, app, cyberia, contracts. Defaults to every tier, in tier order. (default: "") |
|
|
1177
|
+
|
|
1178
|
+
#### Options
|
|
1179
|
+
|
|
1180
|
+
| Option | Description |
|
|
1181
|
+
| --- | --- |
|
|
1182
|
+
| `--itc` | Runs in this execution context instead of dispatching into deployment pods. |
|
|
1183
|
+
| `--deploy-list <deploy-list>` | A comma-separated list of deployment IDs to run the suite inside. |
|
|
1184
|
+
| `--grep <pattern>` | Runs only tests whose name matches the pattern. |
|
|
1185
|
+
| `--watch` | Keeps the runner open and re-runs affected suites on change. |
|
|
1186
|
+
| `--no-coverage` | Skips coverage instrumentation and reporters. |
|
|
1187
|
+
| `--allure` | Writes Allure results for the cluster dashboard alongside the run. |
|
|
1188
|
+
| `--dashboard` | Applies the Allure dashboard to the cluster and exits. |
|
|
1189
|
+
| `--job` | Runs the selected suite on the cluster as a Kubernetes Job (requires --image). |
|
|
1190
|
+
| `--image <image>` | Image carrying the engine and its dependencies, for --job. |
|
|
1191
|
+
| `--node-name <node-name>` | Pins the --job pod to this node. |
|
|
1192
|
+
| `--host <host>` | Hostname to route the --dashboard sub-path on. |
|
|
1193
|
+
| `--namespace <namespace>` | Kubernetes namespace for --dashboard, --job and --deploy-list. |
|
|
1194
|
+
| `--dry-run` | Renders the --dashboard or --job manifests without applying them. |
|
|
1195
|
+
| `--pod-name <pod-name>` | Waits for this cluster object to reach --pod-status instead of running tests. |
|
|
1196
|
+
| `--pod-status <pod-status>` | Status --pod-name waits for (default: "Running"). |
|
|
1197
|
+
| `--kind-type <kind-type>` | Kind --pod-name queries (default: "pods"). |
|
|
1198
|
+
| `-h, --help` | display help for command |
|
|
1199
|
+
|
|
1200
|
+
---
|
|
1201
|
+
|
|
1061
1202
|
### underpost docker-compose
|
|
1062
1203
|
|
|
1063
1204
|
General-purpose Docker Compose development pipeline (mirrors the Kubernetes dev stack).
|
|
@@ -1185,9 +1326,9 @@ Manages baremetal server operations, including installation, database setup, com
|
|
|
1185
1326
|
| `--no-remote-install` | Skips the controller-side remote install orchestration over SSH. |
|
|
1186
1327
|
| `--worker` | Post-install infra role: join the deployed node as a Kubernetes worker (requires --control <ip>). Without this flag the node is set up as a control-plane. |
|
|
1187
1328
|
| `--control <ip>` | Control-plane IP the worker node joins (used with --worker for kubeadm infra setup). |
|
|
1188
|
-
| `--ssh-key-dir <dir>` | Directory holding the SSH key pair used for commissioning/orchestration (expects <dir>/id_rsa and <dir>/id_rsa.pub). Overrides the workflow "sshKeyDir"; defaults to engine-private/deploy. Supports a leading ~. |
|
|
1189
|
-
| `--deploy-id <deploy-id>` | Deployment ID
|
|
1190
|
-
| `--user <user>` | SSH user
|
|
1329
|
+
| `--ssh-key-dir <dir>` | Directory holding the SSH key pair used for commissioning/orchestration (expects <dir>/id_rsa and <dir>/id_rsa.pub). Overrides the workflow "sshKeyDir"; defaults to engine-private/deploy/users/<user> for a non-root --user, otherwise engine-private/deploy. Supports a leading ~. |
|
|
1330
|
+
| `--deploy-id <deploy-id>` | Deployment ID used to resolve the private engine repo cloned onto the node (engine-<suffix>-private. |
|
|
1331
|
+
| `--user <user>` | SSH user whose cluster scoped key pair is used (engine-private/deploy/users/<user>/id_rsa) and the login user on an existing control-plane (defaults to root, whose key is engine-private/deploy/id_rsa). Mirrors the ssh command --user. |
|
|
1191
1332
|
| `--engine-repo <url>` | Custom engine repo cloned + normalized to /home/dd/engine on the node (default: <GITHUB_USERNAME>/engine). |
|
|
1192
1333
|
| `--engine-branch <branch>` | Branch of the engine repo to clone on the node. |
|
|
1193
1334
|
| `--engine-private-repo <url>` | Custom private repo cloned + normalized to /home/dd/engine/engine-private on the node (default: <GITHUB_USERNAME>/engine-<id>-private). |
|
|
@@ -1219,6 +1360,31 @@ Manages baremetal server operations, including installation, database setup, com
|
|
|
1219
1360
|
|
|
1220
1361
|
---
|
|
1221
1362
|
|
|
1363
|
+
### underpost package
|
|
1364
|
+
|
|
1365
|
+
Generates the package manifests a deploy id owns, from the engine manifest and the deploy's product catalog, and installs the dependencies that catalog pins.
|
|
1366
|
+
|
|
1367
|
+
**Usage:** `underpost package [options] [deploy-id]`
|
|
1368
|
+
|
|
1369
|
+
#### Arguments
|
|
1370
|
+
|
|
1371
|
+
| Argument | Description |
|
|
1372
|
+
| --- | --- |
|
|
1373
|
+
| `deploy-id` | Deploy id, or a comma-separated list, to act on. Defaults to every deploy id in the private configuration tree. |
|
|
1374
|
+
|
|
1375
|
+
#### Options
|
|
1376
|
+
|
|
1377
|
+
| Option | Description |
|
|
1378
|
+
| --- | --- |
|
|
1379
|
+
| `--sync` | Regenerates each deploy manifest from the engine manifest and the deploy catalog (default). |
|
|
1380
|
+
| `--install` | Installs the dependencies the deploy catalog pins into this checkout. |
|
|
1381
|
+
| `--rename <name>` | Renames this checkout's package, in its manifest and its lockfile. |
|
|
1382
|
+
| `--set-repo <owner/repo>` | Points this checkout's package at a repository. |
|
|
1383
|
+
| `--dry-run` | For --sync: resolves the manifests without writing them. |
|
|
1384
|
+
| `-h, --help` | display help for command |
|
|
1385
|
+
|
|
1386
|
+
---
|
|
1387
|
+
|
|
1222
1388
|
### underpost release
|
|
1223
1389
|
|
|
1224
1390
|
Release orchestrator for building new versions and deploying releases of the Underpost CLI.
|