@underpostnet/underpost 2.8.5 → 2.8.7

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 (109) hide show
  1. package/.github/workflows/ghpkg.yml +1 -1
  2. package/.github/workflows/npmpkg.yml +1 -1
  3. package/.github/workflows/pwa-microservices-template.page.yml +1 -1
  4. package/.vscode/extensions.json +3 -2
  5. package/.vscode/settings.json +6 -0
  6. package/CHANGELOG.md +44 -0
  7. package/Dockerfile +9 -10
  8. package/README.md +39 -2
  9. package/bin/build.js +31 -6
  10. package/bin/deploy.js +1404 -202
  11. package/bin/file.js +8 -0
  12. package/bin/hwt.js +0 -10
  13. package/bin/index.js +1 -187
  14. package/bin/util.js +0 -7
  15. package/bin/vs.js +1 -0
  16. package/cli.md +451 -0
  17. package/conf.js +0 -2
  18. package/docker-compose.yml +1 -1
  19. package/jsdoc.json +1 -1
  20. package/manifests/calico-custom-resources.yaml +25 -0
  21. package/manifests/deployment/adminer/deployment.yaml +32 -0
  22. package/manifests/deployment/adminer/kustomization.yaml +7 -0
  23. package/manifests/deployment/adminer/service.yaml +13 -0
  24. package/manifests/deployment/fastapi/backend-deployment.yml +120 -0
  25. package/manifests/deployment/fastapi/backend-service.yml +19 -0
  26. package/manifests/deployment/fastapi/frontend-deployment.yml +54 -0
  27. package/manifests/deployment/fastapi/frontend-service.yml +15 -0
  28. package/manifests/deployment/kafka/deployment.yaml +69 -0
  29. package/manifests/kind-config-dev.yaml +12 -0
  30. package/manifests/kubeadm-calico-config.yaml +119 -0
  31. package/manifests/mongodb/kustomization.yaml +2 -2
  32. package/manifests/mongodb-4.4/kustomization.yaml +7 -0
  33. package/manifests/mongodb-4.4/service-deployment.yaml +63 -0
  34. package/manifests/postgresql/configmap.yaml +9 -0
  35. package/manifests/postgresql/kustomization.yaml +10 -0
  36. package/manifests/postgresql/pv.yaml +15 -0
  37. package/manifests/postgresql/pvc.yaml +13 -0
  38. package/manifests/{core/underpost-engine-headless-service.yaml → postgresql/service.yaml} +3 -3
  39. package/manifests/postgresql/statefulset.yaml +37 -0
  40. package/manifests/valkey/statefulset.yaml +6 -4
  41. package/package.json +10 -14
  42. package/src/api/default/default.service.js +1 -1
  43. package/src/api/user/user.service.js +14 -11
  44. package/src/cli/cluster.js +298 -63
  45. package/src/cli/cron.js +39 -8
  46. package/src/cli/db.js +118 -44
  47. package/src/cli/deploy.js +312 -102
  48. package/src/cli/env.js +9 -3
  49. package/src/cli/fs.js +161 -0
  50. package/src/cli/image.js +45 -104
  51. package/src/cli/index.js +312 -0
  52. package/src/cli/monitor.js +236 -0
  53. package/src/cli/repository.js +26 -2
  54. package/src/cli/script.js +25 -1
  55. package/src/cli/test.js +39 -4
  56. package/src/client/components/core/Account.js +28 -24
  57. package/src/client/components/core/Blockchain.js +1 -1
  58. package/src/client/components/core/CalendarCore.js +14 -73
  59. package/src/client/components/core/CommonJs.js +54 -2
  60. package/src/client/components/core/Css.js +0 -1
  61. package/src/client/components/core/CssCore.js +10 -4
  62. package/src/client/components/core/Docs.js +1 -2
  63. package/src/client/components/core/EventsUI.js +3 -3
  64. package/src/client/components/core/FileExplorer.js +86 -78
  65. package/src/client/components/core/Input.js +4 -2
  66. package/src/client/components/core/JoyStick.js +2 -2
  67. package/src/client/components/core/LoadingAnimation.js +3 -12
  68. package/src/client/components/core/LogIn.js +3 -3
  69. package/src/client/components/core/LogOut.js +1 -1
  70. package/src/client/components/core/Modal.js +44 -14
  71. package/src/client/components/core/Panel.js +26 -66
  72. package/src/client/components/core/PanelForm.js +22 -15
  73. package/src/client/components/core/Recover.js +3 -3
  74. package/src/client/components/core/RichText.js +1 -11
  75. package/src/client/components/core/Router.js +3 -1
  76. package/src/client/components/core/SignUp.js +2 -2
  77. package/src/client/components/default/RoutesDefault.js +3 -2
  78. package/src/client/services/core/core.service.js +15 -10
  79. package/src/client/services/default/default.management.js +45 -38
  80. package/src/client/ssr/Render.js +6 -1
  81. package/src/client/ssr/body/CacheControl.js +2 -3
  82. package/src/client/sw/default.sw.js +3 -3
  83. package/src/db/mongo/MongooseDB.js +17 -1
  84. package/src/index.js +25 -1
  85. package/src/mailer/MailerProvider.js +3 -0
  86. package/src/runtime/lampp/Dockerfile +65 -0
  87. package/src/server/backup.js +3 -3
  88. package/src/server/client-build.js +45 -23
  89. package/src/server/client-formatted.js +2 -1
  90. package/src/server/conf.js +110 -16
  91. package/src/server/dns.js +74 -43
  92. package/src/server/downloader.js +0 -8
  93. package/src/server/json-schema.js +77 -0
  94. package/src/server/network.js +7 -122
  95. package/src/server/peer.js +2 -2
  96. package/src/server/proxy.js +4 -4
  97. package/src/server/runtime.js +40 -12
  98. package/src/server/start.js +122 -0
  99. package/src/server/valkey.js +25 -11
  100. package/test/api.test.js +0 -8
  101. package/manifests/core/kustomization.yaml +0 -11
  102. package/manifests/core/underpost-engine-backup-access.yaml +0 -16
  103. package/manifests/core/underpost-engine-backup-pv-pvc.yaml +0 -22
  104. package/manifests/core/underpost-engine-mongodb-backup-cronjob.yaml +0 -40
  105. package/manifests/core/underpost-engine-mongodb-configmap.yaml +0 -26
  106. package/manifests/core/underpost-engine-statefulset.yaml +0 -91
  107. package/manifests/valkey/underpost-engine-valkey-service.yaml +0 -17
  108. package/manifests/valkey/underpost-engine-valkey-statefulset.yaml +0 -39
  109. /package/manifests/{core/underpost-engine-pv-pvc.yaml → mongodb-4.4/pv-pvc.yaml} +0 -0
