@underpostnet/cyberia 3.2.80 → 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.
- package/.env.example +50 -15
- package/.github/workflows/coverall.cyberia.ci.yml +87 -0
- package/.github/workflows/cyberia-client.cd.yml +2 -7
- package/.github/workflows/cyberia-server.cd.yml +2 -7
- package/.github/workflows/docker-image.cyberia-client.ci.yml +4 -4
- package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +4 -4
- package/.github/workflows/docker-image.cyberia-server.ci.yml +4 -4
- package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +4 -4
- package/.github/workflows/docker-image.engine-cyberia.ci.yml +3 -3
- package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +3 -3
- package/.github/workflows/engine-cyberia.cd.yml +3 -67
- package/.github/workflows/ghpkg.ci.yml +7 -1
- package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -16
- package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
- package/.github/workflows/release.cd.yml +1 -9
- package/CHANGELOG.md +291 -1
- package/CLI-HELP.md +174 -23
- package/Dockerfile +1 -1
- package/Dockerfile.dev +1 -1
- package/Dockerfile.test +1 -1
- package/bin/build.js +7 -5
- package/bin/cyberia.js +272 -98
- package/bin/deploy.js +19 -17
- package/bin/index.js +272 -98
- package/compose.env +50 -15
- package/conf.js +2 -0
- package/deploy/dd-cyberia/deploy.sh +42 -0
- package/deploy/dd-cyberia/init.sh +63 -0
- package/deploy/dd-cyberia/sync-deploy.sh +194 -0
- package/deploy/lib/logging.sh +96 -0
- package/deploy/pwa-microservices-template/deploy.sh +72 -0
- package/deploy/release/deploy.sh +62 -0
- package/deployment.yaml +1 -210
- package/docker-compose.yml +90 -85
- package/hardhat/package-lock.json +139 -131
- package/hardhat/package.json +4 -4
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-vultr.yaml +52 -0
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +1 -210
- package/manifests/deployment/dd-cyberia-development/gateway.yaml +80 -0
- package/manifests/deployment/dd-cyberia-development/httproute.yaml +504 -0
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +12 -12
- package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +0 -82
- package/manifests/deployment/dd-cyberia-development/traffic-service.yaml +121 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/playwright/deployment.yaml +1 -1
- package/manifests/mongodb/kustomization.yaml +4 -1
- package/manifests/mongodb/statefulset.yaml +4 -0
- package/manifests/mongodb/storage-class.yaml +9 -2
- package/nginx.conf +86 -16
- package/package.json +2 -2
- package/proxy.yaml +12 -12
- package/pv-pvc.yaml +0 -82
- package/scripts/audit-selinux.sh +64 -0
- package/scripts/coverall-test-cyberia.sh +24 -0
- package/scripts/coverall-test.sh +24 -0
- package/scripts/gpu-diag.sh +0 -0
- package/scripts/ip-info.sh +0 -0
- package/scripts/k3s-node-setup.sh +18 -15
- package/scripts/kubeadm-node-setup.sh +12 -23
- package/scripts/link-local-underpost-cli.sh +0 -0
- package/scripts/lxd-vm-setup.sh +0 -0
- package/scripts/maas-nat-firewalld.sh +0 -0
- package/scripts/nat-iptables.sh +12 -4
- package/scripts/rhel-grpc-setup.sh +0 -0
- package/scripts/rocky-kickstart.sh +25 -9
- package/scripts/test-monitor.sh +4 -3
- package/src/api/cyberia-action/cyberia-action.model.js +1 -0
- package/src/api/cyberia-instance/cyberia-fallback-default-items.js +63 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +49 -15
- package/src/api/cyberia-instance/cyberia-instance-map.service.js +8 -12
- package/src/api/cyberia-instance/cyberia-instance.controller.js +3 -0
- package/src/api/cyberia-instance/cyberia-instance.router.js +13 -0
- package/src/api/cyberia-instance/cyberia-instance.service.js +43 -0
- package/src/api/cyberia-instance/cyberia-portal-connector.js +7 -5
- package/src/api/cyberia-instance/cyberia-random-source.js +80 -0
- package/src/api/cyberia-instance/cyberia-world-generator.js +4 -3
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +1 -0
- package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +87 -1
- package/src/api/object-layer/object-layer.model.js +204 -3
- package/src/api/object-layer/object-layer.service.js +1 -14
- package/src/cli/baremetal.js +1 -2
- package/src/cli/cloud-init.js +1 -1
- package/src/cli/cluster.js +786 -96
- package/src/cli/db.js +11 -4
- package/src/cli/deploy.js +1698 -177
- package/src/cli/docker-compose.js +19 -178
- package/src/cli/env.js +1 -1
- package/src/cli/image.js +15 -7
- package/src/cli/index.js +245 -44
- package/src/cli/ipfs.js +82 -11
- package/src/cli/lxd.js +1 -1
- package/src/cli/monitor.js +2 -2
- package/src/cli/release.js +57 -22
- package/src/cli/repository.js +12 -10
- package/src/cli/run.js +2195 -427
- package/src/cli/secrets.js +969 -0
- package/src/cli/ssh.js +206 -105
- package/src/cli/system.js +26 -13
- package/src/cli/test.js +1 -1
- package/src/cli/vultr.js +583 -0
- package/src/cli/wireguard.js +2125 -0
- package/src/client/components/cyberia/FallbackWorldEngineCyberia.js +368 -0
- package/src/client/components/cyberia/InstanceSelectionView.js +11 -8
- package/src/client/components/cyberia/SharedDefaultsCyberia.js +5 -0
- package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +33 -0
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +4 -0
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
- package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +106 -39
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +35 -3
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +44 -7
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +1 -1
- 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-instance/cyberia-instance.service.js +40 -0
- package/src/client/services/object-layer/object-layer.management.js +4 -4
- package/src/client-builder/client-build.js +102 -13
- package/src/client-builder/ssr.js +27 -73
- package/src/db/mongo/MongoBootstrap.js +295 -54
- package/src/db/mongo/MongooseDB.js +51 -32
- package/src/index.js +25 -1
- package/src/projects/cyberia/besu-genesis-generator.js +3 -2
- package/src/projects/cyberia/catalog-cyberia.js +5 -0
- package/src/projects/cyberia/generate-saga.js +14 -23
- package/src/projects/cyberia/hot-reload-trigger.js +3 -3
- package/src/projects/cyberia/instance-data.js +63 -3
- package/src/projects/cyberia/object-layer.js +11 -21
- package/src/projects/underpost/catalog-underpost.js +4 -1
- package/src/runtime/cyberia-client/Dockerfile +1 -1
- package/src/runtime/cyberia-client/Dockerfile.dev +1 -1
- package/src/runtime/cyberia-server/Dockerfile +1 -1
- package/src/runtime/cyberia-server/Dockerfile.dev +1 -1
- package/src/runtime/engine-cyberia/Dockerfile +1 -1
- package/src/runtime/engine-cyberia/Dockerfile.dev +1 -1
- package/src/runtime/engine-cyberia/Dockerfile.test +1 -1
- package/src/runtime/engine-cyberia/compose.env +50 -15
- package/src/runtime/engine-cyberia/docker-compose.yml +90 -85
- package/src/runtime/engine-cyberia/nginx.conf +86 -16
- package/src/server/backup.js +1 -1
- package/src/server/conf.js +1216 -168
- package/src/server/cri.js +70 -0
- package/src/server/cron.js +249 -51
- package/src/server/dns.js +100 -6
- package/src/server/environment.js +98 -0
- package/src/server/forward-proxy.js +549 -0
- package/src/server/middlewares.js +56 -1
- package/src/server/process.js +0 -1
- package/src/server/selinux.js +185 -0
- package/src/server/systemd.js +205 -0
- package/src/server/underpost-compression.js +186 -0
- package/src/server/underpost-gateway.js +1083 -0
- package/src/server/underpost-ingress.js +380 -0
- package/test/cluster-instances.test.js +435 -0
- package/test/cyberia-instance-conf-defaults.test.js +1 -0
- package/test/deploy-node-placement.test.js +45 -0
- package/test/instance-traffic-plan.test.js +710 -0
- package/test/selinux.test.js +71 -0
- package/test/sops-secret-store.test.js +612 -0
- package/test/underpost-gateway.test.js +510 -0
- package/test/underpost-ingress.test.js +305 -0
- package/test/wireguard-edge.test.js +1177 -0
package/.env.example
CHANGED
|
@@ -40,29 +40,27 @@ VALKEY_HOST=valkey-service
|
|
|
40
40
|
VALKEY_PORT=6379
|
|
41
41
|
|
|
42
42
|
# --- Cyberia instance wiring (compose service DNS) ---------------------------
|
|
43
|
-
# cyberia-server-* -> engine
|
|
44
|
-
#
|
|
45
|
-
#
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
ENGINE_GRPC_ADDRESS=engine-cyberia:50051
|
|
43
|
+
# cyberia-server-* -> stable engine gateway for HTTP and the raw engine runtime
|
|
44
|
+
# for gRPC. The public engine-cyberia name belongs to nginx, avoiding ambiguous
|
|
45
|
+
# Docker DNS while keeping one stable HTTP endpoint for every module.
|
|
46
|
+
ENGINE_API_BASE_URL=http://engine-cyberia
|
|
47
|
+
ENGINE_GRPC_ADDRESS=engine-cyberia-runtime:50051
|
|
49
48
|
|
|
50
49
|
# Client-visible Content Authority origin, forwarded to browser/Raylib clients
|
|
51
50
|
# for every engine-cyberia content/asset/metadata request. Host-reachable
|
|
52
|
-
# (
|
|
51
|
+
# (Docker publishes the raw engine runtime on host :4005). Unlike the internal
|
|
52
|
+
# ENGINE_API_BASE_URL, this value is consumed outside the Compose network:
|
|
53
53
|
# the two responsibilities must never overwrite each other.
|
|
54
54
|
ENGINE_PUBLIC_URL=http://localhost:4005
|
|
55
55
|
ENGINE_GRPC_RELOAD_INTERVAL_SEC=300
|
|
56
56
|
|
|
57
57
|
# --- Browser-facing client runtime config (injected by docker-driver.py) -----
|
|
58
58
|
# The single WASM bundle resolves its instance from the URL sub-path and builds
|
|
59
|
-
# its endpoints from these origins.
|
|
60
|
-
#
|
|
61
|
-
#
|
|
62
|
-
#
|
|
63
|
-
|
|
64
|
-
# http://localhost/FOREST -> FOREST instance, ws -> ws://localhost/FOREST/ws
|
|
65
|
-
CYBERIA_WS_ORIGIN=ws://localhost
|
|
59
|
+
# its endpoints from these origins. HTTP client/API traffic uses nginx on :80;
|
|
60
|
+
# WebSocket traffic uses the dedicated multi-path server gateway on :8081.
|
|
61
|
+
# http://localhost/ -> default, ws://localhost:8081/ws
|
|
62
|
+
# http://localhost/FOREST -> FOREST, ws://localhost:8081/FOREST/ws
|
|
63
|
+
CYBERIA_WS_ORIGIN=ws://localhost:8081
|
|
66
64
|
CYBERIA_ENGINE_API_ORIGIN=http://localhost
|
|
67
65
|
CYBERIA_DEFAULT_INSTANCE=amethyst-strata-expansion
|
|
68
66
|
|
|
@@ -72,6 +70,22 @@ CYBERIA_DEFAULT_INSTANCE=amethyst-strata-expansion
|
|
|
72
70
|
CYBERIA_SERVER_APP_ENV=development
|
|
73
71
|
CYBERIA_SERVER_LOG_LEVEL=
|
|
74
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
|
+
|
|
75
89
|
# --- engine-cyberia runtime env (loaded into the container via env_file) -----
|
|
76
90
|
# The dd-cyberia engine (engine-private/conf/dd-cyberia/conf.server.json) needs
|
|
77
91
|
# these to boot: DB auth + per-site DB names, the base PORT (the cyberia host is
|
|
@@ -82,6 +96,7 @@ NODE_OPTIONS=--max-old-space-size=8192
|
|
|
82
96
|
BASE_API=api
|
|
83
97
|
DEFAULT_DEPLOY_ID=dd-cyberia
|
|
84
98
|
DEPLOY_ID=dd-cyberia
|
|
99
|
+
# Configuration/DB selector from conf.server.json; this is not a Docker DNS alias.
|
|
85
100
|
DEFAULT_DEPLOY_HOST=www.cyberiaonline.com
|
|
86
101
|
DEFAULT_DEPLOY_PATH=/
|
|
87
102
|
DISABLE_API_RATE_LIMIT=true
|
|
@@ -131,7 +146,25 @@ IPFS_CLUSTER_API_URL=http://ipfs-cluster:9094
|
|
|
131
146
|
# in docker-compose.yml). Override for a real/shared cluster.
|
|
132
147
|
# CLUSTER_SECRET=
|
|
133
148
|
|
|
134
|
-
# ---
|
|
149
|
+
# --- Local access ------------------------------------------------------------
|
|
150
|
+
# Client gateway: http://localhost/{,FOREST,TEST}
|
|
151
|
+
# Client port alias: http://localhost:8082/{,FOREST,TEST}
|
|
152
|
+
# Server gateway: http://localhost:8081/{,FOREST,TEST}
|
|
153
|
+
# Engine authority: http://localhost:4005
|
|
154
|
+
# Docker-network gateways:
|
|
155
|
+
# http://cyberia-client/{,FOREST,TEST}
|
|
156
|
+
# http://cyberia-server/{,FOREST,TEST}
|
|
157
|
+
# http://engine-cyberia/
|
|
158
|
+
#
|
|
159
|
+
# The *.localhost aliases normally resolve to loopback without configuration:
|
|
160
|
+
# http://client.cyberia.localhost/{,FOREST,TEST}
|
|
161
|
+
# http://server.cyberia.localhost/{,FOREST,TEST}
|
|
162
|
+
# http://engine.cyberia.localhost/
|
|
163
|
+
# `node bin/cyberia run-workflow docker:up` maintains this host entry (the
|
|
164
|
+
# aliases already work between containers):
|
|
165
|
+
# 127.0.0.1 cyberia-client cyberia-server engine-cyberia
|
|
166
|
+
#
|
|
167
|
+
# Host-published ports:
|
|
135
168
|
PROXY_HTTP_PORT=80
|
|
136
169
|
IPFS_API_PORT=5001
|
|
137
170
|
IPFS_GATEWAY_PORT=8080
|
|
@@ -140,5 +173,7 @@ MONGO_HOST_PORT=27017
|
|
|
140
173
|
VALKEY_NODEPORT=32079
|
|
141
174
|
ENGINE_CYBERIA_REST_PORT=4005
|
|
142
175
|
ENGINE_CYBERIA_GRPC_PORT=50051
|
|
176
|
+
# Multi-path nginx server gateway, not a single server container publication.
|
|
143
177
|
CYBERIA_SERVER_PORT=8081
|
|
178
|
+
# Multi-path nginx client gateway; raw client containers remain internal.
|
|
144
179
|
CYBERIA_CLIENT_PORT=8082
|
|
@@ -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
|
|
@@ -31,10 +31,5 @@ jobs:
|
|
|
31
31
|
command_timeout: 60m
|
|
32
32
|
script: |
|
|
33
33
|
set -e
|
|
34
|
-
|
|
35
|
-
|
|
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 --image-pull-policy Always --node-name $HOSTNAME --kubeadm 'dd-cyberia,mmo-client' --node-name ${TARGET_NODE} --ssh-key-path /home/dd/tmp/897as9dxhaskd9"
|
|
34
|
+
set -o pipefail
|
|
35
|
+
bash /home/dd/engine/deploy/cyberia-client/deploy.sh
|
|
@@ -31,10 +31,5 @@ jobs:
|
|
|
31
31
|
command_timeout: 60m
|
|
32
32
|
script: |
|
|
33
33
|
set -e
|
|
34
|
-
|
|
35
|
-
|
|
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 --image-pull-policy Always --node-name $HOSTNAME --kubeadm 'dd-cyberia,mmo-server' --node-name ${TARGET_NODE} --ssh-key-path /home/dd/tmp/897as9dxhaskd9"
|
|
34
|
+
set -o pipefail
|
|
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.
|
|
7
|
+
UNDERPOST_VERSION: '3.3.0'
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
build-and-push:
|
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
working-directory: engine
|
|
36
36
|
run: |
|
|
37
37
|
node bin/deploy cyberia
|
|
38
|
-
node bin/cyberia run-workflow build-cyberia-404 --output-path ../
|
|
38
|
+
node bin/cyberia run-workflow build-cyberia-404 --output-path ../assets/404/index.html
|
|
39
39
|
|
|
40
40
|
- name: Set up Docker Buildx
|
|
41
41
|
uses: docker/setup-buildx-action@v4
|
|
@@ -54,8 +54,8 @@ jobs:
|
|
|
54
54
|
tags: |
|
|
55
55
|
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
56
56
|
type=raw,value=latest
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
# type=ref,event=branch
|
|
58
|
+
# type=sha,prefix=sha-
|
|
59
59
|
|
|
60
60
|
- name: Build and push image
|
|
61
61
|
uses: docker/build-push-action@v7
|
|
@@ -4,7 +4,7 @@ on:
|
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
|
-
UNDERPOST_VERSION: '3.
|
|
7
|
+
UNDERPOST_VERSION: '3.3.0'
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
build-and-push:
|
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
working-directory: engine
|
|
36
36
|
run: |
|
|
37
37
|
node bin/deploy cyberia
|
|
38
|
-
node bin/cyberia run-workflow build-cyberia-404 --output-path ../
|
|
38
|
+
node bin/cyberia run-workflow build-cyberia-404 --output-path ../assets/404/index.html
|
|
39
39
|
|
|
40
40
|
- name: Set up Docker Buildx
|
|
41
41
|
uses: docker/setup-buildx-action@v4
|
|
@@ -54,8 +54,8 @@ jobs:
|
|
|
54
54
|
tags: |
|
|
55
55
|
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
56
56
|
type=raw,value=latest
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
# type=ref,event=branch
|
|
58
|
+
# type=sha,prefix=sha-
|
|
59
59
|
|
|
60
60
|
- name: Build and push image
|
|
61
61
|
uses: docker/build-push-action@v7
|
|
@@ -4,7 +4,7 @@ on:
|
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
|
-
UNDERPOST_VERSION: '3.
|
|
7
|
+
UNDERPOST_VERSION: '3.3.0'
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
build-and-push:
|
|
@@ -36,7 +36,7 @@ jobs:
|
|
|
36
36
|
run: |
|
|
37
37
|
node bin/deploy cyberia
|
|
38
38
|
node bin/cyberia run-workflow build-server-dashboard --output-path ../public/index.html
|
|
39
|
-
node bin/cyberia run-workflow build-cyberia-404 --output-path ../public/404.html
|
|
39
|
+
node bin/cyberia run-workflow build-cyberia-404 --output-path ../public/404/index.html
|
|
40
40
|
|
|
41
41
|
- name: Set up Docker Buildx
|
|
42
42
|
uses: docker/setup-buildx-action@v4
|
|
@@ -55,8 +55,8 @@ jobs:
|
|
|
55
55
|
tags: |
|
|
56
56
|
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
57
57
|
type=raw,value=latest
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
# type=ref,event=branch
|
|
59
|
+
# type=sha,prefix=sha-
|
|
60
60
|
|
|
61
61
|
- name: Build and push image
|
|
62
62
|
uses: docker/build-push-action@v7
|
|
@@ -4,7 +4,7 @@ on:
|
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
|
-
UNDERPOST_VERSION: '3.
|
|
7
|
+
UNDERPOST_VERSION: '3.3.0'
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
build-and-push:
|
|
@@ -36,7 +36,7 @@ jobs:
|
|
|
36
36
|
run: |
|
|
37
37
|
node bin/deploy cyberia
|
|
38
38
|
node bin/cyberia run-workflow build-server-dashboard --dev --output-path ../public/index.html
|
|
39
|
-
node bin/cyberia run-workflow build-cyberia-404 --output-path ../public/404.html
|
|
39
|
+
node bin/cyberia run-workflow build-cyberia-404 --output-path ../public/404/index.html
|
|
40
40
|
|
|
41
41
|
- name: Set up Docker Buildx
|
|
42
42
|
uses: docker/setup-buildx-action@v4
|
|
@@ -55,8 +55,8 @@ jobs:
|
|
|
55
55
|
tags: |
|
|
56
56
|
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
57
57
|
type=raw,value=latest
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
# type=ref,event=branch
|
|
59
|
+
# type=sha,prefix=sha-
|
|
60
60
|
|
|
61
61
|
- name: Build and push image
|
|
62
62
|
uses: docker/build-push-action@v7
|
|
@@ -4,7 +4,7 @@ on:
|
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
|
-
UNDERPOST_VERSION: '3.
|
|
7
|
+
UNDERPOST_VERSION: '3.3.0'
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
build-and-push:
|
|
@@ -33,8 +33,8 @@ jobs:
|
|
|
33
33
|
tags: |
|
|
34
34
|
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
35
35
|
type=raw,value=latest
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
# type=ref,event=branch
|
|
37
|
+
# type=sha,prefix=sha-
|
|
38
38
|
|
|
39
39
|
- name: Build and push image
|
|
40
40
|
uses: docker/build-push-action@v7
|
|
@@ -4,7 +4,7 @@ on:
|
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
|
-
UNDERPOST_VERSION: '3.
|
|
7
|
+
UNDERPOST_VERSION: '3.3.0'
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
build-and-push:
|
|
@@ -33,8 +33,8 @@ jobs:
|
|
|
33
33
|
tags: |
|
|
34
34
|
type=raw,value=v${{ env.UNDERPOST_VERSION }}
|
|
35
35
|
type=raw,value=latest
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
# type=ref,event=branch
|
|
37
|
+
# type=sha,prefix=sha-
|
|
38
38
|
|
|
39
39
|
- name: Build and push image
|
|
40
40
|
uses: docker/build-push-action@v7
|
|
@@ -40,12 +40,7 @@ jobs:
|
|
|
40
40
|
script: |
|
|
41
41
|
set -e
|
|
42
42
|
set -o pipefail
|
|
43
|
-
|
|
44
|
-
cd /home/dd/engine
|
|
45
|
-
sudo -n -- /bin/bash -lc "node bin run pull"
|
|
46
|
-
sudo -n -- /bin/bash -lc "npm install"
|
|
47
|
-
sudo -n -- /bin/bash -lc "node bin run secret"
|
|
48
|
-
sudo -n -- /bin/bash -lc "node bin run deploy dd-cyberia"
|
|
43
|
+
bash /home/dd/engine/deploy/dd-cyberia/deploy.sh
|
|
49
44
|
sync-and-deploy:
|
|
50
45
|
if: github.event.inputs.job == 'sync-and-deploy'
|
|
51
46
|
name: Remote SSH sync and deploy
|
|
@@ -70,58 +65,7 @@ jobs:
|
|
|
70
65
|
script: |
|
|
71
66
|
set -e
|
|
72
67
|
set -o pipefail
|
|
73
|
-
|
|
74
|
-
TARGET_NODE=localhost.localdomain
|
|
75
|
-
cd /home/dd/engine
|
|
76
|
-
sudo -n -- /bin/bash -lc "node bin run pull"
|
|
77
|
-
sudo -n -- /bin/bash -lc "npm install"
|
|
78
|
-
sudo -n -- /bin/bash -lc "node bin run secret"
|
|
79
|
-
sudo -n -- /bin/bash -lc "npm run test"
|
|
80
|
-
sudo -n -- /bin/bash -lc "node bin run clean src/client/public/cyberia"
|
|
81
|
-
sudo -n -- /bin/bash -lc "node bin run clean src/client/public/underpost"
|
|
82
|
-
sudo -n -- /bin/bash -lc "node bin cmt src/client/public/cyberia --init-repo"
|
|
83
|
-
sudo -n -- /bin/bash -lc "node bin cmt src/client/public/underpost --init-repo"
|
|
84
|
-
sudo -n -- /bin/bash -lc "node bin fs src/client/public/cyberia --pull --recursive --deploy-id dd-cyberia"
|
|
85
|
-
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'"
|
|
86
|
-
CHANGES_CYBERIA=$(sudo -n -- /bin/bash -lc "node bin cmt src/client/public/cyberia --has-changes" | tr -d '\n')
|
|
87
|
-
if [ "$CHANGES_CYBERIA" = "1" ]; then
|
|
88
|
-
sudo -n -- /bin/bash -lc "node bin cmt src/client/public/cyberia feat 'Update cyberia public assets'"
|
|
89
|
-
fi
|
|
90
|
-
CHANGES_UNDERPOST=$(sudo -n -- /bin/bash -lc "node bin cmt src/client/public/underpost --has-changes" | tr -d '\n')
|
|
91
|
-
if [ "$CHANGES_UNDERPOST" = "1" ]; then
|
|
92
|
-
sudo -n -- /bin/bash -lc "node bin cmt src/client/public/underpost feat 'Update underpost public assets'"
|
|
93
|
-
fi
|
|
94
|
-
sudo -n -- /bin/bash -lc "node bin run sync 'dd-cyberia,1,,underpost/engine-cyberia:latest' \
|
|
95
|
-
--kubeadm \
|
|
96
|
-
--deploy-id-cron-jobs none \
|
|
97
|
-
--timeout-response 300000ms \
|
|
98
|
-
--node-name ${TARGET_NODE} \
|
|
99
|
-
--ssh-key-path /home/dd/tmp/897as9dxhaskd9 \
|
|
100
|
-
--image-pull-policy Always \
|
|
101
|
-
--cmd 'cd /home/dd/engine, \
|
|
102
|
-
underpost clone underpostnet/engine-cyberia, \
|
|
103
|
-
mkdir -p /home/dd/engine/src/client/public/itemledger \
|
|
104
|
-
/home/dd/engine/src/client/public/cryptokoyn \
|
|
105
|
-
/home/dd/engine/src/client/components/cryptokoyn \
|
|
106
|
-
/home/dd/engine/src/client/components/itemledger \
|
|
107
|
-
/home/dd/engine/hardhat, \
|
|
108
|
-
cp -a ./engine-cyberia/src/client/public/itemledger/. /home/dd/engine/src/client/public/itemledger/, \
|
|
109
|
-
cp -a ./engine-cyberia/src/client/public/cryptokoyn/. /home/dd/engine/src/client/public/cryptokoyn/, \
|
|
110
|
-
cp -a ./engine-cyberia/src/client/components/cryptokoyn/. /home/dd/engine/src/client/components/cryptokoyn/, \
|
|
111
|
-
cp -a ./engine-cyberia/src/client/components/itemledger/. /home/dd/engine/src/client/components/itemledger/, \
|
|
112
|
-
cp -a ./engine-cyberia/src/client/Itemledger.index.js /home/dd/engine/src/client/Itemledger.index.js, \
|
|
113
|
-
cp -a ./engine-cyberia/src/client/Cryptokoyn.index.js /home/dd/engine/src/client/Cryptokoyn.index.js, \
|
|
114
|
-
rm -rf ./engine-cyberia, \
|
|
115
|
-
sudo rm -rf ./engine-private/, \
|
|
116
|
-
node bin clone underpostnet/engine-cyberia-private, \
|
|
117
|
-
sudo mv ./engine-cyberia-private ./engine-private, \
|
|
118
|
-
node bin env dd-cyberia production, \
|
|
119
|
-
node ./engine-private/itc-scripts/dd-cyberia-0.js, \
|
|
120
|
-
sudo chown -R dd:dd /home/dd/engine/src/client/public/cyberia, \
|
|
121
|
-
node bin/cyberia run-workflow import-default-items, \
|
|
122
|
-
node bin env dd-cyberia production, \
|
|
123
|
-
node bin client dd-cyberia, \
|
|
124
|
-
node bin start dd-cyberia production --run'"
|
|
68
|
+
bash /home/dd/engine/deploy/dd-cyberia/sync-deploy.sh
|
|
125
69
|
init:
|
|
126
70
|
if: github.event.inputs.job == 'init'
|
|
127
71
|
name: Remote SSH init deployment
|
|
@@ -146,12 +90,4 @@ jobs:
|
|
|
146
90
|
script: |
|
|
147
91
|
set -e
|
|
148
92
|
set -o pipefail
|
|
149
|
-
|
|
150
|
-
cd /home/dd/engine
|
|
151
|
-
sudo -n -- /bin/bash -lc "node bin run pull"
|
|
152
|
-
sudo -n -- /bin/bash -lc "npm install"
|
|
153
|
-
sudo -n -- /bin/bash -lc "node bin run secret"
|
|
154
|
-
sudo -n -- /bin/bash -lc "node bin/build dd-cyberia --conf"
|
|
155
|
-
sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --sync --build-manifest --timeout-response 300000ms --versions green --replicas 1"
|
|
156
|
-
sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --disable-update-proxy --git-clean"
|
|
157
|
-
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:
|
|
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
|
|
@@ -35,12 +35,4 @@ jobs:
|
|
|
35
35
|
script: |
|
|
36
36
|
set -e
|
|
37
37
|
set -o pipefail
|
|
38
|
-
|
|
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
|