@underpostnet/cyberia 3.2.90 → 3.3.0

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.
Files changed (129) hide show
  1. package/.env.example +16 -0
  2. package/.github/workflows/coverall.cyberia.ci.yml +87 -0
  3. package/.github/workflows/cyberia-client.cd.yml +1 -18
  4. package/.github/workflows/cyberia-server.cd.yml +1 -18
  5. package/.github/workflows/docker-image.cyberia-client.ci.yml +1 -1
  6. package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +1 -1
  7. package/.github/workflows/docker-image.cyberia-server.ci.yml +1 -1
  8. package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +1 -1
  9. package/.github/workflows/docker-image.engine-cyberia.ci.yml +1 -1
  10. package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +1 -1
  11. package/.github/workflows/engine-cyberia.cd.yml +3 -78
  12. package/.github/workflows/ghpkg.ci.yml +7 -1
  13. package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -16
  14. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  15. package/.github/workflows/release.cd.yml +1 -9
  16. package/CHANGELOG.md +110 -1
  17. package/CLI-HELP.md +139 -9
  18. package/Dockerfile +1 -1
  19. package/Dockerfile.dev +1 -1
  20. package/Dockerfile.test +1 -1
  21. package/bin/build.js +7 -5
  22. package/bin/cyberia.js +73 -53
  23. package/bin/deploy.js +1 -1
  24. package/bin/index.js +73 -53
  25. package/compose.env +16 -0
  26. package/conf.js +2 -0
  27. package/deploy/dd-cyberia/deploy.sh +42 -0
  28. package/deploy/dd-cyberia/init.sh +63 -0
  29. package/deploy/dd-cyberia/sync-deploy.sh +194 -0
  30. package/deploy/lib/logging.sh +96 -0
  31. package/deploy/pwa-microservices-template/deploy.sh +72 -0
  32. package/deploy/release/deploy.sh +62 -0
  33. package/deployment.yaml +1 -1
  34. package/docker-compose.yml +31 -37
  35. package/hardhat/package-lock.json +9 -9
  36. package/hardhat/package.json +3 -3
  37. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -1
  38. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  39. package/manifests/cronjobs/dd-cron/dd-cron-vultr.yaml +52 -0
  40. package/manifests/deployment/dd-cyberia-development/deployment.yaml +1 -1
  41. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  42. package/package.json +2 -2
  43. package/scripts/audit-selinux.sh +64 -0
  44. package/scripts/coverall-test-cyberia.sh +24 -0
  45. package/scripts/coverall-test.sh +24 -0
  46. package/scripts/gpu-diag.sh +0 -0
  47. package/scripts/ip-info.sh +0 -0
  48. package/scripts/k3s-node-setup.sh +18 -15
  49. package/scripts/kubeadm-node-setup.sh +12 -23
  50. package/scripts/link-local-underpost-cli.sh +0 -0
  51. package/scripts/lxd-vm-setup.sh +0 -0
  52. package/scripts/maas-nat-firewalld.sh +0 -0
  53. package/scripts/nat-iptables.sh +2 -0
  54. package/scripts/rhel-grpc-setup.sh +0 -0
  55. package/scripts/rocky-kickstart.sh +25 -9
  56. package/scripts/test-monitor.sh +1 -1
  57. package/src/api/cyberia-instance/cyberia-fallback-default-items.js +63 -0
  58. package/src/api/cyberia-instance/cyberia-fallback-world.js +8 -1
  59. package/src/api/cyberia-instance/cyberia-instance.controller.js +3 -0
  60. package/src/api/cyberia-instance/cyberia-instance.router.js +13 -0
  61. package/src/api/cyberia-instance/cyberia-instance.service.js +43 -0
  62. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +1 -0
  63. package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +16 -3
  64. package/src/api/object-layer/object-layer.model.js +204 -3
  65. package/src/api/object-layer/object-layer.service.js +1 -14
  66. package/src/cli/baremetal.js +1 -2
  67. package/src/cli/cloud-init.js +1 -1
  68. package/src/cli/cluster.js +73 -68
  69. package/src/cli/db.js +9 -2
  70. package/src/cli/deploy.js +21 -5
  71. package/src/cli/docker-compose.js +1 -1
  72. package/src/cli/env.js +1 -1
  73. package/src/cli/image.js +0 -1
  74. package/src/cli/index.js +121 -9
  75. package/src/cli/lxd.js +1 -1
  76. package/src/cli/monitor.js +1 -1
  77. package/src/cli/release.js +57 -22
  78. package/src/cli/repository.js +11 -9
  79. package/src/cli/run.js +36 -9
  80. package/src/cli/ssh.js +198 -77
  81. package/src/cli/system.js +26 -13
  82. package/src/cli/test.js +1 -1
  83. package/src/cli/vultr.js +583 -0
  84. package/src/cli/wireguard.js +2125 -0
  85. package/src/client/components/cyberia/FallbackWorldEngineCyberia.js +368 -0
  86. package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +33 -0
  87. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +4 -0
  88. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
  89. package/src/client/public/cyberia-docs/ARCHITECTURE.md +17 -3
  90. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +1 -1
  91. package/src/client/public/cyberia-docs/ROADMAP.md +1 -1
  92. package/src/client/public/cyberia-docs/WHITE-PAPER.md +1 -1
  93. package/src/client/services/cyberia-instance/cyberia-instance.service.js +40 -0
  94. package/src/client/services/object-layer/object-layer.management.js +4 -4
  95. package/src/client-builder/client-build.js +20 -14
  96. package/src/db/mongo/MongooseDB.js +4 -0
  97. package/src/index.js +25 -1
  98. package/src/projects/cyberia/catalog-cyberia.js +5 -0
  99. package/src/projects/cyberia/generate-saga.js +14 -23
  100. package/src/projects/cyberia/instance-data.js +21 -2
  101. package/src/projects/cyberia/object-layer.js +11 -21
  102. package/src/projects/underpost/catalog-underpost.js +4 -1
  103. package/src/runtime/cyberia-client/Dockerfile +1 -1
  104. package/src/runtime/cyberia-client/Dockerfile.dev +1 -1
  105. package/src/runtime/cyberia-server/Dockerfile +1 -1
  106. package/src/runtime/cyberia-server/Dockerfile.dev +1 -1
  107. package/src/runtime/engine-cyberia/Dockerfile +1 -1
  108. package/src/runtime/engine-cyberia/Dockerfile.dev +1 -1
  109. package/src/runtime/engine-cyberia/Dockerfile.test +1 -1
  110. package/src/runtime/engine-cyberia/compose.env +16 -0
  111. package/src/runtime/engine-cyberia/docker-compose.yml +31 -37
  112. package/src/server/backup.js +1 -1
  113. package/src/server/conf.js +18 -108
  114. package/src/server/cron.js +249 -51
  115. package/src/server/dns.js +100 -6
  116. package/src/server/environment.js +98 -0
  117. package/src/server/forward-proxy.js +549 -0
  118. package/src/server/middlewares.js +56 -1
  119. package/src/server/process.js +0 -1
  120. package/src/server/selinux.js +185 -0
  121. package/src/server/systemd.js +205 -0
  122. package/src/server/underpost-compression.js +186 -0
  123. package/src/server/underpost-gateway.js +20 -10
  124. package/src/server/underpost-ingress.js +18 -2
  125. package/test/cyberia-instance-conf-defaults.test.js +1 -0
  126. package/test/selinux.test.js +71 -0
  127. package/test/underpost-gateway.test.js +41 -0
  128. package/test/underpost-ingress.test.js +52 -0
  129. package/test/wireguard-edge.test.js +1177 -0