@@ -43,7 +43,7 @@ jobs:
43
43
  run: |
44
44
  npm install -g underpost
45
45
  underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
46
- underpost install
46
+ npm install
47
47
  node ./bin/deploy rename-package @underpostnet/underpost
48
48
  node ./bin/deploy set-repo underpostnet/pwa-microservices-template-ghpkg
49
49
 
@@ -28,7 +28,7 @@ jobs:
28
28
  run: |
29
29
  npm install -g underpost
30
30
  underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
31
- underpost install
31
+ npm install
32
32
 
33
33
  - name: Set git credentials
34
34
  run: |
@@ -43,7 +43,7 @@ jobs:
43
43
  - name: Build the site
44
44
  run: |
45
45
  npm install -g underpost
46
- underpost install
46
+ npm install
47
47
  node bin/deploy update-default-conf ghpkg
48
48
  env-cmd -f .env.production node bin/deploy build-full-client github-pages underpostnet.github.io /pwa-microservices-template-ghpkg
49
49
  # git lfs install
@@ -2,17 +2,18 @@
2
2
  "recommendations": [
3
3
  "antiantisepticeye.vscode-color-picker",
4
4
  "bashmish.es6-string-css",
5
+ "codeium.codeium",
5
6
  "eamodio.gitlens",
6
7
  "esbenp.prettier-vscode",
7
8
  "foxundermoon.shell-format",
8
9
  "github.vscode-github-actions",
9
- "mintlify.document",
10
+ "golang.go",
11
+ "google.geminicodeassist",
10
12
  "ms-python.black-formatter",
11
13
  "ms-python.debugpy",
12
14
  "ms-python.python",
13
15
  "ms-python.vscode-pylance",
14
16
  "streetsidesoftware.code-spell-checker",
15
- "tabnine.tabnine-vscode",
16
17
  "tobermory.es6-string-html"
17
18
  ]
