underpost 3.2.8 → 3.2.9

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 CHANGED
@@ -1,10 +1,110 @@
1
1
  # Changelog
2
2
 
3
- ## 2026-05-01
3
+ ## 2026-05-14
4
+
5
+ ### client-core
6
+
7
+ - Enhance Modal component to support dynamic tooltip positioning and menu collapse behavior ([4c01f4011](https://github.com/underpostnet/engine/commit/4c01f4011b55feeb8d02b52547f5cf376fff6ca0))
8
+ - Add support for pulling pre-built client bundles and skipping full builds during deployment ([7f86db25a](https://github.com/underpostnet/engine/commit/7f86db25a13ede6a0027b63867b30fc9576a9263))
9
+ - Refactor Docs and Modal components to centralize submenu item rendering and improve code organization ([5fdd051e9](https://github.com/underpostnet/engine/commit/5fdd051e923c9adffc2b5261637b9ade88b96fc9))
10
+ - Enhance modal and docs components to improve submenu behavior and animations ([ebf257c38](https://github.com/underpostnet/engine/commit/ebf257c38c12c0f2d66dda681b2f09f97ccfccbc))
11
+ - Defer service worker registration to improve initial load performance in PwaWorker ([88b52b8fc](https://github.com/underpostnet/engine/commit/88b52b8fc0a49642b0530d5dc0b0edfaa5395c9d))
12
+ - Refactor filter clearing logic in DefaultManagement to use runIsolated for better control over grid/query listeners ([325f6bd66](https://github.com/underpostnet/engine/commit/325f6bd66bb381adec15feb12b0bd0ba8fa539e7))
13
+ - Fix LoadFileActionsRenderer and LoadFolderActionsRenderer to use instance methods for GUI management ([9e6507a0c](https://github.com/underpostnet/engine/commit/9e6507a0ccc667433b9cac6a1cc645ecf6d4e7b3))
14
+ - Fix disable functions to use instance method for visibility checks ([7f5701c8d](https://github.com/underpostnet/engine/commit/7f5701c8df74bc6576894d8b5f7655b64cc6797a))
15
+
16
+ ### cli-run
17
+
18
+ - Enhance promote method to support TLS configuration for blue/green deployments ([a31185676](https://github.com/underpostnet/engine/commit/a31185676cef0ca639621c722df31114a2b172a1))
19
+ - Add CRI-O installation and configuration methods for kubeadm clusters ([44743552e](https://github.com/underpostnet/engine/commit/44743552ee5e2bcd13c157ab4e30e9dfc15979f6))
20
+
21
+ ### cli-cluster
22
+
23
+ - Enhance nat-iptables.sh for comprehensive Kubernetes firewall configuration and service exposure ([9087a946a](https://github.com/underpostnet/engine/commit/9087a946ab29526e63d5f87b389f1ad500f30d78))
24
+
25
+ ### cli-dns
26
+
27
+ - Add MAC address retrieval option to CLI and implement corresponding method in DNS class ([52b319467](https://github.com/underpostnet/engine/commit/52b3194674419624d99835dfe63699ab30683bfb))
28
+
29
+ ### engine
30
+
31
+ - Update Node.js version to 24.15.0 in setup scripts and documentation ([e05a472ca](https://github.com/underpostnet/engine/commit/e05a472cae67429321b7e1b3c601e0965d3e7b67))
32
+
33
+ ### scripts
34
+
35
+ - Enable firewalld and configure persistent IP forwarding in nat-iptables.sh ([845a09791](https://github.com/underpostnet/engine/commit/845a09791187613b512f95cea12bc3b0a53dd13f))
36
+
37
+ ### cli-fs
38
+
39
+ - Enhance UnderpostFileStorage and UnderpostRepository with additional options and methods for improved Git operations ([a812d4e66](https://github.com/underpostnet/engine/commit/a812d4e666edd2cd17c9cafc34dfdc44e5bab994))
40
+
41
+ ### server-valkey
42
+
43
+ - Enhance Valkey connection handling with reconnecting status and improved retry strategy ([50b26c215](https://github.com/underpostnet/engine/commit/50b26c2155c7160a9e4704aadb8c74554c7d81bd))
44
+
45
+ ### bin-build
46
+
47
+ - Remove unnecessary copy docs md in cyberia build repo workdlow ([50a5399f6](https://github.com/underpostnet/engine/commit/50a5399f6d3b72dd7dc00092294b425f7ba618b4))
48
+
49
+ ### package
50
+
51
+ - Update dependencies for @protobufjs packages and fast-uri ([829026a8c](https://github.com/underpostnet/engine/commit/829026a8c685e5714a48bd2fb636c13b0419d818))
52
+ - Add peer dependency flag to multiple packages in package-lock.json ([c2a7870eb](https://github.com/underpostnet/engine/commit/c2a7870eb75cc44af4966a2dcb898a08e9dfe84e))
53
+
54
+ ### docs
55
+
56
+ - Refactor entryPoints in typedoc configuration files for improved readability and consistency ([fe77bcf3f](https://github.com/underpostnet/engine/commit/fe77bcf3fb17766be2d9af31bd57d6c2481b7f87))
57
+
58
+ ### engine-cyberia
59
+
60
+ - Update README path in typedoc configuration to point to ARCHITECTURE.md ([74ee0e45e](https://github.com/underpostnet/engine/commit/74ee0e45e355472d4f21eb8795b76c79c84c43e6))
61
+ - Add cyberia-docs path to build and file scripts for documentation inclusion ([851e126bf](https://github.com/underpostnet/engine/commit/851e126bf80b9427661b6477d3bf8f52462cec87))
62
+ - Remove unique constraint from code field in CyberiaQuestSchema ([b39aa3a7b](https://github.com/underpostnet/engine/commit/b39aa3a7b162b7dd230301f7eaf0747687c1c1b4))
63
+ - Rewrite and centralize cyberia docs source ([00e40986a](https://github.com/underpostnet/engine/commit/00e40986a51b87c9f5f0354479c77f841a1b9221))
64
+ - Remove legacy cyberia docs ([a5546128a](https://github.com/underpostnet/engine/commit/a5546128a20945645fe3008f5c98f01772ff055f))
65
+ - Refactor Cyberia schemas and update quest/action definitions for clarity and consistency ([cd7313206](https://github.com/underpostnet/engine/commit/cd7313206903035232da6f842f13475e8af77346))
66
+ - Add source map coordinates to CyberiaQuest schema and update action catalog metadata, and remove lefacy seed runners in cyberia CLI ([b39958485](https://github.com/underpostnet/engine/commit/b3995848556c87def6ff1045c73605c50201a1a3))
67
+ - Refactor CyberiaActionSchema by removing grantQuestCode field and update description in STATUS_ICONS for clarity ([221a8f072](https://github.com/underpostnet/engine/commit/221a8f072393238adf83c26c46d09fe05aa24466))
68
+ - Add seeding commands for Cyberia actions and quests, update schemas and default data structures ([70cd5f17d](https://github.com/underpostnet/engine/commit/70cd5f17d08eb1d6c812d7428b8a5a6c76d72728))
69
+ - Refactor Cyberia schemas to enhance action and quest structures, replacing itemId with more descriptive fields and adding new properties for better data management ([8736f2bac](https://github.com/underpostnet/engine/commit/8736f2bac3534180d798ea2ae2e6aac9781db9c2))
70
+ - Refactor Cyberia dialogue handling to use 'code' instead of 'itemId' for dialogue retrieval and update related schemas and data structures ([d8d50325e](https://github.com/underpostnet/engine/commit/d8d50325e2fbe8a118edde7e9bd7fb01d1507233))
71
+ - Update CyberiaActionSchema to correct action types and add storage payload structure ([88b68cb68](https://github.com/underpostnet/engine/commit/88b68cb6839900230ffb54fa44f6b11056aca5c0))
72
+ - Add Cyberia action and quest default data structures with schemas ([8171b6b43](https://github.com/underpostnet/engine/commit/8171b6b43b2aee98f0d8fe0151362493b09fdfd5))
73
+ - Implement Cyberia Quest and Progress APIs with controllers, services, models, and routers ([ba3c7bcb0](https://github.com/underpostnet/engine/commit/ba3c7bcb05f79f3999ec0f20daf49d4f02a2c9e2))
74
+
75
+ ### github-actions
76
+
77
+ - Remove run metadata worflow in engine-core sync deploy ([84d684d4b](https://github.com/underpostnet/engine/commit/84d684d4bf694605c67bf521617d60920ea43205))
78
+ - Increase timeout for sync command in engine lampp workflow ([949d693b5](https://github.com/underpostnet/engine/commit/949d693b5d4aaa28226b0417c2e2b87511eec885))
79
+ - Remove ssh-deploy sync-engine-test command from release deployment workflow ([0e6cf3af4](https://github.com/underpostnet/engine/commit/0e6cf3af48a2e0e904dd2e646a66931cf0cea784))
80
+
81
+ ### clien-core
82
+
83
+ - Optimize sessionOut and guest login process to skip unnecessary network calls ([b16a21fe3](https://github.com/underpostnet/engine/commit/b16a21fe3ce12d6c3c636677b06e1fa064500b6c))
84
+
85
+ ### cli-db
86
+
87
+ - Add export success tracking and enforce backup retention in UnderpostDB ([678ed675f](https://github.com/underpostnet/engine/commit/678ed675ff51ae681b6177c34ba1295543f5a916))
88
+
89
+ ### api-cyberia
90
+
91
+ - Remove CyberiaAchievement API controller, service, and router files to streamline codebase ([f5f31700f](https://github.com/underpostnet/engine/commit/f5f31700fed2940a475149ed0a948eae548c78e2))
92
+
93
+ ### runtime-cyberia-client
94
+
95
+ - Refactor cyberia-client Dockerfile to streamline package installations and improve build process ([66edc28c1](https://github.com/underpostnet/engine/commit/66edc28c1c3877bbf1d1ad0bdb8dbe259746f18d))
96
+
97
+ ### server-data-query
98
+
99
+ - Refactor DataQuery to use class syntax and static methods for improved structure and clarity ([b27221124](https://github.com/underpostnet/engine/commit/b27221124d096a046141d87fbc37de951c58aa92))
100
+
101
+ ### engine-core
102
+
103
+ - Fix rename AppointmentFormHealthcare to AppointmentFormHealthCare for consistency ([02839072b](https://github.com/underpostnet/engine/commit/02839072b6aaa77d7f524934a8ab92a24d4d5040))
4
104
 
5
105
  ### cli-release
6
106
 
7
- - Update workflows to reflect new underpost image versions ([9a5577cba](https://github.com/underpostnet/engine/commit/9a5577cba856b2666e6ac023a9a319782301891d))
107
+ - Update workflows to reflect new underpost image versions ([f5e18de0c](https://github.com/underpostnet/engine/commit/f5e18de0c9209fb6da2254a8dca94e8ef37ae394))
8
108
 
9
109
  ## New release v:3.2.8 (2026-05-01)
10
110
 
package/CLI-HELP.md CHANGED
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v3.2.8
1
+ ## underpost ci/cd cli v3.2.9
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -137,6 +137,10 @@ Options:
137
137
  workspace code directly.
138
138
  --skip-full-build Skips the full client bundle build during
139
139
  deployment.
140
+ --pull-bundle Downloads the pre-built client bundle from
141
+ Cloudinary via pull-bundle before starting. Use
142
+ together with --skip-full-build to skip the local
143
+ build entirely.
140
144
  -h, --help display help for command
141
145
 
142
146
  ```
@@ -389,6 +393,7 @@ Options:
389
393
  lists.
390
394
  --ban-both-remove Removes IP addresses from both banned ingress and egress
391
395
  lists.
396
+ --mac Prints the MAC address of the main network interface.
392
397
  -h, --help display help for command
393
398
 
394
399
  ```
@@ -553,6 +558,13 @@ Options:
553
558
  auto-detected service port).
554
559
  --cmd <cmd> Custom initialization command for
555
560
  deployment (comma-separated commands).
561
+ --skip-full-build Skip client bundle rebuild; container will
562
+ pull pre-built bundle via pull-bundle
563
+ instead.
564
+ --pull-bundle Explicitly pull the pre-built client
565
+ bundle from Cloudinary inside the
566
+ container. Use together with
567
+ --skip-full-build.
556
568
  -h, --help display help for command
557
569
 
558
570
  ```
@@ -891,7 +903,7 @@ Options:
891
903
  Runs specified scripts using various runners.
892
904
 
893
905
  Arguments:
894
- runner-id The runner ID to run. Options: dev-cluster,ipfs-expose,metadata,svc-ls,svc-rm,ssh-deploy-info,dev-hosts-expose,dev-hosts-restore,cluster-build,template-deploy,template-deploy-local,docker-image,clean,pull,release-deploy,ssh-deploy,ide,crypto-policy,sync,stop,ssh-deploy-stop,ssh-deploy-db-rollback,ssh-deploy-db,ssh-deploy-db-status,tz,get-proxy,instance-promote,instance,instance-build-manifest,ls-deployments,host-update,dd-container,ip-info,db-client,git-conf,promote,metrics,cluster,deploy,disk-clean,disk-devices,disk-usage,dev,service,etc-hosts,sh,log,ps,pid-info,background,ports,deploy-test,tf-vae-test,spark-template,pull-rocky-image,rmi,kill,generate-pass,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job,push-bundle,pull-bundle.
906
+ runner-id The runner ID to run. Options: dev-cluster,ipfs-expose,metadata,svc-ls,svc-rm,ssh-deploy-info,dev-hosts-expose,dev-hosts-restore,cluster-build,template-deploy,template-deploy-local,docker-image,clean,pull,release-deploy,ssh-deploy,ide,crypto-policy,sync,stop,ssh-deploy-stop,ssh-deploy-db-rollback,ssh-deploy-db,ssh-deploy-db-status,tz,get-proxy,instance-promote,instance,instance-build-manifest,ls-deployments,host-update,install-crio,dd-container,ip-info,db-client,git-conf,promote,metrics,cluster,deploy,disk-clean,disk-devices,disk-usage,dev,service,etc-hosts,sh,log,ps,pid-info,background,ports,deploy-test,tf-vae-test,spark-template,pull-rocky-image,rmi,kill,generate-pass,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job,push-bundle,pull-bundle.
895
907
  path The input value, identifier, or path for the operation.
896
908
 
897
909
  Options:
@@ -959,6 +971,8 @@ Options:
959
971
  --create-job-now After applying cron manifests, immediately create a Job from each CronJob (forwarded to cron runner).
960
972
  --host-aliases <host-aliases> Adds entries to the Pod /etc/hosts via hostAliases. Format: semicolon-separated entries of "ip=hostname1,hostname2" (e.g., "127.0.0.1=foo.local,bar.local;10.1.2.3=foo.remote,bar.remote").
961
973
  --copy Copies the runner output to the clipboard (supported by: generate-pass, template-deploy-local).
974
+ --skip-full-build Skip client bundle rebuild; triggers pull-bundle in container startup (supported by: sync, template-deploy).
975
+ --pull-bundle Explicitly download the pre-built client bundle from Cloudinary inside the container (supported by: sync, template-deploy). Use together with --skip-full-build.
962
976
  -h, --help display help for command
963
977
 
964
978
  ```
package/README.md CHANGED
@@ -10,13 +10,13 @@
10
10
 
11
11
  <div align="center">
12
12
 
13
- <a target="_top" href='https://download.rockylinux.org/pub/rocky/9/'><img alt='rockylinux' src='https://img.shields.io/badge/Rocky Linux v9.6-100000?style=flat&logo=rockylinux&logoColor=white&labelColor=10b981&color=727273'/></a> <a target="_top" href='https://www.npmjs.com/package/npm?activeTab=versions'><img alt='npm' src='https://img.shields.io/badge/npm v11.6.2-100000?style=flat&logo=npm&logoColor=white&labelColor=CB3837&color=727273'/></a> <a target="_top" href='https://nodejs.org/download/release'><img alt='nodedotjs' src='https://img.shields.io/badge/node v24.10.0-100000?style=flat&logo=nodedotjs&logoColor=white&labelColor=5FA04E&color=727273'/></a> <a target="_top" href='https://pgp.mongodb.com/'><img alt='mongodb' src='https://img.shields.io/badge/mongodb_server v7.0-100000?style=flat&logo=mongodb&logoColor=white&labelColor=47A248&color=727273'/></a>
13
+ <a target="_top" href='https://download.rockylinux.org/pub/rocky/9/'><img alt='rockylinux' src='https://img.shields.io/badge/Rocky Linux v9.6-100000?style=flat&logo=rockylinux&logoColor=white&labelColor=10b981&color=727273'/></a> <a target="_top" href='https://www.npmjs.com/package/npm?activeTab=versions'><img alt='npm' src='https://img.shields.io/badge/npm v11.6.2-100000?style=flat&logo=npm&logoColor=white&labelColor=CB3837&color=727273'/></a> <a target="_top" href='https://nodejs.org/download/release'><img alt='nodedotjs' src='https://img.shields.io/badge/node v24.15.0-100000?style=flat&logo=nodedotjs&logoColor=white&labelColor=5FA04E&color=727273'/></a> <a target="_top" href='https://pgp.mongodb.com/'><img alt='mongodb' src='https://img.shields.io/badge/mongodb_server v7.0-100000?style=flat&logo=mongodb&logoColor=white&labelColor=47A248&color=727273'/></a>
14
14
 
15
15
  </div>
16
16
 
17
17
  <div align="center">
18
18
 
19
- [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/3.2.8)](https://socket.dev/npm/package/underpost/overview/3.2.8) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
19
+ [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/3.2.9)](https://socket.dev/npm/package/underpost/overview/3.2.9) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
20
20
 
21
21
  </div>
22
22
 
@@ -61,7 +61,7 @@ npm run dev
61
61
  <a target="_top" href="https://www.nexodev.org/docs?cid=src">See Docs here.</a>
62
62
 
63
63
  <!-- cli-index-start -->
64
- ## underpost ci/cd cli v3.2.8
64
+ ## underpost ci/cd cli v3.2.9
65
65
 
66
66
  ### Usage: `underpost [options] [command]`
67
67
  ```
package/bin/build.js CHANGED
@@ -180,9 +180,7 @@ const { DefaultConf } = await import(`../conf.${confName}.js`);
180
180
  ...CyberiaDependencies,
181
181
  };
182
182
  fs.writeFileSync(`${basePath}/bin/index.js`, fs.readFileSync(`./bin/cyberia.js`, 'utf8'), 'utf8');
183
- fs.copyFileSync(`./src/api/object-layer/README.md`, `${basePath}/README.md`);
184
183
  fs.copySync(`./hardhat`, `${basePath}/hardhat`);
185
- fs.copySync(`./hardhat/WHITE-PAPER.md`, `${basePath}/WHITE-PAPER.md`);
186
184
  for (const path of [
187
185
  '/src/grpc/cyberia',
188
186
  '/src/client/ssr/pages/CyberiaServerMetrics.js',
@@ -198,6 +196,7 @@ const { DefaultConf } = await import(`../conf.${confName}.js`);
198
196
  '/src/runtime/cyberia-server',
199
197
  '/src/runtime/cyberia-client',
200
198
  '/.github/workflows/hardhat.ci.yml',
199
+ '/src/client/public/cyberia-docs',
201
200
  ])
202
201
  fs.copySync(`.${path}`, `${basePath}${path}`);
203
202
 
package/bin/file.js CHANGED
@@ -107,6 +107,7 @@ try {
107
107
  './src/runtime/cyberia-server',
108
108
  './src/runtime/cyberia-client',
109
109
  './test/shape-generator.test.js',
110
+ './src/client/public/cyberia-docs',
110
111
  'bin/cyberia.js',
111
112
  ]) {
112
113
  if (fs.existsSync(deletePath)) fs.removeSync('../pwa-microservices-template/' + deletePath);
@@ -23,7 +23,7 @@ spec:
23
23
  spec:
24
24
  containers:
25
25
  - name: dd-cron-backup
26
- image: underpost/underpost-engine:v3.2.8
26
+ image: underpost/underpost-engine:v3.2.9
27
27
  command:
28
28
  - /bin/sh
29
29
  - -c
@@ -42,7 +42,7 @@ spec:
42
42
  type: Directory
43
43
  name: underpost-cron-container-volume
44
44
  - hostPath:
45
- path: /root/.nvm/versions/node/v24.10.0/lib/node_modules/underpost
45
+ path: /root/.nvm/versions/node/v24.15.0/lib/node_modules/underpost
46
46
  type: DirectoryOrCreate
47
47
  name: underpost-share-env
48
48
  restartPolicy: OnFailure
@@ -23,7 +23,7 @@ spec:
23
23
  spec:
24
24
  containers:
25
25
  - name: dd-cron-dns
26
- image: underpost/underpost-engine:v3.2.8
26
+ image: underpost/underpost-engine:v3.2.9
27
27
  command:
28
28
  - /bin/sh
29
29
  - -c
@@ -42,7 +42,7 @@ spec:
42
42
  type: Directory
43
43
  name: underpost-cron-container-volume
44
44
  - hostPath:
45
- path: /root/.nvm/versions/node/v24.10.0/lib/node_modules/underpost
45
+ path: /root/.nvm/versions/node/v24.15.0/lib/node_modules/underpost
46
46
  type: DirectoryOrCreate
47
47
  name: underpost-share-env
48
48
  restartPolicy: OnFailure
@@ -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.8
20
+ image: underpost/underpost-engine:v3.2.9
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.8
101
+ image: underpost/underpost-engine:v3.2.9
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.8
23
+ image: underpost/underpost-engine:v3.2.9
24
24
  imagePullPolicy: IfNotPresent
25
25
  envFrom:
26
26
  - secretRef:
@@ -147,7 +147,7 @@ spec:
147
147
  spec:
148
148
  containers:
149
149
  - name: dd-test-development-green
150
- image: underpost/underpost-engine:v3.2.8
150
+ image: underpost/underpost-engine:v3.2.9
151
151
  imagePullPolicy: IfNotPresent
152
152
  envFrom:
153
153
  - 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.8",
5
+ "version": "3.2.9",
6
6
  "description": "pwa api rest template",
7
7
  "scripts": {
8
8
  "start": "node --max-old-space-size=8192 src/server",
@@ -58,7 +58,7 @@
58
58
  "@neodrag/vanilla": "^2.3.1",
59
59
  "adm-zip": "^0.5.17",
60
60
  "ag-grid-community": "^35.2.1",
61
- "axios": "^1.15.2",
61
+ "axios": "^1.16.0",
62
62
  "chai": "^6.2.2",
63
63
  "clipboardy": "^5.3.1",
64
64
  "cloudinary": "^2.10.0",
@@ -70,7 +70,7 @@
70
70
  "d3": "^7.9.0",
71
71
  "dexie": "^4.2.1",
72
72
  "dotenv": "^17.4.2",
73
- "easymde": "^2.18.0",
73
+ "easymde": "^2.21.0",
74
74
  "esbuild": "^0.28.0",
75
75
  "escape-string-regexp": "^5.0.0",
76
76
  "express": "^5.2.1",
@@ -79,21 +79,21 @@
79
79
  "express-slow-down": "^3.1.0",
80
80
  "fast-json-stable-stringify": "^2.1.0",
81
81
  "favicons": "^7.2.0",
82
- "fs-extra": "^11.3.4",
82
+ "fs-extra": "^11.3.5",
83
83
  "fullcalendar": "^6.1.15",
84
84
  "helmet": "^8.1.0",
85
85
  "html-minifier-terser": "^7.2.0",
86
- "http-proxy-middleware": "^3.0.5",
87
- "ignore-walk": "^8.0.0",
86
+ "http-proxy-middleware": "^4.0.0",
87
+ "ignore-walk": "^9.0.0",
88
88
  "iovalkey": "^0.3.3",
89
89
  "json-colorizer": "^3.0.1",
90
90
  "jsonwebtoken": "^9.0.3",
91
91
  "mariadb": "^3.2.2",
92
- "marked": "^18.0.2",
92
+ "marked": "^18.0.3",
93
93
  "mocha": "^11.3.0",
94
- "mongoose": "^9.5.0",
94
+ "mongoose": "^9.6.2",
95
95
  "morgan": "^1.10.0",
96
- "nodemailer": "^8.0.6",
96
+ "nodemailer": "^8.0.7",
97
97
  "nodemon": "^3.0.1",
98
98
  "peer": "^1.0.2",
99
99
  "peerjs": "^1.5.5",
@@ -108,17 +108,17 @@
108
108
  "swagger-autogen": "^2.23.7",
109
109
  "swagger-ui-express": "^5.0.0",
110
110
  "typedoc": "^0.28.19",
111
- "typescript": "^5.8.0",
111
+ "typescript": "^6.0.3",
112
112
  "validator": "^13.15.35",
113
113
  "vanilla-jsoneditor": "^3.12.0",
114
114
  "winston": "^3.19.0",
115
- "workbox-background-sync": "^7.4.0",
116
- "workbox-cacheable-response": "^7.4.0",
117
- "workbox-core": "^7.4.0",
118
- "workbox-expiration": "^7.4.0",
119
- "workbox-precaching": "^7.4.0",
120
- "workbox-routing": "^7.4.0",
121
- "workbox-strategies": "^7.4.0"
115
+ "workbox-background-sync": "^7.4.1",
116
+ "workbox-cacheable-response": "^7.4.1",
117
+ "workbox-core": "^7.4.1",
118
+ "workbox-expiration": "^7.4.1",
119
+ "workbox-precaching": "^7.4.1",
120
+ "workbox-routing": "^7.4.1",
121
+ "workbox-strategies": "^7.4.1"
122
122
  },
123
123
  "publishConfig": {
124
124
  "provenance": true,
@@ -32,8 +32,8 @@ curl -o- https://cdn.jsdelivr.net/gh/nvm-sh/nvm@v0.40.1/install.sh | bash
32
32
  export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
33
33
  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
34
34
 
35
- nvm install 24.10.0
36
- nvm use 24.10.0
35
+ nvm install 24.15.0
36
+ nvm use 24.15.0
37
37
 
38
38
  echo "
39
39
  ██╗░░░██╗███╗░░██╗██████╗░███████╗██████╗░██████╗░░█████╗░░██████╗████████╗
@@ -1,26 +1,111 @@
1
1
  #!/bin/bash
2
2
  set -euo pipefail
3
3
 
4
- # Disable firewalld
5
- sudo systemctl disable --now iptables
6
- sudo systemctl disable --now ufw
7
- sudo systemctl disable --now firewalld
4
+ echo "[INFO] Enabling firewalld..."
5
+ sudo systemctl enable --now firewalld
8
6
 
7
+ echo "[INFO] Configuring kernel networking..."
9
8
 
10
- # Remove any existing entries, then append exactly one
11
- sudo sed -i '/^net.ipv4.ip_forward/d' /etc/sysctl.conf
12
- sudo sed -i '/^net.ipv6.conf.all.forwarding/d' /etc/sysctl.conf
13
- echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
14
- echo "net.ipv6.conf.all.forwarding = 1" | sudo tee -a /etc/sysctl.conf
15
- # ---
9
+ sudo tee /etc/sysctl.d/99-kubernetes.conf >/dev/null <<'EOF'
10
+ # Kubernetes networking
11
+ net.ipv4.ip_forward = 1
12
+ net.ipv6.conf.all.forwarding = 1
16
13
 
17
- sudo sysctl -p
14
+ # Required for Kubernetes iptables
15
+ net.bridge.bridge-nf-call-iptables = 1
16
+ net.bridge.bridge-nf-call-ip6tables = 1
18
17
 
19
- # Accept all traffic
20
- sudo iptables -P INPUT ACCEPT
21
- sudo iptables -P FORWARD ACCEPT
22
- sudo iptables -P OUTPUT ACCEPT
18
+ # Better conntrack handling
19
+ net.netfilter.nf_conntrack_max = 131072
20
+ EOF
23
21
 
24
- # List iptables rules and forwarding flag
25
- sudo iptables -L -n
26
- sysctl net.ipv4.ip_forward net.ipv6.conf.all.forwarding
22
+ # Load br_netfilter immediately
23
+ sudo modprobe br_netfilter
24
+
25
+ # Apply sysctl
26
+ sudo sysctl --system
27
+
28
+ echo "[INFO] Opening common WAN/public services..."
29
+
30
+ # Public services
31
+ sudo firewall-cmd --permanent --zone=public --add-service=ssh
32
+ sudo firewall-cmd --permanent --zone=public --add-service=http
33
+ sudo firewall-cmd --permanent --zone=public --add-service=https
34
+
35
+ echo "[INFO] Opening Kubernetes control plane ports..."
36
+
37
+ # Kubernetes API Server
38
+ sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp
39
+
40
+ # etcd
41
+ sudo firewall-cmd --permanent --zone=public --add-port=2379-2380/tcp
42
+
43
+ # kubelet API
44
+ sudo firewall-cmd --permanent --zone=public --add-port=10250/tcp
45
+
46
+ # kube-scheduler
47
+ sudo firewall-cmd --permanent --zone=public --add-port=10259/tcp
48
+
49
+ # kube-controller-manager
50
+ sudo firewall-cmd --permanent --zone=public --add-port=10257/tcp
51
+
52
+ echo "[INFO] Opening Kubernetes networking ports..."
53
+
54
+ # CoreDNS
55
+ sudo firewall-cmd --permanent --zone=public --add-port=53/tcp
56
+ sudo firewall-cmd --permanent --zone=public --add-port=53/udp
57
+
58
+ # NodePort Services
59
+ sudo firewall-cmd --permanent --zone=public --add-port=30000-32767/tcp
60
+ sudo firewall-cmd --permanent --zone=public --add-port=30000-32767/udp
61
+
62
+ # Calico VXLAN
63
+ sudo firewall-cmd --permanent --zone=public --add-port=4789/udp
64
+
65
+ # Calico BGP
66
+ sudo firewall-cmd --permanent --zone=public --add-port=179/tcp
67
+
68
+ # Calico Typha (required for multi-node Calico deployments)
69
+ sudo firewall-cmd --permanent --zone=public --add-port=5473/tcp
70
+
71
+ # Calico WireGuard (optional encrypted overlay)
72
+ sudo firewall-cmd --permanent --zone=public --add-port=51820/udp
73
+ sudo firewall-cmd --permanent --zone=public --add-port=51821/udp
74
+
75
+ # Flannel VXLAN (UDP, required if using Flannel CNI)
76
+ sudo firewall-cmd --permanent --zone=public --add-port=8472/udp
77
+
78
+ # kube-proxy healthz
79
+ sudo firewall-cmd --permanent --zone=public --add-port=10256/tcp
80
+
81
+ # metrics-server
82
+ sudo firewall-cmd --permanent --zone=public --add-port=4443/tcp
83
+
84
+ echo "[INFO] Configuring trusted zone for inter-node pod/service CIDRs..."
85
+ # Allow all traffic from the default pod CIDR and service CIDR so that
86
+ # cross-node pod-to-pod and service routing works without explicit per-port rules.
87
+ sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.0.0/16
88
+ sudo firewall-cmd --permanent --zone=trusted --add-source=10.96.0.0/12
89
+
90
+ echo "[INFO] Enabling masquerade and forwarding..."
91
+
92
+ sudo firewall-cmd --permanent --zone=public --add-masquerade
93
+
94
+ echo "[INFO] Reloading firewall..."
95
+
96
+ sudo firewall-cmd --reload
97
+
98
+ echo
99
+ echo "[INFO] Sysctl status:"
100
+ sudo sysctl \
101
+ net.ipv4.ip_forward \
102
+ net.ipv6.conf.all.forwarding \
103
+ net.bridge.bridge-nf-call-iptables \
104
+ net.bridge.bridge-nf-call-ip6tables
105
+
106
+ echo
107
+ echo "[INFO] Firewall status:"
108
+ sudo firewall-cmd --zone=public --list-all
109
+
110
+ echo
111
+ echo "[INFO] Kubernetes firewall configuration completed."