package/.env.example CHANGED
@@ -70,6 +70,22 @@ CYBERIA_DEFAULT_INSTANCE=amethyst-strata-expansion
70
70
  CYBERIA_SERVER_APP_ENV=development
71
71
  CYBERIA_SERVER_LOG_LEVEL=
72
72
 
73
+ # --- cyberia-server WebSocket admission and rate limits ----------------------
74
+ # Unset keeps the built-in default. An explicit 0 turns that one limit off.
75
+ # The startup log prints the effective profile ("ws limits: ...").
76
+ #
77
+ # Set CYBERIA_DISABLE_CONNECTION_LIMITS=1 to turn every limit off. The load test
78
+ # (test/cyberia-load.test.js) drives every simulated client from one address, so
79
+ # it needs this. NEVER enable it on a public deploy.
80
+ CYBERIA_DISABLE_CONNECTION_LIMITS=
81
+ CYBERIA_MAX_CONNECTIONS=
82
+ CYBERIA_MAX_CONNECTIONS_PER_IP=
83
+ CYBERIA_CONNECT_RATE_PER_IP=
84
+ CYBERIA_CONNECT_BURST_PER_IP=
85
+ CYBERIA_MESSAGE_RATE=
86
+ CYBERIA_MESSAGE_BURST=
87
+ CYBERIA_MAX_STRIKES=
88
+
73
89
  # --- engine-cyberia runtime env (loaded into the container via env_file) -----
74
90
  # The dd-cyberia engine (engine-private/conf/dd-cyberia/conf.server.json) needs
75
91
  # these to boot: DB auth + per-site DB names, the base PORT (the cyberia host is
