cyberia 3.2.12 → 3.2.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +127 -68
- package/.github/workflows/cyberia-client.cd.yml +40 -0
- package/.github/workflows/cyberia-server.cd.yml +40 -0
- package/.github/workflows/docker-image.cyberia-client.ci.yml +49 -0
- package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +48 -0
- package/.github/workflows/docker-image.cyberia-server.ci.yml +69 -0
- package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +69 -0
- package/.github/workflows/docker-image.engine-cyberia.ci.yml +52 -0
- package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +52 -0
- package/.github/workflows/engine-cyberia.cd.yml +34 -24
- package/.github/workflows/engine-cyberia.ci.yml +27 -5
- package/.github/workflows/ghpkg.ci.yml +89 -1
- package/.github/workflows/gitlab.ci.yml +1 -1
- package/.github/workflows/hardhat.ci.yml +1 -1
- package/.github/workflows/npmpkg.ci.yml +19 -12
- package/.github/workflows/publish.ci.yml +2 -2
- package/.github/workflows/publish.cyberia.ci.yml +5 -16
- package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -8
- package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
- package/CHANGELOG.md +451 -1
- package/CLI-HELP.md +1040 -1130
- package/Dockerfile +141 -43
- package/Dockerfile.dev +143 -0
- package/Dockerfile.test +165 -0
- package/README.md +1 -1
- package/baremetal/commission-workflows.json +1 -0
- package/bin/build.js +128 -136
- package/bin/build.template.js +25 -179
- package/bin/cyberia.js +1089 -188
- package/bin/deploy.js +6 -3
- package/bin/index.js +1089 -188
- package/bump.config.js +1 -0
- package/compose.env +131 -0
- package/conf.js +19 -1
- package/deployment.yaml +74 -2
- package/docker-compose.yml +316 -0
- package/hardhat/hardhat.config.js +2 -2
- package/hardhat/package-lock.json +620 -2041
- package/hardhat/package.json +7 -5
- package/hardhat/scripts/deployObjectLayerToken.js +18 -18
- package/hardhat/test/ObjectLayerToken.js +378 -274
- package/ipfs/configure-ipfs.sh +13 -0
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +2 -2
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +74 -2
- package/manifests/deployment/dd-cyberia-development/grpc-service.yaml +17 -0
- package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +32 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/mongodb/entrypoint.sh +76 -0
- package/nginx.conf +87 -0
- package/package.json +34 -22
- package/pv-pvc.yaml +32 -0
- package/scripts/disk-clean.sh +85 -60
- package/scripts/kubeadm-node-setup.sh +317 -0
- package/scripts/link-local-underpost-cli.sh +6 -0
- package/scripts/rocky-kickstart.sh +877 -185
- package/scripts/rpmfusion-ffmpeg-setup.sh +26 -50
- package/scripts/test-monitor.sh +248 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +43 -7
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +17 -25
- package/src/api/cyberia-action/cyberia-action.controller.js +19 -0
- package/src/api/cyberia-action/cyberia-action.model.js +21 -29
- package/src/api/cyberia-action/cyberia-action.router.js +42 -7
- package/src/api/cyberia-action/cyberia-action.service.js +20 -4
- package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +58 -57
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +37 -6
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +8 -2
- package/src/api/cyberia-entity/cyberia-entity.router.js +39 -7
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +74 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.model.js +67 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +63 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +46 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +62 -10
- package/src/api/cyberia-instance/cyberia-instance.model.js +32 -2
- package/src/api/cyberia-instance/cyberia-instance.router.js +6 -6
- package/src/api/cyberia-instance/cyberia-world-generator.js +116 -3
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +3 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +39 -7
- package/src/api/cyberia-map/cyberia-map.router.js +21 -6
- package/src/api/cyberia-quest/cyberia-quest.controller.js +38 -0
- package/src/api/cyberia-quest/cyberia-quest.router.js +47 -7
- package/src/api/cyberia-quest/cyberia-quest.service.js +59 -4
- package/src/api/cyberia-saga/cyberia-saga.controller.js +74 -0
- package/src/api/cyberia-saga/cyberia-saga.model.js +59 -0
- package/src/api/cyberia-saga/cyberia-saga.router.js +63 -0
- package/src/api/cyberia-saga/cyberia-saga.service.js +42 -0
- package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +551 -122
- package/src/api/cyberia-skill/cyberia-skill.controller.js +74 -0
- package/src/api/cyberia-skill/cyberia-skill.model.js +50 -0
- package/src/api/cyberia-skill/cyberia-skill.router.js +63 -0
- package/src/api/cyberia-skill/cyberia-skill.service.js +42 -0
- package/src/api/ipfs/ipfs.service.js +28 -15
- package/src/api/object-layer/object-layer.router.js +25 -15
- package/src/api/object-layer/object-layer.service.js +15 -20
- package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +39 -7
- package/src/cli/baremetal.js +717 -16
- package/src/cli/cluster.js +80 -5
- package/src/cli/deploy.js +326 -292
- package/src/cli/docker-compose.js +648 -0
- package/src/cli/env.js +12 -6
- package/src/cli/fs.js +75 -30
- package/src/cli/image.js +187 -55
- package/src/cli/index.js +157 -6
- package/src/cli/kickstart.js +142 -20
- package/src/cli/monitor.js +387 -6
- package/src/cli/release.js +72 -15
- package/src/cli/repository.js +339 -40
- package/src/cli/run.js +678 -186
- package/src/cli/secrets.js +82 -48
- package/src/cli/ssh.js +234 -0
- package/src/cli/static.js +2 -2
- package/src/client/components/core/PanelForm.js +44 -44
- package/src/client/components/cyberia/ActionEngineCyberia.js +1867 -0
- package/src/client/components/cyberia/EntityEngineCyberia.js +585 -0
- package/src/client/components/cyberia/InstanceEngineCyberia.js +219 -13
- package/src/client/components/cyberia/MapEngineCyberia.js +154 -71
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +40 -63
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +34 -20
- package/src/client/components/cyberia/SharedDefaultsCyberia.js +195 -4
- package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +66 -0
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +8 -0
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +8 -0
- package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +92 -20
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +272 -50
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +3 -3
- package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +39 -22
- package/src/client/public/cyberia-docs/CYBERIA-LORE.md +88 -0
- package/src/client/public/cyberia-docs/CYBERIA-SAGA.md +394 -0
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +28 -12
- package/src/client/public/cyberia-docs/CYBERIA.md +1 -1
- package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +27 -5
- package/src/client/public/cyberia-docs/ROADMAP.md +1 -1
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +1 -1
- package/src/client/services/cyberia-entity-type-default/cyberia-entity-type-default.service.js +99 -0
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +2 -2
- package/src/client/services/cyberia-map/cyberia-map.management.js +2 -2
- package/src/client/services/cyberia-saga/cyberia-saga.service.js +99 -0
- package/src/client/services/cyberia-skill/cyberia-skill.service.js +99 -0
- package/src/client/services/object-layer/object-layer.management.js +6 -6
- package/src/{server → client-builder}/client-build-docs.js +15 -5
- package/src/{server → client-builder}/client-build-live.js +3 -3
- package/src/{server → client-builder}/client-build.js +25 -22
- package/src/{server → client-builder}/client-dev-server.js +3 -3
- package/src/{server → client-builder}/client-icons.js +2 -2
- package/src/{server → client-builder}/ssr.js +5 -5
- package/src/client.build.js +1 -3
- package/src/client.dev.js +1 -1
- package/src/db/mongo/MongoBootstrap.js +12 -12
- package/src/db/mongo/MongooseDB.js +2 -1
- package/src/grpc/cyberia/grpc-server.js +255 -70
- package/src/index.js +12 -1
- package/src/mailer/EmailRender.js +1 -1
- package/src/{server → projects/cyberia}/atlas-sprite-sheet-generator.js +2 -2
- package/src/{server → projects/cyberia}/besu-genesis-generator.js +3 -3
- package/src/projects/cyberia/catalog-cyberia.js +81 -0
- package/src/projects/cyberia/gemini-client.js +175 -0
- package/src/projects/cyberia/generate-saga.js +2107 -0
- package/src/{server → projects/cyberia}/ipfs-client.js +6 -4
- package/src/{server → projects/cyberia}/object-layer.js +12 -108
- package/src/{server → projects/cyberia}/semantic-layer-generator-floor.js +1 -1
- package/src/{server → projects/cyberia}/semantic-layer-generator-resource.js +1 -1
- package/src/{server → projects/cyberia}/semantic-layer-generator-skin.js +1 -1
- package/src/{server → projects/cyberia}/semantic-layer-generator.js +2 -2
- package/src/{server → projects/cyberia}/shape-generator.js +2 -2
- package/src/projects/underpost/catalog-underpost.js +60 -0
- package/src/runtime/cyberia-client/Dockerfile +31 -83
- package/src/runtime/cyberia-client/Dockerfile.dev +23 -30
- package/src/runtime/cyberia-server/Dockerfile +23 -42
- package/src/runtime/cyberia-server/Dockerfile.dev +20 -35
- package/src/runtime/engine-cyberia/Dockerfile +143 -0
- package/src/runtime/engine-cyberia/Dockerfile.dev +143 -0
- package/src/runtime/engine-cyberia/Dockerfile.test +165 -0
- package/src/runtime/engine-cyberia/compose.env +131 -0
- package/src/runtime/engine-cyberia/docker-compose.yml +316 -0
- package/src/runtime/engine-cyberia/ipfs/configure-ipfs.sh +13 -0
- package/src/runtime/engine-cyberia/mongodb/entrypoint.sh +76 -0
- package/src/runtime/engine-cyberia/nginx.conf +87 -0
- package/src/runtime/express/Express.js +2 -2
- package/src/runtime/nginx/Nginx.js +250 -0
- package/src/runtime/wp/Dockerfile +3 -3
- package/src/server/catalog.js +72 -0
- package/src/server/conf.js +415 -60
- package/src/server/runtime-status.js +252 -0
- package/src/server/start.js +42 -11
- package/src/server.js +6 -2
- package/test/cyberia-instance-conf-defaults.test.js +140 -0
- package/test/deploy-monitor.test.js +267 -0
- package/test/shape-generator.test.js +7 -1
- package/typedoc.dd-cyberia.json +3 -1
- package/typedoc.json +3 -1
- package/manifests/deployment/dd-test-development/deployment.yaml +0 -256
- package/manifests/deployment/dd-test-development/proxy.yaml +0 -102
- /package/src/client/ssr/{Render.js → RootDocument.js} +0 -0
- /package/src/{server → client-builder}/client-formatted.js +0 -0
package/.env.example
CHANGED
|
@@ -1,72 +1,131 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
# Working env-file for the Cyberia ecosystem compose stack (custom workflow).
|
|
2
|
+
# Used as-is by the CLI (not generated). Set real credentials here, then run:
|
|
3
|
+
# underpost docker-compose --up --deploy-id dd-cyberia --docker-compose-id cyberia
|
|
4
|
+
#
|
|
5
|
+
# Loaded explicitly via --env-file so container service-discovery values (the
|
|
6
|
+
# Docker network hostnames below) are not overridden by any host-local .env.
|
|
7
|
+
|
|
8
|
+
# --- Ecosystem images (dev variants, published by docker-image.*.dev.ci.yml) --
|
|
9
|
+
# This stack is development-only, so it uses the `-dev` images built from the
|
|
10
|
+
# Dockerfile.dev variants (debug builds + live-inspection tooling).
|
|
11
|
+
MONGO_IMAGE=mongo:latest
|
|
12
|
+
VALKEY_IMAGE=valkey/valkey:latest
|
|
13
|
+
ENGINE_CYBERIA_IMAGE=underpost/engine-cyberia-dev
|
|
14
|
+
ENGINE_CYBERIA_TAG=v3.2.70
|
|
15
|
+
CYBERIA_SERVER_IMAGE=underpost/cyberia-server-dev
|
|
16
|
+
CYBERIA_SERVER_TAG=v3.2.70
|
|
17
|
+
CYBERIA_CLIENT_IMAGE=underpost/cyberia-client-dev
|
|
18
|
+
CYBERIA_CLIENT_TAG=v3.2.70
|
|
19
|
+
PROXY_IMAGE=nginx:stable-alpine
|
|
20
|
+
IPFS_IMAGE=ipfs/kubo:latest
|
|
21
|
+
IPFS_CLUSTER_IMAGE=ipfs/ipfs-cluster:latest
|
|
22
|
+
|
|
23
|
+
# --- Private-repo bootstrap (engine-cyberia clones the private dd-cyberia conf) -
|
|
24
|
+
# The engine-cyberia image ships only the underpost CLI; at start it runs the
|
|
25
|
+
# `underpost start --build` bootstrap, which clones ${GITHUB_USERNAME}/engine-cyberia.
|
|
26
|
+
GITHUB_USERNAME=underpostnet
|
|
27
|
+
GITHUB_TOKEN=change_me_private_repo_token
|
|
28
|
+
|
|
29
|
+
# --- MongoDB (translation of Secret mongodb-secret) --------------------------
|
|
30
|
+
MONGO_INITDB_ROOT_USERNAME=admin
|
|
31
|
+
MONGO_INITDB_ROOT_PASSWORD=change_me_dev_password
|
|
32
|
+
|
|
33
|
+
# --- Application DB / cache connection (Docker service discovery, not localhost)
|
|
34
|
+
NODE_ENV=development
|
|
21
35
|
DB_PROVIDER=mongoose
|
|
22
|
-
DB_HOST=mongodb://
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
SMTP_SECURE=true
|
|
27
|
-
SMTP_AUTH_USER=changethis
|
|
28
|
-
SMTP_AUTH_PASS=changethis
|
|
29
|
-
MAILER_SENDER_EMAIL=noreply@default.net
|
|
30
|
-
MAILER_SENDER_NAME=Default
|
|
31
|
-
DDNS_HOST=changethis
|
|
32
|
-
DDNS_PROVIDER=dondominio
|
|
33
|
-
DDNS_API_KEY=changethis
|
|
34
|
-
DDNS_USER=changethis
|
|
35
|
-
VALKEY_HOST=127.0.0.1
|
|
36
|
+
DB_HOST=mongodb://mongodb:27017
|
|
37
|
+
DB_REPLICA_SET=rs0
|
|
38
|
+
DB_AUTH_SOURCE=admin
|
|
39
|
+
VALKEY_HOST=valkey-service
|
|
36
40
|
VALKEY_PORT=6379
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
NPM_PASSWORD=changethis
|
|
66
|
-
POSTMAN_EMAIL=admin@default.net
|
|
67
|
-
POSTMAN_PASSWORD=changethis
|
|
68
|
-
DEFAULT_SSH_PORT=22
|
|
69
|
-
ENABLE_FILE_LOGS=false
|
|
41
|
+
|
|
42
|
+
# --- Cyberia instance wiring (compose service DNS) ---------------------------
|
|
43
|
+
# cyberia-server -> engine-cyberia authority endpoints. INTERNAL only: these use
|
|
44
|
+
# the docker service DNS (engine-cyberia) and must never leak to browser clients.
|
|
45
|
+
INSTANCE_CODE=amethyst-strata-expansion
|
|
46
|
+
ENGINE_API_BASE_URL=http://engine-cyberia:4005
|
|
47
|
+
ENGINE_GRPC_ADDRESS=engine-cyberia:50051
|
|
48
|
+
|
|
49
|
+
# Client-visible Content Authority origin, forwarded to browser/Raylib clients
|
|
50
|
+
# for every engine-cyberia content/asset/metadata request. Host-reachable
|
|
51
|
+
# (docker publishes engine-cyberia :4005). Distinct from ENGINE_API_BASE_URL:
|
|
52
|
+
# the two responsibilities must never overwrite each other.
|
|
53
|
+
ENGINE_PUBLIC_URL=http://localhost:4005
|
|
54
|
+
ENGINE_GRPC_RELOAD_INTERVAL_SEC=300
|
|
55
|
+
|
|
56
|
+
# cyberia-server logging. This is the dev stack, so default to DEBUG. Set
|
|
57
|
+
# CYBERIA_SERVER_LOG_LEVEL (debug|info|warn|error) to override the APP_ENV
|
|
58
|
+
# fallback without touching APP_ENV.
|
|
59
|
+
CYBERIA_SERVER_APP_ENV=development
|
|
60
|
+
CYBERIA_SERVER_LOG_LEVEL=
|
|
61
|
+
|
|
62
|
+
# --- engine-cyberia runtime env (loaded into the container via env_file) -----
|
|
63
|
+
# The dd-cyberia engine (engine-private/conf/dd-cyberia/conf.server.json) needs
|
|
64
|
+
# these to boot: DB auth + per-site DB names, the base PORT (the cyberia host is
|
|
65
|
+
# assigned PORT+1 = 4005, which the healthcheck/nginx target), JWT, and mailer.
|
|
66
|
+
# Secrets are DEV PLACEHOLDERS — no real credentials ship in the public image.
|
|
67
|
+
PORT=4004
|
|
68
|
+
NODE_OPTIONS=--max-old-space-size=8192
|
|
70
69
|
BASE_API=api
|
|
71
|
-
|
|
70
|
+
DEFAULT_DEPLOY_ID=dd-cyberia
|
|
71
|
+
DEPLOY_ID=dd-cyberia
|
|
72
|
+
DEFAULT_DEPLOY_HOST=www.cyberiaonline.com
|
|
73
|
+
DEFAULT_DEPLOY_PATH=/
|
|
74
|
+
DISABLE_API_RATE_LIMIT=true
|
|
72
75
|
DOTENV_CONFIG_QUIET=true
|
|
76
|
+
ACCESS_EXPIRE_MINUTES=1440
|
|
77
|
+
REFRESH_EXPIRE_MINUTES=5
|
|
78
|
+
DEV_PROXY_PORT_OFFSET=0
|
|
79
|
+
JWT_SECRET=change_me_dev_jwt_secret
|
|
80
|
+
|
|
81
|
+
# DB auth (must match the MONGO_INITDB_ROOT_* creds above) + per-site DB names.
|
|
82
|
+
DB_USER=admin
|
|
83
|
+
DB_PASSWORD=change_me_dev_password
|
|
84
|
+
|
|
85
|
+
DB_NAME_CYBERIA=cyberia
|
|
86
|
+
|
|
87
|
+
# Mailer / SMTP (dev placeholders — mailer stays inert without real creds).
|
|
88
|
+
MAILER_SENDER_NAME=CYBERIA
|
|
89
|
+
MAILER_SENDER_EMAIL=noreply@example.com
|
|
90
|
+
SMTP_HOST=smtp.example.com
|
|
91
|
+
SMTP_PORT=465
|
|
92
|
+
SMTP_AUTH_USER=change_me
|
|
93
|
+
SMTP_AUTH_PASS=change_me
|
|
94
|
+
MAILER_SENDER_NAME_CYBERIA=CYBERIA
|
|
95
|
+
MAILER_SENDER_EMAIL_CYBERIA=noreply@example.com
|
|
96
|
+
SMTP_HOST_CYBERIA=smtp.example.com
|
|
97
|
+
SMTP_PORT_CYBERIA=465
|
|
98
|
+
SMTP_AUTH_USER_CYBERIA=change_me
|
|
99
|
+
SMTP_AUTH_PASS_CYBERIA=change_me
|
|
100
|
+
|
|
101
|
+
# Third-party integrations (dev placeholders).
|
|
102
|
+
CLOUDINARY_CLOUD_NAME=change_me
|
|
103
|
+
CLOUDINARY_API_KEY=change_me
|
|
104
|
+
CLOUDINARY_API_SECRET=change_me
|
|
105
|
+
GEMINI_API_KEY=change_me
|
|
106
|
+
HUGGINGFACE_API_KEY=change_me
|
|
107
|
+
DEFAULT_ADMIN_EMAIL=admin@example.com
|
|
108
|
+
DEFAULT_ADMIN_PASSWORD=change_me
|
|
109
|
+
|
|
110
|
+
# --- IPFS endpoints ----------------------------------------------------------
|
|
111
|
+
# Kubo (content plane) is the `ipfs` service; the Cluster REST API (:9094, pin
|
|
112
|
+
# replication) is the `ipfs-cluster` service. Override only to target a
|
|
113
|
+
# different node.
|
|
114
|
+
IPFS_API_URL=http://ipfs:5001
|
|
115
|
+
IPFS_GATEWAY_URL=http://ipfs:8080
|
|
116
|
+
IPFS_CLUSTER_API_URL=http://ipfs-cluster:9094
|
|
117
|
+
# 32-byte hex shared secret for the ipfs-cluster consensus (dev default is set
|
|
118
|
+
# in docker-compose.yml). Override for a real/shared cluster.
|
|
119
|
+
# CLUSTER_SECRET=
|
|
120
|
+
|
|
121
|
+
# --- Host-published ports ----------------------------------------------------
|
|
122
|
+
PROXY_HTTP_PORT=80
|
|
123
|
+
IPFS_API_PORT=5001
|
|
124
|
+
IPFS_GATEWAY_PORT=8080
|
|
125
|
+
IPFS_CLUSTER_API_PORT=9094
|
|
126
|
+
MONGO_HOST_PORT=27017
|
|
127
|
+
VALKEY_NODEPORT=32079
|
|
128
|
+
ENGINE_CYBERIA_REST_PORT=4005
|
|
129
|
+
ENGINE_CYBERIA_GRPC_PORT=50051
|
|
130
|
+
CYBERIA_SERVER_PORT=8081
|
|
131
|
+
CYBERIA_CLIENT_PORT=8082
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: CD | Cyberia mmo client | remote ssh
|
|
2
|
+
on:
|
|
3
|
+
workflow_dispatch:
|
|
4
|
+
inputs:
|
|
5
|
+
job:
|
|
6
|
+
description: 'Job to run (deploy)'
|
|
7
|
+
required: true
|
|
8
|
+
type: choice
|
|
9
|
+
options:
|
|
10
|
+
- deploy
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
packages: write
|
|
14
|
+
id-token: write
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
deploy:
|
|
18
|
+
if: >-
|
|
19
|
+
github.repository == 'underpostnet/cyberia-client'
|
|
20
|
+
&& github.event.inputs.job == 'deploy'
|
|
21
|
+
name: Remote SSH deployment
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- name: Run remote deploy via SSH
|
|
25
|
+
uses: appleboy/ssh-action@v1.2.5
|
|
26
|
+
with:
|
|
27
|
+
host: ${{ secrets.SSH_HOST }}
|
|
28
|
+
username: ${{ secrets.SSH_USERNAME }}
|
|
29
|
+
key: ${{ secrets.SSH_PRIV_KEY }}
|
|
30
|
+
port: ${{ secrets.SSH_PORT }}
|
|
31
|
+
command_timeout: 60m
|
|
32
|
+
script: |
|
|
33
|
+
set -e
|
|
34
|
+
echo "Starting remote deploy"
|
|
35
|
+
cd /home/dd/engine
|
|
36
|
+
TARGET_NODE=hp-envy-iso-ram-rocky9
|
|
37
|
+
sudo -n -- /bin/bash -lc "node bin run pull"
|
|
38
|
+
sudo -n -- /bin/bash -lc "node bin run secret"
|
|
39
|
+
sudo -n -- /bin/bash -lc "node bin/build dd-cyberia --conf"
|
|
40
|
+
sudo -n -- /bin/bash -lc "node bin run instance --node-name $HOSTNAME --kubeadm 'dd-cyberia,mmo-client' --node-name ${TARGET_NODE} --ssh-key-path /home/dd/tmp/897as9dxhaskd9"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: CD | Cyberia mmo server | remote ssh
|
|
2
|
+
on:
|
|
3
|
+
workflow_dispatch:
|
|
4
|
+
inputs:
|
|
5
|
+
job:
|
|
6
|
+
description: 'Job to run (deploy)'
|
|
7
|
+
required: true
|
|
8
|
+
type: choice
|
|
9
|
+
options:
|
|
10
|
+
- deploy
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
packages: write
|
|
14
|
+
id-token: write
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
deploy:
|
|
18
|
+
if: >-
|
|
19
|
+
github.repository == 'underpostnet/cyberia-server'
|
|
20
|
+
&& github.event.inputs.job == 'deploy'
|
|
21
|
+
name: Remote SSH deployment
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- name: Run remote deploy via SSH
|
|
25
|
+
uses: appleboy/ssh-action@v1.2.5
|
|
26
|
+
with:
|
|
27
|
+
host: ${{ secrets.SSH_HOST }}
|
|
28
|
+
username: ${{ secrets.SSH_USERNAME }}
|
|
29
|
+
key: ${{ secrets.SSH_PRIV_KEY }}
|
|
30
|
+
port: ${{ secrets.SSH_PORT }}
|
|
31
|
+
command_timeout: 60m
|
|
32
|
+
script: |
|
|
33
|
+
set -e
|
|
34
|
+
echo "Starting remote deploy"
|
|
35
|
+
cd /home/dd/engine
|
|
36
|
+
TARGET_NODE=hp-envy-iso-ram-rocky9
|
|
37
|
+
sudo -n -- /bin/bash -lc "node bin run pull"
|
|
38
|
+
sudo -n -- /bin/bash -lc "node bin run secret"
|
|
39
|
+
sudo -n -- /bin/bash -lc "node bin/build dd-cyberia --conf"
|
|
40
|
+
sudo -n -- /bin/bash -lc "node bin run instance --node-name $HOSTNAME --kubeadm 'dd-cyberia,mmo-server' --node-name ${TARGET_NODE} --ssh-key-path /home/dd/tmp/897as9dxhaskd9"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: CI | Docker Image cyberia-client
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
env:
|
|
7
|
+
UNDERPOST_VERSION: '3.2.70'
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-push:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
packages: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
|
+
|
|
19
|
+
- name: Set up Docker Buildx
|
|
20
|
+
uses: docker/setup-buildx-action@v4
|
|
21
|
+
|
|
22
|
+
- name: Login to Docker Hub
|
|
23
|
+
uses: docker/login-action@v4
|
|
24
|
+
with:
|
|
25
|
+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
26
|
+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
27
|
+
|
|
28
|
+
- name: Extract Docker metadata
|
|
29
|
+
id: meta
|
|
30
|
+
uses: docker/metadata-action@v6
|
|
31
|
+
with:
|
|
32
|
+
images: underpost/cyberia-client
|
|
33
|
+
tags: |
|
|
34
|
+
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
35
|
+
type=ref,event=branch
|
|
36
|
+
type=sha,prefix=sha-
|
|
37
|
+
|
|
38
|
+
- name: Build and push image
|
|
39
|
+
uses: docker/build-push-action@v7
|
|
40
|
+
with:
|
|
41
|
+
context: .
|
|
42
|
+
file: ./Dockerfile
|
|
43
|
+
push: true
|
|
44
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
45
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
46
|
+
|
|
47
|
+
build-args: |
|
|
48
|
+
UNDERPOST_VERSION=${{ env.UNDERPOST_VERSION }}
|
|
49
|
+
BUILD_MODE=RELEASE
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: CI | Docker Image cyberia-client (dev)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
env:
|
|
7
|
+
UNDERPOST_VERSION: '3.2.70'
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-push:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
packages: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
|
+
|
|
19
|
+
- name: Set up Docker Buildx
|
|
20
|
+
uses: docker/setup-buildx-action@v4
|
|
21
|
+
|
|
22
|
+
- name: Login to Docker Hub
|
|
23
|
+
uses: docker/login-action@v4
|
|
24
|
+
with:
|
|
25
|
+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
26
|
+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
27
|
+
|
|
28
|
+
- name: Extract Docker metadata
|
|
29
|
+
id: meta
|
|
30
|
+
uses: docker/metadata-action@v6
|
|
31
|
+
with:
|
|
32
|
+
images: underpost/cyberia-client-dev
|
|
33
|
+
tags: |
|
|
34
|
+
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
35
|
+
type=ref,event=branch
|
|
36
|
+
type=sha,prefix=sha-
|
|
37
|
+
|
|
38
|
+
- name: Build and push image
|
|
39
|
+
uses: docker/build-push-action@v7
|
|
40
|
+
with:
|
|
41
|
+
context: .
|
|
42
|
+
file: ./Dockerfile.dev
|
|
43
|
+
push: true
|
|
44
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
45
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
46
|
+
build-args: |
|
|
47
|
+
UNDERPOST_VERSION=${{ env.UNDERPOST_VERSION }}
|
|
48
|
+
BUILD_MODE=DEBUG
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
name: CI | Docker Image cyberia-server
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
env:
|
|
7
|
+
UNDERPOST_VERSION: '3.2.70'
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-push:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
packages: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
|
+
|
|
19
|
+
- name: Checkout engine
|
|
20
|
+
uses: actions/checkout@v7
|
|
21
|
+
with:
|
|
22
|
+
repository: underpostnet/engine
|
|
23
|
+
path: engine
|
|
24
|
+
|
|
25
|
+
- name: Setup Node.js
|
|
26
|
+
uses: actions/setup-node@v6
|
|
27
|
+
with:
|
|
28
|
+
node-version: '24.x'
|
|
29
|
+
|
|
30
|
+
- name: Install engine dependencies
|
|
31
|
+
working-directory: engine
|
|
32
|
+
run: npm ci --ignore-scripts
|
|
33
|
+
|
|
34
|
+
- name: Build cyberia-server SSR dashboard
|
|
35
|
+
working-directory: engine
|
|
36
|
+
run: |
|
|
37
|
+
node bin/deploy cyberia
|
|
38
|
+
node bin/cyberia run-workflow build-server-dashboard --output-path ../public/index.html
|
|
39
|
+
|
|
40
|
+
- name: Set up Docker Buildx
|
|
41
|
+
uses: docker/setup-buildx-action@v4
|
|
42
|
+
|
|
43
|
+
- name: Login to Docker Hub
|
|
44
|
+
uses: docker/login-action@v4
|
|
45
|
+
with:
|
|
46
|
+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
47
|
+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
48
|
+
|
|
49
|
+
- name: Extract Docker metadata
|
|
50
|
+
id: meta
|
|
51
|
+
uses: docker/metadata-action@v6
|
|
52
|
+
with:
|
|
53
|
+
images: underpost/cyberia-server
|
|
54
|
+
tags: |
|
|
55
|
+
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
56
|
+
type=ref,event=branch
|
|
57
|
+
type=sha,prefix=sha-
|
|
58
|
+
|
|
59
|
+
- name: Build and push image
|
|
60
|
+
uses: docker/build-push-action@v7
|
|
61
|
+
with:
|
|
62
|
+
context: .
|
|
63
|
+
file: ./Dockerfile
|
|
64
|
+
push: true
|
|
65
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
66
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
67
|
+
|
|
68
|
+
build-args: |
|
|
69
|
+
UNDERPOST_VERSION=${{ env.UNDERPOST_VERSION }}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
name: CI | Docker Image cyberia-server (dev)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
env:
|
|
7
|
+
UNDERPOST_VERSION: '3.2.70'
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-push:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
packages: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
|
+
|
|
19
|
+
- name: Checkout engine
|
|
20
|
+
uses: actions/checkout@v7
|
|
21
|
+
with:
|
|
22
|
+
repository: underpostnet/engine
|
|
23
|
+
path: engine
|
|
24
|
+
|
|
25
|
+
- name: Setup Node.js
|
|
26
|
+
uses: actions/setup-node@v6
|
|
27
|
+
with:
|
|
28
|
+
node-version: '24.x'
|
|
29
|
+
|
|
30
|
+
- name: Install engine dependencies
|
|
31
|
+
working-directory: engine
|
|
32
|
+
run: npm ci --ignore-scripts
|
|
33
|
+
|
|
34
|
+
- name: Build cyberia-server SSR dashboard (dev)
|
|
35
|
+
working-directory: engine
|
|
36
|
+
run: |
|
|
37
|
+
node bin/deploy cyberia
|
|
38
|
+
node bin/cyberia run-workflow build-server-dashboard --dev --output-path ../public/index.html
|
|
39
|
+
|
|
40
|
+
- name: Set up Docker Buildx
|
|
41
|
+
uses: docker/setup-buildx-action@v4
|
|
42
|
+
|
|
43
|
+
- name: Login to Docker Hub
|
|
44
|
+
uses: docker/login-action@v4
|
|
45
|
+
with:
|
|
46
|
+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
47
|
+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
48
|
+
|
|
49
|
+
- name: Extract Docker metadata
|
|
50
|
+
id: meta
|
|
51
|
+
uses: docker/metadata-action@v6
|
|
52
|
+
with:
|
|
53
|
+
images: underpost/cyberia-server-dev
|
|
54
|
+
tags: |
|
|
55
|
+
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
56
|
+
type=ref,event=branch
|
|
57
|
+
type=sha,prefix=sha-
|
|
58
|
+
|
|
59
|
+
- name: Build and push image
|
|
60
|
+
uses: docker/build-push-action@v7
|
|
61
|
+
with:
|
|
62
|
+
context: .
|
|
63
|
+
file: ./Dockerfile.dev
|
|
64
|
+
push: true
|
|
65
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
66
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
67
|
+
|
|
68
|
+
build-args: |
|
|
69
|
+
UNDERPOST_VERSION=${{ env.UNDERPOST_VERSION }}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: CI | Docker Image engine-cyberia
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
env:
|
|
7
|
+
UNDERPOST_VERSION: '3.2.70'
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-push:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
packages: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
|
+
|
|
19
|
+
- name: Set up Docker Buildx
|
|
20
|
+
uses: docker/setup-buildx-action@v4
|
|
21
|
+
|
|
22
|
+
- name: Login to Docker Hub
|
|
23
|
+
uses: docker/login-action@v4
|
|
24
|
+
with:
|
|
25
|
+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
26
|
+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
27
|
+
|
|
28
|
+
- name: Extract Docker metadata
|
|
29
|
+
id: meta
|
|
30
|
+
uses: docker/metadata-action@v6
|
|
31
|
+
with:
|
|
32
|
+
images: underpost/engine-cyberia
|
|
33
|
+
tags: |
|
|
34
|
+
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
35
|
+
type=ref,event=branch
|
|
36
|
+
type=sha,prefix=sha-
|
|
37
|
+
|
|
38
|
+
- name: Build and push image
|
|
39
|
+
uses: docker/build-push-action@v7
|
|
40
|
+
with:
|
|
41
|
+
context: .
|
|
42
|
+
file: ./src/runtime/engine-cyberia/Dockerfile
|
|
43
|
+
push: true
|
|
44
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
45
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
46
|
+
|
|
47
|
+
build-args: |
|
|
48
|
+
UNDERPOST_VERSION=${{ env.UNDERPOST_VERSION }}
|
|
49
|
+
|
|
50
|
+
secrets: |
|
|
51
|
+
github_token=${{ secrets.GITHUB_TOKEN }}
|
|
52
|
+
github_username=${{ github.actor }}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: CI | Docker Image engine-cyberia (dev)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
env:
|
|
7
|
+
UNDERPOST_VERSION: '3.2.70'
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-push:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
packages: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
|
+
|
|
19
|
+
- name: Set up Docker Buildx
|
|
20
|
+
uses: docker/setup-buildx-action@v4
|
|
21
|
+
|
|
22
|
+
- name: Login to Docker Hub
|
|
23
|
+
uses: docker/login-action@v4
|
|
24
|
+
with:
|
|
25
|
+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
26
|
+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
27
|
+
|
|
28
|
+
- name: Extract Docker metadata
|
|
29
|
+
id: meta
|
|
30
|
+
uses: docker/metadata-action@v6
|
|
31
|
+
with:
|
|
32
|
+
images: underpost/engine-cyberia-dev
|
|
33
|
+
tags: |
|
|
34
|
+
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
35
|
+
type=ref,event=branch
|
|
36
|
+
type=sha,prefix=sha-
|
|
37
|
+
|
|
38
|
+
- name: Build and push image
|
|
39
|
+
uses: docker/build-push-action@v7
|
|
40
|
+
with:
|
|
41
|
+
context: .
|
|
42
|
+
file: ./src/runtime/engine-cyberia/Dockerfile.dev
|
|
43
|
+
push: true
|
|
44
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
45
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
46
|
+
|
|
47
|
+
build-args: |
|
|
48
|
+
UNDERPOST_VERSION=${{ env.UNDERPOST_VERSION }}
|
|
49
|
+
|
|
50
|
+
secrets: |
|
|
51
|
+
github_token=${{ secrets.GITHUB_TOKEN }}
|
|
52
|
+
github_username=${{ github.actor }}
|