cyberia 3.2.22 → 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 +33 -24
- package/.github/workflows/engine-cyberia.ci.yml +13 -3
- package/.github/workflows/ghpkg.ci.yml +88 -1
- package/.github/workflows/gitlab.ci.yml +1 -1
- package/.github/workflows/hardhat.ci.yml +1 -1
- package/.github/workflows/npmpkg.ci.yml +10 -7
- 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 +301 -1
- package/CLI-HELP.md +71 -6
- 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 +31 -0
- package/bin/cyberia.js +1080 -184
- package/bin/deploy.js +2 -2
- package/bin/index.js +1080 -184
- package/bump.config.js +1 -0
- package/compose.env +131 -0
- package/conf.js +18 -1
- package/deployment.yaml +2 -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 +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +2 -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 +31 -19
- package/pv-pvc.yaml +32 -0
- package/scripts/disk-clean.sh +85 -60
- package/scripts/kubeadm-node-setup.sh +317 -0
- package/scripts/rocky-kickstart.sh +877 -185
- package/scripts/rpmfusion-ffmpeg-setup.sh +26 -50
- package/scripts/test-monitor.sh +3 -5
- 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 -129
- 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 +127 -11
- package/src/cli/docker-compose.js +648 -0
- package/src/cli/env.js +11 -2
- package/src/cli/fs.js +75 -30
- package/src/cli/image.js +129 -51
- package/src/cli/index.js +110 -6
- package/src/cli/kickstart.js +142 -20
- package/src/cli/release.js +46 -4
- package/src/cli/repository.js +238 -33
- package/src/cli/run.js +520 -114
- 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/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 +45 -27
- 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 +8 -1
- package/src/client/public/cyberia-docs/CYBERIA.md +1 -1
- package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +5 -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/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 +2 -2
- 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/{server → projects/underpost}/catalog-underpost.js +1 -2
- package/src/runtime/cyberia-client/Dockerfile +27 -61
- package/src/runtime/cyberia-client/Dockerfile.dev +20 -12
- package/src/runtime/cyberia-server/Dockerfile +21 -20
- package/src/runtime/cyberia-server/Dockerfile.dev +17 -8
- 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/server/catalog.js +9 -14
- package/src/server/conf.js +3 -6
- package/src/server/runtime-status.js +18 -1
- package/src/server/start.js +12 -2
- package/src/server.js +6 -2
- package/test/cyberia-instance-conf-defaults.test.js +140 -0
- package/test/deploy-monitor.test.js +26 -10
- package/test/shape-generator.test.js +7 -1
- package/typedoc.dd-cyberia.json +3 -1
- package/typedoc.json +3 -1
- /package/src/client/ssr/{Render.js → RootDocument.js} +0 -0
- /package/src/{server → client-builder}/client-formatted.js +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Kubo /container-init.d hook — runs after `ipfs init`, before the daemon starts.
|
|
3
|
+
# Compose equivalent of the Addresses/Datastore config in manifests/ipfs
|
|
4
|
+
# configmap.yaml (configure-ipfs.sh). Binds the RPC API (5001) and gateway
|
|
5
|
+
# (8080) to all interfaces so the engine and ipfs-cluster containers can reach
|
|
6
|
+
# the daemon at http://ipfs:5001 (ipfs-client.js IPFS_API_URL).
|
|
7
|
+
set -e
|
|
8
|
+
|
|
9
|
+
ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
|
|
10
|
+
ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080
|
|
11
|
+
ipfs config --json Swarm.ConnMgr.HighWater 2000
|
|
12
|
+
ipfs config --json Datastore.BloomFilterSize 1048576
|
|
13
|
+
ipfs config Datastore.StorageMax 100GB
|
|
@@ -20,7 +20,7 @@ spec:
|
|
|
20
20
|
spec:
|
|
21
21
|
containers:
|
|
22
22
|
- name: dd-cyberia-development-blue
|
|
23
|
-
image: underpost/underpost-engine:v3.2.
|
|
23
|
+
image: underpost/underpost-engine:v3.2.70
|
|
24
24
|
imagePullPolicy: IfNotPresent
|
|
25
25
|
envFrom:
|
|
26
26
|
- secretRef:
|
|
@@ -229,7 +229,7 @@ spec:
|
|
|
229
229
|
spec:
|
|
230
230
|
containers:
|
|
231
231
|
- name: dd-cyberia-development-green
|
|
232
|
-
image: underpost/underpost-engine:v3.2.
|
|
232
|
+
image: underpost/underpost-engine:v3.2.70
|
|
233
233
|
imagePullPolicy: IfNotPresent
|
|
234
234
|
envFrom:
|
|
235
235
|
- secretRef:
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
apiVersion: v1
|
|
3
|
+
kind: Service
|
|
4
|
+
metadata:
|
|
5
|
+
name: dd-cyberia-grpc-service-development-blue
|
|
6
|
+
namespace: default
|
|
7
|
+
labels:
|
|
8
|
+
app: dd-cyberia-grpc-service-development-blue
|
|
9
|
+
spec:
|
|
10
|
+
type: ClusterIP
|
|
11
|
+
selector:
|
|
12
|
+
app: dd-cyberia-development-blue
|
|
13
|
+
ports:
|
|
14
|
+
- name: grpc-50051
|
|
15
|
+
protocol: TCP
|
|
16
|
+
port: 50051
|
|
17
|
+
targetPort: 50051
|
|
@@ -10,6 +10,14 @@ spec:
|
|
|
10
10
|
- ReadWriteOnce
|
|
11
11
|
persistentVolumeReclaimPolicy: Retain
|
|
12
12
|
storageClassName: manual
|
|
13
|
+
nodeAffinity:
|
|
14
|
+
required:
|
|
15
|
+
nodeSelectorTerms:
|
|
16
|
+
- matchExpressions:
|
|
17
|
+
- key: kubernetes.io/hostname
|
|
18
|
+
operator: In
|
|
19
|
+
values:
|
|
20
|
+
- kind-worker
|
|
13
21
|
claimRef:
|
|
14
22
|
apiVersion: v1
|
|
15
23
|
kind: PersistentVolumeClaim
|
|
@@ -43,6 +51,14 @@ spec:
|
|
|
43
51
|
- ReadWriteOnce
|
|
44
52
|
persistentVolumeReclaimPolicy: Retain
|
|
45
53
|
storageClassName: manual
|
|
54
|
+
nodeAffinity:
|
|
55
|
+
required:
|
|
56
|
+
nodeSelectorTerms:
|
|
57
|
+
- matchExpressions:
|
|
58
|
+
- key: kubernetes.io/hostname
|
|
59
|
+
operator: In
|
|
60
|
+
values:
|
|
61
|
+
- kind-worker
|
|
46
62
|
claimRef:
|
|
47
63
|
apiVersion: v1
|
|
48
64
|
kind: PersistentVolumeClaim
|
|
@@ -76,6 +92,14 @@ spec:
|
|
|
76
92
|
- ReadWriteOnce
|
|
77
93
|
persistentVolumeReclaimPolicy: Retain
|
|
78
94
|
storageClassName: manual
|
|
95
|
+
nodeAffinity:
|
|
96
|
+
required:
|
|
97
|
+
nodeSelectorTerms:
|
|
98
|
+
- matchExpressions:
|
|
99
|
+
- key: kubernetes.io/hostname
|
|
100
|
+
operator: In
|
|
101
|
+
values:
|
|
102
|
+
- kind-worker
|
|
79
103
|
claimRef:
|
|
80
104
|
apiVersion: v1
|
|
81
105
|
kind: PersistentVolumeClaim
|
|
@@ -109,6 +133,14 @@ spec:
|
|
|
109
133
|
- ReadWriteOnce
|
|
110
134
|
persistentVolumeReclaimPolicy: Retain
|
|
111
135
|
storageClassName: manual
|
|
136
|
+
nodeAffinity:
|
|
137
|
+
required:
|
|
138
|
+
nodeSelectorTerms:
|
|
139
|
+
- matchExpressions:
|
|
140
|
+
- key: kubernetes.io/hostname
|
|
141
|
+
operator: In
|
|
142
|
+
values:
|
|
143
|
+
- kind-worker
|
|
112
144
|
claimRef:
|
|
113
145
|
apiVersion: v1
|
|
114
146
|
kind: PersistentVolumeClaim
|
|
@@ -17,7 +17,7 @@ spec:
|
|
|
17
17
|
spec:
|
|
18
18
|
containers:
|
|
19
19
|
- name: dd-default-development-blue
|
|
20
|
-
image: underpost/underpost-engine:v3.2.
|
|
20
|
+
image: underpost/underpost-engine:v3.2.70
|
|
21
21
|
# resources:
|
|
22
22
|
# requests:
|
|
23
23
|
# memory: "124Ki"
|
|
@@ -98,7 +98,7 @@ spec:
|
|
|
98
98
|
spec:
|
|
99
99
|
containers:
|
|
100
100
|
- name: dd-default-development-green
|
|
101
|
-
image: underpost/underpost-engine:v3.2.
|
|
101
|
+
image: underpost/underpost-engine:v3.2.70
|
|
102
102
|
# resources:
|
|
103
103
|
# requests:
|
|
104
104
|
# memory: "124Ki"
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Generated by 'underpost docker-compose --generate' — do not hand-edit.
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
KEYFILE=/opt/keyfile/mongodb-keyfile
|
|
6
|
+
RS="${DB_REPLICA_SET:-rs0}"
|
|
7
|
+
MEMBER_HOST="mongodb:27017"
|
|
8
|
+
|
|
9
|
+
if [ ! -s "$KEYFILE" ]; then
|
|
10
|
+
openssl rand -base64 756 > "$KEYFILE"
|
|
11
|
+
fi
|
|
12
|
+
chmod 400 "$KEYFILE"
|
|
13
|
+
chown 999:999 "$KEYFILE"
|
|
14
|
+
mkdir -p /data/db
|
|
15
|
+
chown -R 999:999 /data/db
|
|
16
|
+
|
|
17
|
+
# One-time replica-set + root-user bootstrap via the localhost exception,
|
|
18
|
+
# performed in the background once mongod accepts loopback connections.
|
|
19
|
+
(
|
|
20
|
+
for i in $(seq 1 60); do
|
|
21
|
+
if mongosh --quiet --host 127.0.0.1 --eval 'db.adminCommand({ ping: 1 })' >/dev/null 2>&1; then
|
|
22
|
+
break
|
|
23
|
+
fi
|
|
24
|
+
sleep 1
|
|
25
|
+
done
|
|
26
|
+
|
|
27
|
+
cat > /tmp/mongo-bootstrap.js <<JS
|
|
28
|
+
var RS = "$RS";
|
|
29
|
+
var HOST = "$MEMBER_HOST";
|
|
30
|
+
var U = "$MONGO_INITDB_ROOT_USERNAME";
|
|
31
|
+
var P = "$MONGO_INITDB_ROOT_PASSWORD";
|
|
32
|
+
function waitPrimary() {
|
|
33
|
+
for (var i = 0; i < 60; i++) {
|
|
34
|
+
var h = db.hello();
|
|
35
|
+
if (h.isWritablePrimary) return true;
|
|
36
|
+
sleep(1000);
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
var initialized = false;
|
|
41
|
+
try {
|
|
42
|
+
var s = rs.status();
|
|
43
|
+
if (s && s.ok === 1) initialized = true;
|
|
44
|
+
} catch (e) {
|
|
45
|
+
var m = String(e);
|
|
46
|
+
if (m.indexOf("requires authentication") >= 0 || m.indexOf("not authorized") >= 0 || m.indexOf("Unauthorized") >= 0) {
|
|
47
|
+
initialized = true;
|
|
48
|
+
} else if (m.indexOf("NotYetInitialized") < 0 && m.indexOf("no replset config") < 0) {
|
|
49
|
+
throw e;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (!initialized) {
|
|
53
|
+
rs.initiate({ _id: RS, members: [{ _id: 0, host: HOST }] });
|
|
54
|
+
waitPrimary();
|
|
55
|
+
var admin = db.getSiblingDB("admin");
|
|
56
|
+
try {
|
|
57
|
+
admin.createUser({ user: U, pwd: P, roles: [{ role: "root", db: "admin" }] });
|
|
58
|
+
print("BOOTSTRAP_USER_CREATED");
|
|
59
|
+
} catch (e) {
|
|
60
|
+
var s2 = String(e);
|
|
61
|
+
if (s2.indexOf("already exists") < 0 && s2.indexOf("not authorized") < 0 && s2.indexOf("requires authentication") < 0) {
|
|
62
|
+
throw e;
|
|
63
|
+
}
|
|
64
|
+
print("BOOTSTRAP_USER_SKIP");
|
|
65
|
+
}
|
|
66
|
+
print("BOOTSTRAP_DONE");
|
|
67
|
+
} else {
|
|
68
|
+
print("BOOTSTRAP_ALREADY_INITIALIZED");
|
|
69
|
+
}
|
|
70
|
+
JS
|
|
71
|
+
|
|
72
|
+
mongosh --quiet --host 127.0.0.1 /tmp/mongo-bootstrap.js > /tmp/mongo-bootstrap.log 2>&1 || true
|
|
73
|
+
) &
|
|
74
|
+
|
|
75
|
+
exec gosu mongodb mongod \
|
|
76
|
+
--replSet "$RS" --auth --clusterAuthMode keyFile --keyFile "$KEYFILE" --bind_ip_all
|
package/nginx.conf
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Reverse proxy for the Cyberia ecosystem compose stack (custom workflow:
|
|
2
|
+
# --deploy-id dd-cyberia --docker-compose-id cyberia). Hand-authored source of
|
|
3
|
+
# truth for this stack — used as-is (not generated). Mirrors the render format
|
|
4
|
+
# of src/runtime/nginx/Nginx.js (websocket upgrade map, named upstreams,
|
|
5
|
+
# proxy_http_version 1.1, per-host servers).
|
|
6
|
+
#
|
|
7
|
+
# Host -> upstream mapping (matches engine-private/conf/dd-cyberia hosts):
|
|
8
|
+
# www.cyberiaonline.com -> engine-cyberia:4005 (portal + REST + WS authority)
|
|
9
|
+
# server.cyberiaonline.com -> cyberia-server:8081 (Go MMO simulation / websocket)
|
|
10
|
+
# client.cyberiaonline.com -> cyberia-client:8081 (WASM presentation bundle)
|
|
11
|
+
|
|
12
|
+
map $http_upgrade $connection_upgrade {
|
|
13
|
+
default upgrade;
|
|
14
|
+
'' close;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
upstream up_engine_cyberia { server engine-cyberia:4005; }
|
|
18
|
+
upstream up_cyberia_server { server cyberia-server:8081; }
|
|
19
|
+
upstream up_cyberia_client { server cyberia-client:8081; }
|
|
20
|
+
|
|
21
|
+
proxy_http_version 1.1;
|
|
22
|
+
|
|
23
|
+
server {
|
|
24
|
+
listen 80 default_server;
|
|
25
|
+
server_name _ cyberiaonline.com www.cyberiaonline.com;
|
|
26
|
+
|
|
27
|
+
location = /healthz {
|
|
28
|
+
access_log off;
|
|
29
|
+
return 200 "ok\n";
|
|
30
|
+
add_header Content-Type text/plain;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
location / {
|
|
34
|
+
proxy_pass http://up_engine_cyberia;
|
|
35
|
+
proxy_set_header Host $host;
|
|
36
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
37
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
38
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
39
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
40
|
+
proxy_set_header Connection $connection_upgrade;
|
|
41
|
+
proxy_read_timeout 3600s;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
server {
|
|
46
|
+
listen 80;
|
|
47
|
+
server_name server.cyberiaonline.com;
|
|
48
|
+
|
|
49
|
+
location = /healthz {
|
|
50
|
+
access_log off;
|
|
51
|
+
return 200 "ok\n";
|
|
52
|
+
add_header Content-Type text/plain;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
location / {
|
|
56
|
+
proxy_pass http://up_cyberia_server;
|
|
57
|
+
proxy_set_header Host $host;
|
|
58
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
59
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
60
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
61
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
62
|
+
proxy_set_header Connection $connection_upgrade;
|
|
63
|
+
proxy_read_timeout 3600s;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
server {
|
|
68
|
+
listen 80;
|
|
69
|
+
server_name client.cyberiaonline.com;
|
|
70
|
+
|
|
71
|
+
location = /healthz {
|
|
72
|
+
access_log off;
|
|
73
|
+
return 200 "ok\n";
|
|
74
|
+
add_header Content-Type text/plain;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
location / {
|
|
78
|
+
proxy_pass http://up_cyberia_client;
|
|
79
|
+
proxy_set_header Host $host;
|
|
80
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
81
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
82
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
83
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
84
|
+
proxy_set_header Connection $connection_upgrade;
|
|
85
|
+
proxy_read_timeout 3600s;
|
|
86
|
+
}
|
|
87
|
+
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"type": "module",
|
|
3
3
|
"main": "src/index.js",
|
|
4
4
|
"name": "cyberia",
|
|
5
|
-
"version": "3.2.
|
|
5
|
+
"version": "3.2.70",
|
|
6
6
|
"description": "Cyberia CLI — toolchain for the Cyberia MMO data layer, content pipeline, persistence, gRPC services, and ERC-1155 lifecycle on Hyperledger Besu.",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"start": "node --max-old-space-size=8192 src/server",
|
|
@@ -26,7 +26,18 @@
|
|
|
26
26
|
"security:secrets:ci": "gitleaks detect --source . --config .gitleaks.toml --redact=1",
|
|
27
27
|
"security:deps": "npm audit",
|
|
28
28
|
"security": "npm run security:secrets:ci && npm run security:deps",
|
|
29
|
-
"clean": "node bin env clean && node bin run clean"
|
|
29
|
+
"clean": "node bin env clean && node bin run clean",
|
|
30
|
+
"docker:generate": "node bin docker-compose --generate",
|
|
31
|
+
"docker:up": "node bin docker-compose --up",
|
|
32
|
+
"docker:up:build": "node bin docker-compose --up --build",
|
|
33
|
+
"docker:down": "node bin docker-compose --down",
|
|
34
|
+
"docker:down:volumes": "node bin docker-compose --down --volumes",
|
|
35
|
+
"docker:restart": "node bin docker-compose --restart",
|
|
36
|
+
"docker:build": "node bin docker-compose --build",
|
|
37
|
+
"docker:pull": "node bin docker-compose --pull",
|
|
38
|
+
"docker:logs": "node bin docker-compose --logs",
|
|
39
|
+
"docker:status": "node bin docker-compose --status",
|
|
40
|
+
"docker:shell": "node bin docker-compose --shell"
|
|
30
41
|
},
|
|
31
42
|
"bin": {
|
|
32
43
|
"cyberia": "bin/index.js"
|
|
@@ -60,14 +71,14 @@
|
|
|
60
71
|
},
|
|
61
72
|
"homepage": "https://github.com/underpostnet/engine-cyberia#readme",
|
|
62
73
|
"dependencies": {
|
|
63
|
-
"@fortawesome/fontawesome-free": "^7.
|
|
64
|
-
"@fullcalendar/rrule": "^6.1.
|
|
74
|
+
"@fortawesome/fontawesome-free": "^7.3.0",
|
|
75
|
+
"@fullcalendar/rrule": "^6.1.21",
|
|
65
76
|
"@grpc/grpc-js": "^1.14.4",
|
|
66
77
|
"@grpc/proto-loader": "^0.8.1",
|
|
67
78
|
"@neodrag/vanilla": "^2.3.1",
|
|
68
|
-
"adm-zip": "^0.5.
|
|
69
|
-
"ag-grid-community": "^
|
|
70
|
-
"axios": "^1.
|
|
79
|
+
"adm-zip": "^0.5.18",
|
|
80
|
+
"ag-grid-community": "^36.0.0",
|
|
81
|
+
"axios": "^1.18.1",
|
|
71
82
|
"bumpp": "^11.1.0",
|
|
72
83
|
"chai": "^6.2.2",
|
|
73
84
|
"clipboardy": "^5.3.1",
|
|
@@ -78,10 +89,10 @@
|
|
|
78
89
|
"cookie-parser": "^1.4.7",
|
|
79
90
|
"cors": "^2.8.6",
|
|
80
91
|
"d3": "^7.9.0",
|
|
81
|
-
"dexie": "^4.4.
|
|
92
|
+
"dexie": "^4.4.4",
|
|
82
93
|
"dotenv": "^17.4.2",
|
|
83
94
|
"easymde": "^2.21.0",
|
|
84
|
-
"esbuild": "^0.28.
|
|
95
|
+
"esbuild": "^0.28.1",
|
|
85
96
|
"escape-string-regexp": "^5.0.0",
|
|
86
97
|
"express": "^5.2.1",
|
|
87
98
|
"express-fileupload": "^1.4.3",
|
|
@@ -89,21 +100,21 @@
|
|
|
89
100
|
"express-slow-down": "^3.1.0",
|
|
90
101
|
"fast-json-stable-stringify": "^2.1.0",
|
|
91
102
|
"favicons": "^7.3.0",
|
|
92
|
-
"fs-extra": "^11.3.
|
|
93
|
-
"fullcalendar": "^6.1.
|
|
103
|
+
"fs-extra": "^11.3.6",
|
|
104
|
+
"fullcalendar": "^6.1.21",
|
|
94
105
|
"helmet": "^8.2.0",
|
|
95
106
|
"html-minifier-terser": "^7.2.0",
|
|
96
|
-
"http-proxy-middleware": "^4.
|
|
107
|
+
"http-proxy-middleware": "^4.2.0",
|
|
97
108
|
"ignore-walk": "^9.0.0",
|
|
98
109
|
"iovalkey": "^0.3.3",
|
|
99
110
|
"json-colorizer": "^3.0.1",
|
|
100
111
|
"jsonwebtoken": "^9.0.3",
|
|
101
|
-
"mariadb": "^3.
|
|
112
|
+
"mariadb": "^3.5.3",
|
|
113
|
+
"marked": "^18.0.5",
|
|
102
114
|
"mocha": "^11.7.6",
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"nodemailer": "^8.0.10",
|
|
115
|
+
"mongoose": "^9.7.3",
|
|
116
|
+
"morgan": "^1.11.0",
|
|
117
|
+
"nodemailer": "^9.0.3",
|
|
107
118
|
"nodemon": "^3.0.1",
|
|
108
119
|
"peer": "^1.0.2",
|
|
109
120
|
"peerjs": "^1.5.5",
|
|
@@ -117,7 +128,7 @@
|
|
|
117
128
|
"split-file": "^2.3.0",
|
|
118
129
|
"swagger-autogen": "^2.23.7",
|
|
119
130
|
"swagger-ui-express": "^5.0.0",
|
|
120
|
-
"typedoc": "^0.28.
|
|
131
|
+
"typedoc": "^0.28.20",
|
|
121
132
|
"typescript": "^6.0.3",
|
|
122
133
|
"validator": "^13.15.35",
|
|
123
134
|
"vanilla-jsoneditor": "^3.12.0",
|
|
@@ -150,6 +161,7 @@
|
|
|
150
161
|
"serialize-javascript": ">=7.0.5",
|
|
151
162
|
"router": {
|
|
152
163
|
"path-to-regexp": ">=8.4.0"
|
|
153
|
-
}
|
|
164
|
+
},
|
|
165
|
+
"ws": "^8.20.2"
|
|
154
166
|
}
|
|
155
167
|
}
|
package/pv-pvc.yaml
CHANGED
|
@@ -10,6 +10,14 @@ spec:
|
|
|
10
10
|
- ReadWriteOnce
|
|
11
11
|
persistentVolumeReclaimPolicy: Retain
|
|
12
12
|
storageClassName: manual
|
|
13
|
+
nodeAffinity:
|
|
14
|
+
required:
|
|
15
|
+
nodeSelectorTerms:
|
|
16
|
+
- matchExpressions:
|
|
17
|
+
- key: kubernetes.io/hostname
|
|
18
|
+
operator: In
|
|
19
|
+
values:
|
|
20
|
+
- kind-worker
|
|
13
21
|
claimRef:
|
|
14
22
|
apiVersion: v1
|
|
15
23
|
kind: PersistentVolumeClaim
|
|
@@ -43,6 +51,14 @@ spec:
|
|
|
43
51
|
- ReadWriteOnce
|
|
44
52
|
persistentVolumeReclaimPolicy: Retain
|
|
45
53
|
storageClassName: manual
|
|
54
|
+
nodeAffinity:
|
|
55
|
+
required:
|
|
56
|
+
nodeSelectorTerms:
|
|
57
|
+
- matchExpressions:
|
|
58
|
+
- key: kubernetes.io/hostname
|
|
59
|
+
operator: In
|
|
60
|
+
values:
|
|
61
|
+
- kind-worker
|
|
46
62
|
claimRef:
|
|
47
63
|
apiVersion: v1
|
|
48
64
|
kind: PersistentVolumeClaim
|
|
@@ -76,6 +92,14 @@ spec:
|
|
|
76
92
|
- ReadWriteOnce
|
|
77
93
|
persistentVolumeReclaimPolicy: Retain
|
|
78
94
|
storageClassName: manual
|
|
95
|
+
nodeAffinity:
|
|
96
|
+
required:
|
|
97
|
+
nodeSelectorTerms:
|
|
98
|
+
- matchExpressions:
|
|
99
|
+
- key: kubernetes.io/hostname
|
|
100
|
+
operator: In
|
|
101
|
+
values:
|
|
102
|
+
- kind-worker
|
|
79
103
|
claimRef:
|
|
80
104
|
apiVersion: v1
|
|
81
105
|
kind: PersistentVolumeClaim
|
|
@@ -109,6 +133,14 @@ spec:
|
|
|
109
133
|
- ReadWriteOnce
|
|
110
134
|
persistentVolumeReclaimPolicy: Retain
|
|
111
135
|
storageClassName: manual
|
|
136
|
+
nodeAffinity:
|
|
137
|
+
required:
|
|
138
|
+
nodeSelectorTerms:
|
|
139
|
+
- matchExpressions:
|
|
140
|
+
- key: kubernetes.io/hostname
|
|
141
|
+
operator: In
|
|
142
|
+
values:
|
|
143
|
+
- kind-worker
|
|
112
144
|
claimRef:
|
|
113
145
|
apiVersion: v1
|
|
114
146
|
kind: PersistentVolumeClaim
|