@@ -0,0 +1,87 @@
1
+ name: CI | Coverall Cyberia
2
+
3
+ on:
4
+ push:
5
+ branches: ['master', 'main']
6
+ pull_request:
7
+ branches: ['master', 'main']
8
+
9
+ jobs:
10
+ test:
11
+ name: Coverall Cyberia Test
12
+ if: |
13
+ github.actor != 'dependabot[bot]' &&
14
+ (github.repository == 'underpostnet/engine' ||
15
+ github.repository == 'underpostnet/engine-cyberia' ||
16
+ github.repository == 'underpostnet/engine-ghpkg-cyberia')
17
+ runs-on: ubuntu-latest
18
+ container:
19
+ image: quay.io/rockylinux/rockylinux:9
20
+ steps:
21
+ - name: Clone repository
22
+ uses: actions/checkout@v7
23
+
24
+ - name: Install required packages
25
+ run: |
26
+ dnf install -y sudo tar gzip bzip2 git bash
27
+ dnf install -y curl --allowerasing
28
+
29
+ - name: Install Node.js
30
+ run: |
31
+ curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
32
+ dnf install nodejs -y
33
+
34
+ - name: Install project dependencies
35
+ run: npm install
36
+
37
+ - name: Run tests and generate coverage
38
+ run: scripts/coverall-test-cyberia.sh
39
+
40
+ - name: Store coverage report
41
+ uses: actions/upload-artifact@v4
42
+ with:
43
+ name: coverall-cyberia-lcov
44
+ path: ./coverage/lcov.info
45
+ if-no-files-found: error
46
+
47
+ upload:
48
+ name: Upload Cyberia Coverage to Coveralls
49
+ needs: test
50
+ if: |
51
+ github.actor != 'dependabot[bot]' &&
52
+ (github.repository == 'underpostnet/engine' ||
53
+ github.repository == 'underpostnet/engine-cyberia' ||
54
+ github.repository == 'underpostnet/engine-ghpkg-cyberia')
55
+ runs-on: ubuntu-latest
56
+ steps:
57
+ - name: Clone repository
58
+ uses: actions/checkout@v7
59
+
60
+ - name: Restore coverage report
61
+ uses: actions/download-artifact@v4
62
+ with:
63
+ name: coverall-cyberia-lcov
64
+ path: ./coverage
65
+
66
+ - name: Upload coverage to Coveralls
67
+ uses: coverallsapp/github-action@v2
68
+ with:
69
+ github-token: ${{ secrets.GITHUB_TOKEN }}
70
+ file: ./coverage/lcov.info
71
+ flag-name: cyberia
72
+ parallel: true
73
+
74
+ finish:
75
+ needs: upload
76
+ if: |
77
+ github.actor != 'dependabot[bot]' &&
78
+ (github.repository == 'underpostnet/engine' ||
79
+ github.repository == 'underpostnet/engine-cyberia' ||
80
+ github.repository == 'underpostnet/engine-ghpkg-cyberia')
81
+ runs-on: ubuntu-latest
82
+ steps:
83
+ - name: Notify Coveralls Finished
84
+ uses: coverallsapp/github-action@v2
85
+ with:
86
+ github-token: ${{ secrets.GITHUB_TOKEN }}
87
+ parallel-finished: true
@@ -32,21 +32,4 @@ jobs:
32
32
  script: |
33
33
  set -e
34
34
  set -o pipefail
35
- echo "Starting remote deploy"
36
- cd /home/dd/engine
37
- TARGET_NODE=hp-envy-iso-ram-rocky9
38
- INGRESS_NODE=localhost.localdomain
39
- sudo -n -- /bin/bash -lc "node bin run pull"
40
- sudo -n -- /bin/bash -lc "node bin run secret"
41
- sudo -n -- /bin/bash -lc "node bin/build dd-cyberia --conf"
42
- sudo -n -- /bin/bash -lc "kubectl wait --for=condition=Ready node/${TARGET_NODE} --timeout=2m"
43
- sudo -n -- /bin/bash -lc "kubectl rollout status deployment/underpost-ingress -n default --timeout=5m"
44
- sudo -n -- /bin/bash -lc "kubectl rollout status deployment/underpost-gateway -n default --timeout=5m"
45
- sudo -n -- /bin/bash -lc "node bin run instance \
46
- --kubeadm \
47
- --gateway-api \
48
- --image-pull-policy Always \
49
- --node-name ${TARGET_NODE} \
50
- --ingress-node ${INGRESS_NODE} \
51
- --ssh-key-path /home/dd/tmp/897as9dxhaskd9 \
52
- 'dd-cyberia,mmo-client'"
35
+ bash /home/dd/engine/deploy/cyberia-client/deploy.sh
@@ -32,21 +32,4 @@ jobs:
32
32
  script: |