18
19
  }
@@ -10,6 +10,7 @@
10
10
  "editor.defaultFormatter": "ms-python.python"
11
11
  },
12
12
  "cSpell.words": [
13
+ "adminer",
13
14
  "ANAME",
14
15
  "browserconfig",
15
16
  "Bymyelectrics",
@@ -25,6 +26,7 @@
25
26
  "cyberiaonline",
26
27
  "dbname",
27
28
  "dists",
29
+ "DNSSEC",
28
30
  "DOGMADUAL",
29
31
  "dondominio",
30
32
  "dont",
@@ -42,6 +44,7 @@
42
44
  "Itemledger",
43
45
  "jsonld",
44
46
  "lampp",
47
+ "letsencrypt",
45
48
  "loadingio",
46
49
  "Longname",
47
50
  "metanarrative",
@@ -118,5 +121,8 @@
118
121
  "docwriter.hotkey.mac": "⌘ + .",
119
122
  "[dotenv]": {
120
123
  "editor.defaultFormatter": "foxundermoon.shell-format"
124
+ },
125
+ "[shellscript]": {
126
+ "editor.defaultFormatter": "foxundermoon.shell-format"
121
127
  }
122
128
  }
package/CHANGELOG.md CHANGED
@@ -4,6 +4,50 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [v2.8.646](https://github.com/underpostnet/engine/compare/v2.8.532...v2.8.646)
8
+
9
+ > 28 March 2025
10
+
11
+ - refactor(engine-core): 📦 start deploy refactor [`4c4ebdb`](https://github.com/underpostnet/engine/commit/4c4ebdb8ebd57b77420451cc8a1022c3d63444b1)
12
+ - refactor(engine-core): 📦 monitor and image build logic [`fd8f7ee`](https://github.com/underpostnet/engine/commit/fd8f7eeed054d3c591961e03c3a15029a7dfb380)
13
+ - ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`25e4097`](https://github.com/underpostnet/engine/commit/25e4097a9bde35ee7d0b5e5c2fb9546e80f50aee)
14
+
15
+ #### [v2.8.532](https://github.com/underpostnet/engine/compare/v2.8.521...v2.8.532)
16
+
17
+ > 6 March 2025
18
+
19
+ - ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`09b2e9a`](https://github.com/underpostnet/engine/commit/09b2e9a5e16092415f553566643d70e5ae81951f)
20
+ - refactor(cli): 📦 it script methods [`8a16e17`](https://github.com/underpostnet/engine/commit/8a16e17db6d3b70198a6d435624572d8807feb46)
21
+ - feat(mongo): ✨ advance support mongo 4.4 [`2bb5bf9`](https://github.com/underpostnet/engine/commit/2bb5bf9f32162207f01a6a57effb514ae36e9ebc)
22
+
23
+ #### [v2.8.521](https://github.com/underpostnet/engine/compare/v2.8.56...v2.8.521)
24
+
25
+ > 4 March 2025
26
+
27
+ #### [v2.8.56](https://github.com/underpostnet/engine/compare/v2.8.51...v2.8.56)
28
+
29
+ > 11 March 2025
30
+
31
+ - ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`2d03419`](https://github.com/underpostnet/engine/commit/2d034191f73adad4091e25a2d01e3fb3df5e697a)
32
+ - revert(remove cyberia assets): 🗑 Reverts a previous commit [`b7dc5bd`](https://github.com/underpostnet/engine/commit/b7dc5bd5f02d601cac04ffd699c704667cb9c22b)
33
+ - feat(cyberia-cli): ✨ media generator adbvance [`61bbdb3`](https://github.com/underpostnet/engine/commit/61bbdb32b2a99cf54af9f69640e7aa15066f0f7d)
34
+
35
+ #### [v2.8.51](https://github.com/underpostnet/engine/compare/v2.8.46...v2.8.51)
36
+
37
+ > 4 March 2025
38
+
39
+ - ci: ⚙️ add dd-core-development yamls [`a236466`](https://github.com/underpostnet/engine/commit/a2364666f5ddc0e824fa8b68b203bb9e021cca0c)
40
+ - refactor(cli): 📦 cron jobs management refactor [`8c28689`](https://github.com/underpostnet/engine/commit/8c28689cd514ee0e30a38be22ca3dbd292aa3a8a)
41
+ - ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`dd3557b`](https://github.com/underpostnet/engine/commit/dd3557bc52724d9231a0a13a320108758b6a84d2)
42
+
43
+ #### [v2.8.46](https://github.com/underpostnet/engine/compare/v2.8.44...v2.8.46)
44
+
45
+ > 28 February 2025
46
+
47
+ - refactor(add cli module directory): 📦 A code change that neither fixes a bug nor adds a feature [`56eea01`](https://github.com/underpostnet/engine/commit/56eea0121489998945c1b2040c3fc53cf6ee295c)
48
+ - refactor(bin): 📦 static API method access [`dcac59e`](https://github.com/underpostnet/engine/commit/dcac59e0cc3fb3e7eeef490d7ded3adb921f4e7a)
49
+ - ci(package-pwa-microservices-template): ⚙️ update version 2.8.45 [`11795eb`](https://github.com/underpostnet/engine/commit/11795eb2b57243530bfd027774005a83edbdee3b)
50
+
7
51
  #### [v2.8.44](https://github.com/underpostnet/engine/compare/v2.8.42...v2.8.44)
8
52
 
9
53
  > 18 February 2025
package/Dockerfile CHANGED
@@ -1,11 +1,11 @@
1
1
  ARG BASE_DEBIAN=buster
2
2
 
3
+ # USER root
4
+
3
5
  FROM debian:${BASE_DEBIAN}
4
6
 
5
7
  ENV DEBIAN_FRONTEND=noninteractive
6
8
 
7
- WORKDIR /home/dd
8
-
9
9
  # Set root password to root, format is 'user:password'.
10
10
  RUN echo 'root:root' | chpasswd
11
11
 
@@ -25,9 +25,6 @@ RUN mkdir -p /var/run/sshd
25
25
  # Allow root login via password
26
26
  RUN sed -ri 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
27
27
 
28
- # copy supervisor config file to start openssh-server
29
- COPY supervisord-openssh-server.conf /etc/supervisor/conf.d/supervisord-openssh-server.conf
30
-
31
28
  # install open ssl git and others tools
32
29
  RUN apt-get install -yq --no-install-recommends libssl-dev curl wget git gnupg
33
30
 
@@ -37,12 +34,14 @@ RUN apt-get install -y nodejs build-essential
37
34
  RUN node --version
38
35
  RUN npm --version
39
36
 
40
- RUN npm install -g underpost
41
-
42
- VOLUME [ "/home/dd/engine/logs" ]
37
+ WORKDIR /home/dd
43
38
 
44
39
  EXPOSE 22
45
40
 
46
- EXPOSE 4000-4004
41
+ EXPOSE 80
42
+
43
+ EXPOSE 443
44
+
45
+ EXPOSE 3000-3100
47
46
 
48
- CMD [ "underpost", "new", "service" ]
47
+ EXPOSE 4000-4100
package/README.md CHANGED
@@ -38,7 +38,7 @@ Develop, build, deploy, test, monitor, and manage multiple runtime applications
38
38
  <!-- https://kapasia-dev-ed.my.site.com/Badges4Me/s/ -->
39
39
  <!-- https://simpleicons.org/ -->
40
40
 
41
- #### Create a new project
41
+ ## Create a new project
42
42
 
43
43
  ```bash
44
44
  npm install -g underpost
@@ -50,7 +50,7 @@ underpost new app-name
50
50
 
51
51
  After template installation, the server will be running on [http://localhost:4001](http://localhost:4001)
52
52
 
53
- #### Usage
53
+ ## Usage
54
54
 
55
55
  ```bash
56
56
  cd app-name
@@ -67,3 +67,40 @@ Run dev client server
67
67
  ```bash
68
68
  npm run dev
69
69
  ```
70
+ <!-- -->
71
+ ## underpost ci/cd cli v2.8.7
72
+
73
+ ### Usage: `underpost [options] [command]`
74
+ ```
75
+ Options:
76
+ -V, --version output the version number
77
+ -h, --help display help for command
78
+
79
+ Commands:
80
+ new <app-name> Create a new project
81
+ start [options] <deploy-id> [env] Start up server, build pipelines, or services
82
+ clone [options] <uri> Clone github repository
83
+ pull <path> <uri> Pull github repository
84
+ cmt [options] <path> <commit-type> [module-tag] [message] Commit github repository
85
+ push [options] <path> <uri> Push github repository
86
+ env <deploy-id> [env] Set environment variables files and conf related to <deploy-id>
87
+ config <operator> [key] [value] Manage configuration, operators
88
+ root Get npm root path
89
+ cluster [options] [pod-name] Manage cluster, for default initialization base kind cluster
90
+ deploy [options] <deploy-list> [env] Manage deployment, for default deploy development pods
91
+ secret [options] <platform> Manage secrets
92
+ dockerfile-image-build [options] Build image from Dockerfile
93
+ dockerfile-pull-base-images Pull underpost dockerfile images requirements
94
+ install Fast import underpost npm dependencies
95
+ db [options] <deploy-list> Manage databases
96
+ script [options] <operator> <script-name> [script-value] Supports a number of built-in underpost global scripts and their preset life cycle events as well as arbitrary scripts
97
+ cron [options] [deploy-list] [job-list] Cron jobs management
98
+ fs [options] [path] File storage management, for default upload file
99
+ test [options] [deploy-list] Manage Test, for default run current underpost default test
100
+ monitor [options] <deploy-id> [env] Monitor health server management
101
+ help [command] display help for command
102
+
103
+ ```
104
+
105
+ <a target="_top" href="https://github.com/underpostnet/pwa-microservices-template/blob/master/cli.md">See complete CLI Docs here.</a>
106
+
package/bin/build.js CHANGED
@@ -20,11 +20,15 @@ const logger = loggerFactory(import.meta);
20
20
  const confName = process.argv[2];
21
21
  const basePath = '../pwa-microservices-template';
22
22
  const repoName = `engine-${confName.split('dd-')[1]}`;
23
+ const deployList = (confName === 'dd' ? fs.readFileSync(`./engine-private/deploy/dd.router`, 'utf8') : confName).split(
24
+ ',',
25
+ );
23
26
 
24
27
  logger.info('', {
25
28
  confName,
26
29
  repoName,
27
30
  basePath,
31
+ deployList,
28
32
  });
29
33
 
30
34
  if (process.argv.includes('clean')) {
@@ -35,10 +39,7 @@ if (process.argv.includes('clean')) {
35
39
  }
36
40
 
37
41
  if (process.argv.includes('conf')) {
38
- for (const _confName of (confName === 'dd'
39
- ? fs.readFileSync(`./engine-private/deploy/dd.router`, 'utf8')
40
- : confName
41
- ).split(',')) {
42
+ for (const _confName of deployList) {
42
43
  const _repoName = `engine-${_confName.split('dd-')[1]}`;
43
44
  const privateRepoName = `${_repoName}-private`;
44
45
  const privateGitUri = `${process.env.GITHUB_USERNAME}/${privateRepoName}`;
@@ -46,7 +47,7 @@ if (process.argv.includes('conf')) {
46
47
  if (!fs.existsSync(`../${privateRepoName}`)) {
47
48
  shellExec(`cd .. && underpost clone ${privateGitUri}`, { silent: true });
48
49
  } else {
49
- shellExec(`cd ../${privateRepoName} && underpost pull . ${privateGitUri}`);
50
+ shellExec(`cd ../${privateRepoName} && git checkout . && git clean -f -d && underpost pull . ${privateGitUri}`);
50
51
  }
51
52
  const toPath = `../${privateRepoName}/conf/${_confName}`;
52
53
  fs.removeSync(toPath);
@@ -58,6 +59,12 @@ if (process.argv.includes('conf')) {
58
59
  if (replica.match(_confName))
59
60
  fs.copySync(`./engine-private/replica/${replica}`, `../${privateRepoName}/replica/${replica}`);
60
61
  }
62
+ if (fs.existsSync(`./engine-private/itc-scripts`)) {
63
+ const itcScripts = await fs.readdir(`./engine-private/itc-scripts`);
64
+ for (const itcScript of itcScripts)
65
+ if (itcScript.match(_confName))
66
+ fs.copySync(`./engine-private/itc-scripts/${itcScript}`, `../${privateRepoName}/itc-scripts/${itcScript}`);
67
+ }
61
68
  shellExec(
62
69
  `cd ../${privateRepoName}` +
63
70
  ` && git add .` +
@@ -68,6 +75,13 @@ if (process.argv.includes('conf')) {
68
75
  process.exit(0);
69
76
  }
70
77
 
78
+ if (confName === 'dd') {
79
+ for (const _confName of deployList) {
80
+ shellExec(`node bin/build ${_confName}`);
81
+ }
82
+ process.exit(0);
83
+ }
84
+
71
85
  const { DefaultConf } = await import(`../conf.${confName}.js`);
72
86
 
73
87
  {
@@ -133,12 +147,23 @@ const { DefaultConf } = await import(`../conf.${confName}.js`);
133
147
  }
134
148
  }
135
149
 
150
+ shellExec(`node bin/deploy update-default-conf ${confName}`);
151
+
136
152
  fs.copyFileSync(`./conf.${confName}.js`, `${basePath}/conf.js`);
137
153
  fs.copyFileSync(
138
154
  `./.github/workflows/engine.${confName.split('dd-')[1]}.ci.yml`,
139
155
  `${basePath}/.github/workflows/engine.${confName.split('dd-')[1]}.ci.yml`,
140
156
  );
141
157
 
158
+ switch (confName) {
159
+ case 'dd-cyberia':
160
+ fs.copyFileSync(`./bin/cyberia.js`, `${basePath}/bin/cyberia.js`);
161
+ break;
162
+
163
+ default:
164
+ break;
165
+ }
166
+
142
167
  const packageJson = JSON.parse(fs.readFileSync(`${basePath}/package.json`, 'utf8'));
143
168
  packageJson.name = repoName;
144
169
  fs.writeFileSync(
@@ -151,7 +176,7 @@ const { DefaultConf } = await import(`../conf.${confName}.js`);
151
176
  if (!fs.existsSync(`${basePath}/images`)) fs.mkdirSync(`${basePath}/images`);
152
177
 
153
178
  const env = process.argv.includes('development') ? 'development' : 'production';
154
- const deploymentsFiles = ['Dockerfile', 'proxy.yaml', 'deployment.yaml', 'secret.yaml'];
179
+ const deploymentsFiles = ['proxy.yaml', 'deployment.yaml', 'secret.yaml'];
155
180
  // remove engine-private of .dockerignore for local testing
156
181
  for (const file of deploymentsFiles) {
157
182
  if (fs.existsSync(`./manifests/deployment/${confName}-${env}/${file}`)) {