underpost 3.2.11 → 3.2.12
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/CHANGELOG.md +18 -0
- package/CLI-HELP.md +1 -1
- package/README.md +5 -9
- 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-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +2 -2
- package/package.json +1 -1
- package/src/cli/run.js +2 -2
- package/src/index.js +1 -1
- package/src/server/conf.js +5 -4
- package/src/server/start.js +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
## 2026-05-31
|
|
4
4
|
|
|
5
|
+
### docs
|
|
6
|
+
|
|
7
|
+
- Refactor Underpost Platform documentation for clarity and structure ([e554d3d69](https://github.com/underpostnet/engine/commit/e554d3d6947d35f31b28319de024120c16cc2210))
|
|
8
|
+
|
|
9
|
+
### engine-cyberia
|
|
10
|
+
|
|
11
|
+
- Refactor README and CLI command descriptions for clarity and consistency ([b322c77f1](https://github.com/underpostnet/engine/commit/b322c77f14347c3b9d94236c5d522a4decb6e5ee))
|
|
12
|
+
|
|
13
|
+
### server-conf
|
|
14
|
+
|
|
15
|
+
- Refactor awaitDeployMonitor parameters inverse arg functionality and fianl deployment event handle ([c34661ad0](https://github.com/underpostnet/engine/commit/c34661ad039cafe55a3858c006ba9c54bad4a001))
|
|
16
|
+
|
|
17
|
+
### server-start
|
|
18
|
+
|
|
19
|
+
- Remove error throw on unexpected deployment exit for improved error handling ([e6554e09c](https://github.com/underpostnet/engine/commit/e6554e09cc7274ed137a9860a751b0706a961284))
|
|
20
|
+
|
|
21
|
+
## New release v:3.2.11 (2026-05-31)
|
|
22
|
+
|
|
5
23
|
### deploy
|
|
6
24
|
|
|
7
25
|
- Fix deployment error handling: ensure global secret cleanup only occurs if container status is not 'error' ([83ef9d8cf](https://github.com/underpostnet/engine/commit/83ef9d8cf893c8fe8c07d445b324dd864d9ad842))
|
package/CLI-HELP.md
CHANGED
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
<div align="center">
|
|
18
18
|
|
|
19
|
-
[](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://www.jsdelivr.com/package/npm/underpost) [](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://www.jsdelivr.com/package/npm/underpost) [](https://socket.dev/npm/package/underpost/overview/3.2.12) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](https://www.npmjs.com/package/underpost)
|
|
20
20
|
|
|
21
21
|
</div>
|
|
22
22
|
|
|
@@ -41,7 +41,7 @@ The project covers:
|
|
|
41
41
|
|
|
42
42
|
### Architectural roles (Cyberia stack)
|
|
43
43
|
|
|
44
|
-
When the platform is hosting the Cyberia MMO extension, three runtime processes participate. Their boundaries are non-overlapping
|
|
44
|
+
When the platform is hosting the Cyberia MMO extension, three independent runtime processes participate. Their boundaries are non-overlapping.
|
|
45
45
|
|
|
46
46
|
| Process | Role |
|
|
47
47
|
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -49,13 +49,9 @@ When the platform is hosting the Cyberia MMO extension, three runtime processes
|
|
|
49
49
|
| **cyberia-server** (Go) | Authoritative simulation runtime: tick advancement, AOI replication, input command processing, snapshot generation. |
|
|
50
50
|
| **cyberia-client** (C → WebAssembly) | Presentation runtime: rendering, UI, input capture, prediction, reconciliation, interpolation, client-side presentation defaults. |
|
|
51
51
|
|
|
52
|
-
**
|
|
52
|
+
The ecosystem is **playable only when all three are running and healthy**. Each service is supervised independently and owns its own monitor/reconnector. If any one is unhealthy, the game enters standby and resumes automatically once all three are healthy again.
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
2. **cyberia-server** — authoritative Go simulation runtime; dials engine-cyberia gRPC at boot to load world configuration.
|
|
56
|
-
3. **cyberia-client** — rendering, UI, prediction, interpolation, reconciliation; connects to cyberia-server via WebSocket.
|
|
57
|
-
|
|
58
|
-
<a target="_top" href="https://github.com/underpostnet/engine-cyberia/blob/master/src/client/public/cyberia-docs/ARCHITECTURE.md">See Detailed architecture.</a>
|
|
54
|
+
<a target="_top" href="https://github.com/underpostnet/engine-cyberia/blob/master/src/client/public/cyberia-docs/ARCHITECTURE.md">See detailed Cyberia architecture.</a>
|
|
59
55
|
|
|
60
56
|
## Create a new project
|
|
61
57
|
|
|
@@ -90,7 +86,7 @@ npm run dev
|
|
|
90
86
|
<a target="_top" href="https://www.nexodev.org/docs?cid=src">See Docs.</a>
|
|
91
87
|
|
|
92
88
|
<!-- cli-index-start -->
|
|
93
|
-
## underpost ci/cd cli v3.2.
|
|
89
|
+
## underpost ci/cd cli v3.2.12
|
|
94
90
|
|
|
95
91
|
### Usage: `underpost [options] [command]`
|
|
96
92
|
```
|
|
@@ -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.12
|
|
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.12
|
|
102
102
|
# resources:
|
|
103
103
|
# requests:
|
|
104
104
|
# memory: "124Ki"
|
|
@@ -20,7 +20,7 @@ spec:
|
|
|
20
20
|
spec:
|
|
21
21
|
containers:
|
|
22
22
|
- name: dd-test-development-blue
|
|
23
|
-
image: underpost/underpost-engine:v3.2.
|
|
23
|
+
image: underpost/underpost-engine:v3.2.12
|
|
24
24
|
imagePullPolicy: IfNotPresent
|
|
25
25
|
envFrom:
|
|
26
26
|
- secretRef:
|
|
@@ -148,7 +148,7 @@ spec:
|
|
|
148
148
|
spec:
|
|
149
149
|
containers:
|
|
150
150
|
- name: dd-test-development-green
|
|
151
|
-
image: underpost/underpost-engine:v3.2.
|
|
151
|
+
image: underpost/underpost-engine:v3.2.12
|
|
152
152
|
imagePullPolicy: IfNotPresent
|
|
153
153
|
envFrom:
|
|
154
154
|
- secretRef:
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"type": "module",
|
|
3
3
|
"main": "src/index.js",
|
|
4
4
|
"name": "underpost",
|
|
5
|
-
"version": "3.2.
|
|
5
|
+
"version": "3.2.12",
|
|
6
6
|
"description": "Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orchestration. Extensible via downstream CLIs.",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"start": "node --max-old-space-size=8192 src/server",
|
package/src/cli/run.js
CHANGED
|
@@ -1819,7 +1819,7 @@ EOF`);
|
|
|
1819
1819
|
}`;
|
|
1820
1820
|
shellExec(cmd, { async: true });
|
|
1821
1821
|
}
|
|
1822
|
-
await awaitDeployMonitor(
|
|
1822
|
+
await awaitDeployMonitor();
|
|
1823
1823
|
{
|
|
1824
1824
|
const cmd = `npm run dev:client ${deployId} ${subConf} ${host} ${_path} proxy${options.tls ? ' tls' : ''}`;
|
|
1825
1825
|
|
|
@@ -1827,7 +1827,7 @@ EOF`);
|
|
|
1827
1827
|
async: true,
|
|
1828
1828
|
});
|
|
1829
1829
|
}
|
|
1830
|
-
await awaitDeployMonitor(
|
|
1830
|
+
await awaitDeployMonitor();
|
|
1831
1831
|
shellExec(
|
|
1832
1832
|
`NODE_ENV=development node src/proxy proxy ${deployId} ${subConf} ${host} ${_path}${options.tls ? ' tls' : ''}`,
|
|
1833
1833
|
);
|
package/src/index.js
CHANGED
package/src/server/conf.js
CHANGED
|
@@ -1295,16 +1295,17 @@ const validateTemplatePath = (absolutePath = '') => {
|
|
|
1295
1295
|
/**
|
|
1296
1296
|
* @method awaitDeployMonitor
|
|
1297
1297
|
* @description Waits for the deploy monitor.
|
|
1298
|
-
* @param {boolean} [
|
|
1298
|
+
* @param {boolean} [isFinal=false] - If true, logs when the final (non-replica) deployment completes.
|
|
1299
1299
|
* @param {number} [deltaMs=1000] - The delta ms.
|
|
1300
1300
|
* @returns {Promise<void>} - The await deploy monitor.
|
|
1301
1301
|
* @memberof ServerConfBuilder
|
|
1302
1302
|
*/
|
|
1303
|
-
const awaitDeployMonitor = async (
|
|
1304
|
-
|
|
1303
|
+
const awaitDeployMonitor = async (isFinal = false, deltaMs = 1000) => {
|
|
1304
|
+
Underpost.env.set('await-deploy', new Date().toISOString());
|
|
1305
|
+
if (isFinal) logger.info('Final deployment running (no replica)');
|
|
1305
1306
|
await timer(deltaMs);
|
|
1306
1307
|
if (Underpost.env.get('container-status') === 'error') throw new Error('Container status error');
|
|
1307
|
-
if (Underpost.env.get('await-deploy')) return await awaitDeployMonitor();
|
|
1308
|
+
if (Underpost.env.get('await-deploy')) return await awaitDeployMonitor(isFinal, deltaMs);
|
|
1308
1309
|
};
|
|
1309
1310
|
|
|
1310
1311
|
/**
|
package/src/server/start.js
CHANGED
|
@@ -211,7 +211,7 @@ class UnderpostStartUp {
|
|
|
211
211
|
shellExec(`node bin env ${replica} ${env}`);
|
|
212
212
|
const replicaCmd = `npm ${runCmd} ${replica}`;
|
|
213
213
|
shellExec(replicaCmd, { async: true, callback: makeDeployCallback(replicaCmd) });
|
|
214
|
-
await awaitDeployMonitor(
|
|
214
|
+
await awaitDeployMonitor();
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
shellExec(`node bin env ${deployId} ${env}`);
|
|
@@ -221,9 +221,9 @@ class UnderpostStartUp {
|
|
|
221
221
|
if (Underpost.env.get('container-status') !== 'error') {
|
|
222
222
|
if (env === 'production' && Underpost.env.isInsideContainer()) Underpost.secret.globalSecretClean();
|
|
223
223
|
Underpost.env.set('container-status', `${deployId}-${env}-running-deployment`);
|
|
224
|
+
} else {
|
|
225
|
+
Underpost.env.set('container-status', 'error');
|
|
224
226
|
}
|
|
225
|
-
Underpost.env.set('container-status', 'error');
|
|
226
|
-
throw new Error('Deployment process exited unexpectedly');
|
|
227
227
|
},
|
|
228
228
|
};
|
|
229
229
|
}
|