33
33
  set -e
34
34
  set -o pipefail
35
- echo "Starting remote deploy"
36
- cd /home/dd/engine
37
- TARGET_NODE=hp-envy-iso-ram-rocky9
38
- INGRESS_NODE=localhost.localdomain
39
- sudo -n -- /bin/bash -lc "node bin run pull"
40
- sudo -n -- /bin/bash -lc "node bin run secret"
41
- sudo -n -- /bin/bash -lc "node bin/build dd-cyberia --conf"
42
- sudo -n -- /bin/bash -lc "kubectl wait --for=condition=Ready node/${TARGET_NODE} --timeout=2m"
43
- sudo -n -- /bin/bash -lc "kubectl rollout status deployment/underpost-ingress -n default --timeout=5m"
44
- sudo -n -- /bin/bash -lc "kubectl rollout status deployment/underpost-gateway -n default --timeout=5m"
45
- sudo -n -- /bin/bash -lc "node bin run instance \
46
- --kubeadm \
47
- --gateway-api \
48
- --image-pull-policy Always \
49
- --node-name ${TARGET_NODE} \
50
- --ingress-node ${INGRESS_NODE} \
51
- --ssh-key-path /home/dd/tmp/897as9dxhaskd9 \
52
- 'dd-cyberia,mmo-server'"
35
+ bash /home/dd/engine/deploy/cyberia-server/deploy.sh
@@ -4,7 +4,7 @@ on:
4
4
  workflow_dispatch:
5
5
 
6
6
  env:
7
- UNDERPOST_VERSION: '3.2.90'
7
+ UNDERPOST_VERSION: '3.3.0'
8
8
 
9
9
  jobs:
10
10
  build-and-push:
@@ -4,7 +4,7 @@ on:
4
4
  workflow_dispatch:
5
5
 
6
6
  env:
7
- UNDERPOST_VERSION: '3.2.90'
7
+ UNDERPOST_VERSION: '3.3.0'
8
8
 
9
9
  jobs:
10
10
  build-and-push:
@@ -4,7 +4,7 @@ on:
4
4
  workflow_dispatch:
5
5
 
6
6
  env:
7
- UNDERPOST_VERSION: '3.2.90'
7
+ UNDERPOST_VERSION: '3.3.0'
8
8
 
9
9
  jobs:
10
10
  build-and-push:
@@ -4,7 +4,7 @@ on:
4
4
  workflow_dispatch:
5
5
 
6
6
  env:
7
- UNDERPOST_VERSION: '3.2.90'
7
+ UNDERPOST_VERSION: '3.3.0'
8
8
 
9
9
  jobs:
10
10
  build-and-push:
@@ -4,7 +4,7 @@ on:
4
4
  workflow_dispatch:
5
5
 
6
6
  env:
7
- UNDERPOST_VERSION: '3.2.90'
7
+ UNDERPOST_VERSION: '3.3.0'
8
8
 
9
9
  jobs:
10
10
  build-and-push:
@@ -4,7 +4,7 @@ on:
4
4
  workflow_dispatch:
5
5
 
6
6
  env:
7
- UNDERPOST_VERSION: '3.2.90'
7
+ UNDERPOST_VERSION: '3.3.0'
8
8
 
9
9
  jobs:
10
10
  build-and-push:
@@ -40,13 +40,7 @@ jobs:
40
40
  script: |
41
41
  set -e
42
42
  set -o pipefail
43
- echo "Starting remote deploy"
44
- INGRESS_NODE=localhost.localdomain
45
- cd /home/dd/engine
46
- sudo -n -- /bin/bash -lc "node bin run pull"
47
- sudo -n -- /bin/bash -lc "npm install"
48
- sudo -n -- /bin/bash -lc "node bin run secret"
49
- sudo -n -- /bin/bash -lc "node bin run deploy dd-cyberia --gateway-api --ingress-node ${INGRESS_NODE}"
43
+ bash /home/dd/engine/deploy/dd-cyberia/deploy.sh
50
44
  sync-and-deploy:
51
45
  if: github.event.inputs.job == 'sync-and-deploy'
52
46
  name: Remote SSH sync and deploy
@@ -71,67 +65,7 @@ jobs:
71
65
  script: |
72
66
  set -e
73
67
  set -o pipefail
74
- echo "Starting remote sync and deploy"
75
- TARGET_NODE=localhost.localdomain
76
- INGRESS_NODE=localhost.localdomain
77
- cd /home/dd/engine
78
- sudo -n -- /bin/bash -lc "node bin run pull"
79
- sudo -n -- /bin/bash -lc "npm install"
80
- sudo -n -- /bin/bash -lc "node bin run secret"
81
- sudo -n -- /bin/bash -lc "npm run test"
82
- sudo -n -- /bin/bash -lc "node bin run clean src/client/public/cyberia"
83
- sudo -n -- /bin/bash -lc "node bin run clean src/client/public/underpost"
84
- sudo -n -- /bin/bash -lc "node bin cmt src/client/public/cyberia --init-repo"
85
- sudo -n -- /bin/bash -lc "node bin cmt src/client/public/underpost --init-repo"
86
- sudo -n -- /bin/bash -lc "node bin fs src/client/public/cyberia --pull --recursive --deploy-id dd-cyberia"
87
- sudo -n -- /bin/bash -lc "node bin fs src/client/public/underpost --pull --recursive --deploy-id dd-cyberia --storage-file-path './engine-private/conf/dd-cyberia/storage.underpost.json'"
88
- CHANGES_CYBERIA=$(sudo -n -- /bin/bash -lc "node bin cmt src/client/public/cyberia --has-changes" | tr -d '\n')
89
- if [ "$CHANGES_CYBERIA" = "1" ]; then
90
- sudo -n -- /bin/bash -lc "node bin cmt src/client/public/cyberia feat 'Update cyberia public assets'"
91
- fi
92
- CHANGES_UNDERPOST=$(sudo -n -- /bin/bash -lc "node bin cmt src/client/public/underpost --has-changes" | tr -d '\n')
93
- if [ "$CHANGES_UNDERPOST" = "1" ]; then
94
- sudo -n -- /bin/bash -lc "node bin cmt src/client/public/underpost feat 'Update underpost public assets'"
95
- fi
96
- sudo -n -- /bin/bash -lc "npm run fix"
97
- sudo -n -- /bin/bash -lc "npm install"
98
- sudo -n -- /bin/bash -lc "node bin/deploy cyberia"
99
- sudo -n -- /bin/bash -lc "underpost run clean"
100
- sudo -n -- /bin/bash -lc "node bin env dd-cyberia production"
101
- sudo -n -- /bin/bash -lc "node bin/cyberia run-workflow build-manifest"
102
- sudo -n -- /bin/bash -lc "node bin run sync 'dd-cyberia,1,,underpost/engine-cyberia:latest' \
103
- --kubeadm \
104
- --deploy-id-cron-jobs none \
105
- --timeout-response 300000ms \
106
- --node-name ${TARGET_NODE} \
107
- --gateway-api \
108
- --ingress-node ${INGRESS_NODE} \
109
- --ssh-key-path /home/dd/tmp/897as9dxhaskd9 \
110
- --image-pull-policy Always \
111
- --cmd 'cd /home/dd/engine, \
112
- underpost clone underpostnet/engine-cyberia, \
113
- mkdir -p /home/dd/engine/src/client/public/itemledger \
114
- /home/dd/engine/src/client/public/cryptokoyn \
115
- /home/dd/engine/src/client/components/cryptokoyn \
116
- /home/dd/engine/src/client/components/itemledger \
117
- /home/dd/engine/hardhat, \
118
- cp -a ./engine-cyberia/src/client/public/itemledger/. /home/dd/engine/src/client/public/itemledger/, \
119
- cp -a ./engine-cyberia/src/client/public/cryptokoyn/. /home/dd/engine/src/client/public/cryptokoyn/, \
120
- cp -a ./engine-cyberia/src/client/components/cryptokoyn/. /home/dd/engine/src/client/components/cryptokoyn/, \
121
- cp -a ./engine-cyberia/src/client/components/itemledger/. /home/dd/engine/src/client/components/itemledger/, \
122
- cp -a ./engine-cyberia/src/client/Itemledger.index.js /home/dd/engine/src/client/Itemledger.index.js, \
123
- cp -a ./engine-cyberia/src/client/Cryptokoyn.index.js /home/dd/engine/src/client/Cryptokoyn.index.js, \
124
- rm -rf ./engine-cyberia, \
125
- sudo rm -rf ./engine-private/, \
126
- node bin clone underpostnet/engine-cyberia-private, \
127
- sudo mv ./engine-cyberia-private ./engine-private, \
128
- node bin env dd-cyberia production, \
129
- node ./engine-private/itc-scripts/dd-cyberia-0.js, \
130
- sudo chown -R dd:dd /home/dd/engine/src/client/public/cyberia, \
131
- node bin/cyberia run-workflow import-default-items, \
132
- node bin env dd-cyberia production, \
133
- node bin client dd-cyberia, \
134
- node bin start dd-cyberia production --run'"
68
+ bash /home/dd/engine/deploy/dd-cyberia/sync-deploy.sh
135
69
  init:
136
70
  if: github.event.inputs.job == 'init'
137
71
  name: Remote SSH init deployment
@@ -156,13 +90,4 @@ jobs:
156
90
  script: |
157
91
  set -e
158
92
  set -o pipefail
159
- echo "Starting init deploy"
160
- INGRESS_NODE=localhost.localdomain
161
- cd /home/dd/engine
162
- sudo -n -- /bin/bash -lc "node bin run pull"
163
- sudo -n -- /bin/bash -lc "npm install"
164
- sudo -n -- /bin/bash -lc "node bin run secret"
165
- sudo -n -- /bin/bash -lc "node bin/build dd-cyberia --conf"
166
- sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --gateway-api --ingress-node ${INGRESS_NODE} --sync --build-manifest --timeout-response 300000ms --versions green --replicas 1"
167
- sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --gateway-api --ingress-node ${INGRESS_NODE} --disable-update-proxy --git-clean"
168
- sudo -n -- /bin/bash -lc "node bin monitor dd-cyberia production --ready-deployment --promote --timeout-response 300000ms --versions green --replicas 1"
93
+ bash /home/dd/engine/deploy/dd-cyberia/init.sh
@@ -20,7 +20,13 @@ permissions:
20
20
  id-token: write
21
21
  jobs:
22
22
  pwa-microservices-template-ghpk:
23
- if: github.repository == 'underpostnet/pwa-microservices-template' && startsWith(github.event.head_commit.message, 'ci(package-pwa-microservices-template-ghpkg)')
23
+ if: >-
24
+ github.repository == 'underpostnet/pwa-microservices-template' &&
25
+ (
26
+ startsWith(github.event.head_commit.message, 'ci(package-pwa-microservices-template-ghpkg)')
27
+ ||
28
+ github.event_name == 'workflow_dispatch'
29
+ )
24
30
  name: Update github repo package Jobs
25
31
  runs-on: ubuntu-latest
26
32
  container:
@@ -32,23 +32,8 @@ jobs:
32
32
  # - name: Checkout LFS objects
33
33
  # run: git lfs checkout
34
34
 
35
- - name: Install required packages
36
- run: |
37
- dnf install -y sudo tar gzip bzip2 git
38
- dnf install -y curl --allowerasing
39
-
40
- - name: Install Node.js
41
- run: |
42
- curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
43
- dnf install nodejs -y
44
-
45
35
  - name: Build the site
46
- run: |
47
- npm install
48
- node bin new --default-conf --conf-workflow-id dd-github-pages
49
- node bin new --deploy-id dd-github-pages
50
- node bin env dd-github-pages production
51
- NODE_ENV=production node bin client dd-github-pages '' underpostnet.github.io /pwa-microservices-template-ghpkg
36
+ run: bash deploy/pwa-microservices-template/deploy.sh
52
37
  # git lfs install
53
38
  # git lfs track
54
39
  # git lfs ls-files
@@ -30,4 +30,4 @@ jobs:
30
30
  run: npm install
31
31
 
32
32
  - name: Run test
33
- run: npm test
33
+ run: scripts/coverall-test.sh
@@ -35,12 +35,4 @@ jobs:
35
35
  script: |
36
36
  set -e
37
37
  set -o pipefail
38
- echo "Starting remote release deploy"
39
- cd /home/dd/engine
40
- sudo -n -- /bin/bash -lc "node bin run pull"
41
- sudo -n -- /bin/bash -lc "npm install"
42
- sudo -n -- /bin/bash -lc "node bin run secret"
43
- sudo -n -- /bin/bash -lc "npm install -g underpost"
44
- sudo -n -- /bin/bash -lc "node bin run secret"
45
- sudo -n -- /bin/bash -lc "node bin run --dev git-conf"
46
- sudo -n -- /bin/bash -lc "node bin run docker-image"
38
+ bash /home/dd/engine/deploy/release/deploy.sh
package/CHANGELOG.md CHANGED
@@ -1,6 +1,115 @@
1
1
  # Changelog
2
2
 
3
- ## 2026-08-11
3
+ ## 2026-08-18
4
+
5
+ ### github-actions
6
+
7
+ - Add workflow_dispatch trigger event handling in .github/workflows/ghpkg.ci.yml ([e21320cf](https://github.com/underpostnet/engine/commit/e21320cf7542680823758f331bd34d619ca185cd))
8
+ - Reorder coverall test list ([eb20336b](https://github.com/underpostnet/engine/commit/eb20336b29e87f4371528f78099768e8ee36b586))
9
+ - Replace default npm coverall test with scripts/coverall-test.sh ([3471f300](https://github.com/underpostnet/engine/commit/3471f3009391a3f8a1a66cedd1e4761fe5f76712))
10
+ - Refactor move CD workflow commands into deployment scripts with run_quiet wrapper ([222a18d7](https://github.com/underpostnet/engine/commit/222a18d719f33fd678a72f9b05639f86ec4037cd))
11
+ - Update .github/workflows/engine-test.cd.yml ([94e42e58](https://github.com/underpostnet/engine/commit/94e42e58ee4f9eb6542a010e96899000458f3a7b))
12
+ - Add import-default-items steps to cyberia CD ([350444f9](https://github.com/underpostnet/engine/commit/350444f9fb4b34cd15541458c1897299fed7b287))
13
+ - Update.github/workflows/engine-cyberia.cd.yml ([53e9da17](https://github.com/underpostnet/engine/commit/53e9da17127a850aebaa0e5e0e90b593ee0ac03d))
14
+ - Update base node in engine-core CD pipeline ([fa039f25](https://github.com/underpostnet/engine/commit/fa039f25763bb719496b73dd8044af4570be859e))
15
+
16
+ ### cli-cyberia
17
+
18
+ - Include deploy strategies in generated projects ([66bc733e](https://github.com/underpostnet/engine/commit/66bc733eb22bd74aff5ff249dade0959c876cdae))
19
+ - Refactor make data.item.id is now a unique index for every case ([1391efce](https://github.com/underpostnet/engine/commit/1391efce32f96f56271a1060304bb7b26556b80d))
20
+ - Add WebSocket load test runner command ([eebec67e](https://github.com/underpostnet/engine/commit/eebec67edd1bfda0bf6f8205305a90cd73441e4c))
21
+
22
+ ### engine
23
+
24
+ - Expand server module JSDoc annotations ([213a5519](https://github.com/underpostnet/engine/commit/213a55191dc388d227315f07116148d5b731b883))
25
+ - Move writeEnv helper into environment module ([9c57e362](https://github.com/underpostnet/engine/commit/9c57e3629a682da0c7aa45e0cb24d24d3af3cdab))
26
+ - Fix SELinux host paths mounts logic and definition ([6cf8dda1](https://github.com/underpostnet/engine/commit/6cf8dda113b92fea011e3825035147ae33a1bc7f))
27
+ - Extract environment and cron deploy helpers into dedicated modules ([6ba3fa4c](https://github.com/underpostnet/engine/commit/6ba3fa4c372a2eb1afe87c6fc5c0681209a96b07))
28
+ - Enforce SELinux across cluster, SSH, and provisioning ([9d57a359](https://github.com/underpostnet/engine/commit/9d57a359dd94067dfb48fceab9006e3ef3d7d502))
29
+
30
+ ### cli-wireguard
31
+
32
+ - Add SSH forwarding via VPS edge ([54de1e6e](https://github.com/underpostnet/engine/commit/54de1e6e5dddccad5c056da152cb32712ab3ba25))
33
+ - Extract forward proxy and systemd helpers into server modules ([97be08d1](https://github.com/underpostnet/engine/commit/97be08d107e825c2ff5a97382ebb9367a6ad3523))
34
+ - Implement HTTP/CONNECT forward proxy for WireGuard ([a95163df](https://github.com/underpostnet/engine/commit/a95163df2797bbfa86d3d1f422fe0afd224b72b3))
35
+ - Implement idempotent in Restart, reconnect, and reset pipeline ([65710c3b](https://github.com/underpostnet/engine/commit/65710c3bd3056b1f2cc49e3b82517d081f7f25df))
36
+ - Implement Edge Hub WireGuard and HAProxy CLI module ([2e293b87](https://github.com/underpostnet/engine/commit/2e293b87540a43489bb535e2ab731581809b1848))
37
+
38
+ ### catalog-cyberia
39
+
40
+ - Add coverall cyberia trigger script ([c8e59eed](https://github.com/underpostnet/engine/commit/c8e59eed08c113d39a99f5151d8d6b4af96fb4e9))
41
+
42
+ ### scripts
43
+
44
+ - Mark scripts as executable ([8f04cbc7](https://github.com/underpostnet/engine/commit/8f04cbc700e2bc17b917ea49450efabc766e27ed))
45
+
46
+ ### release
47
+
48
+ - Fix missing file bump version scopes ([4aa983a5](https://github.com/underpostnet/engine/commit/4aa983a5d8aea7983295ee01799c358ed1b9c2bc))
49
+
50
+ ### deploy
51
+
52
+ - Mark deploy scripts as executable ([b18151bf](https://github.com/underpostnet/engine/commit/b18151bfaa52c17b2540e0a2706b79a8850fee84))
53
+
54
+ ### hardhat
55
+
56
+ - Update hardhat npm module version to sync current project scope v3.2.90 ([8fc717b9](https://github.com/underpostnet/engine/commit/8fc717b9913c69a41c2c9e88b2b7f720a4a7cb09))
57
+ - Update undici override dependency to v6.28.0 ([fb2d2aa3](https://github.com/underpostnet/engine/commit/fb2d2aa3b502b5552212f63d9a01f23d2333b296))
58
+
59
+ ### dependabot
60
+
61
+ - Disable typescript autoupdate ([8bd76183](https://github.com/underpostnet/engine/commit/8bd7618336423a1df1d4ca77cd138aef51902d6c))
62
+
63
+ ### cli-client
64
+
65
+ - Add only ssr build workload flag option and logic ([92026a66](https://github.com/underpostnet/engine/commit/92026a66ec3c403219af62bfc5bcc78917d537ed))
66
+
67
+ ### cli-cron
68
+
69
+ - Fix cron CLI setup flag and single job execution ([84eab73d](https://github.com/underpostnet/engine/commit/84eab73d9a618244b46e699ba65b469940d1a267))
70
+
71
+ ### cli-repository
72
+
73
+ - Add getDefaultBranch resolve in switchRemote method ([04bc8743](https://github.com/underpostnet/engine/commit/04bc8743b6f4c5f9edd891276137183fa444d447))
74
+
75
+ ### cli-ssh
76
+
77
+ - Add initializeDefaultSshConfig method ([84f5f869](https://github.com/underpostnet/engine/commit/84f5f8698810596f084e632487208ea909feddfd))
78
+
79
+ ### cli-vultr
80
+
81
+ - Add Vultr Bandwidth Monitor cron job CLI Module ([22fb9249](https://github.com/underpostnet/engine/commit/22fb9249ad40ba24a8cd87da43d742b1972c4fbb))
82
+
83
+ ### cli-dns
84
+
85
+ - Add blokc/unblock ingress/egress workflow handling ([980fab35](https://github.com/underpostnet/engine/commit/980fab35aba6a279b94701550edfd765c8b422a2))
86
+
87
+ ### underpost-ingress
88
+
89
+ - Enable response compression in ingress and gateway ([7763f9da](https://github.com/underpostnet/engine/commit/7763f9da2b81128042cef2a73ca5570938dcd3f5))
90
+
91
+ ### test
92
+
93
+ - Fix missing pngjs import in object-layer test pipeline ([20c1f24d](https://github.com/underpostnet/engine/commit/20c1f24d865d5cdeb70a365c93f8c797c28fe960))
94
+ - Add WebSocket load test for cyberia-server ([e3ff2777](https://github.com/underpostnet/engine/commit/e3ff277725e33dace3ed3268e6f60299ea146f59))
95
+
96
+ ### engine-cyberia
97
+
98
+ - Remove eiri from entity default inventory ([e8f8d03c](https://github.com/underpostnet/engine/commit/e8f8d03c7e326fac012722f659def7d7a7da882c))
99
+ - Add fallback world default items staging and hot reload ([e646c430](https://github.com/underpostnet/engine/commit/e646c430d72ea7a319cf1640bd4c7505cbb40b87))
100
+ - Add playerBaseSpeed field to instance config defaults ([7cdbd23d](https://github.com/underpostnet/engine/commit/7cdbd23d255bb47e253e60f7ec0cc6c3600d5678))
101
+ - Add WebSocket connection limit env to cyberia-server ([c6f834c7](https://github.com/underpostnet/engine/commit/c6f834c7dc7bcae24d4f493a005cdb2d1b76a73d))
102
+
103
+ ### client-cyberia
104
+
105
+ - Add Fallback World Engine editor view ([cf61dfe8](https://github.com/underpostnet/engine/commit/cf61dfe8e7eec7556f5bd07e445d6759d9b432e4))
106
+ - Implement IPFS cid filters in ObjectLayerEngineViewer component ([93eb6992](https://github.com/underpostnet/engine/commit/93eb69928bf8ea6915f70b1ca4307fa582cc17b6))
107
+
108
+ ### docs
109
+
110
+ - Document moveAck reconciliation and move coalescing in Cyberia replication ([24b14ca4](https://github.com/underpostnet/engine/commit/24b14ca4ee4c9ef0ce4dc9e3135e4990ed0a8274))
111
+
112
+ ## New release v:3.2.90 (2026-08-11)
4
113
 
5
114
  ### cli-run
6
115