underpost 2.8.87 → 2.8.88

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 (99) hide show
  1. package/.env.development +35 -3
  2. package/.env.production +39 -4
  3. package/.env.test +35 -3
  4. package/.github/workflows/ghpkg.ci.yml +1 -1
  5. package/.github/workflows/npmpkg.ci.yml +1 -1
  6. package/.github/workflows/pwa-microservices-template-page.cd.yml +6 -5
  7. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  8. package/.github/workflows/release.cd.yml +3 -3
  9. package/README.md +56 -2
  10. package/bin/build.js +4 -0
  11. package/bin/deploy.js +62 -8
  12. package/bin/file.js +3 -2
  13. package/cli.md +8 -2
  14. package/conf.js +30 -4
  15. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  16. package/manifests/deployment/dd-test-development/deployment.yaml +174 -0
  17. package/manifests/deployment/dd-test-development/proxy.yaml +51 -0
  18. package/package.json +6 -5
  19. package/src/api/core/core.router.js +2 -1
  20. package/src/api/default/default.controller.js +6 -1
  21. package/src/api/default/default.router.js +6 -2
  22. package/src/api/default/default.service.js +10 -1
  23. package/src/api/document/document.controller.js +66 -0
  24. package/src/api/document/document.model.js +51 -0
  25. package/src/api/document/document.router.js +24 -0
  26. package/src/api/document/document.service.js +125 -0
  27. package/src/api/file/file.controller.js +15 -1
  28. package/src/api/file/file.router.js +2 -1
  29. package/src/api/test/test.router.js +1 -1
  30. package/src/api/user/postman_collection.json +216 -0
  31. package/src/api/user/user.controller.js +25 -60
  32. package/src/api/user/user.model.js +29 -7
  33. package/src/api/user/user.router.js +9 -3
  34. package/src/api/user/user.service.js +84 -32
  35. package/src/cli/baremetal.js +33 -3
  36. package/src/cli/cloud-init.js +11 -0
  37. package/src/cli/cron.js +0 -1
  38. package/src/cli/deploy.js +46 -23
  39. package/src/cli/index.js +5 -0
  40. package/src/cli/lxd.js +7 -0
  41. package/src/cli/repository.js +42 -6
  42. package/src/cli/run.js +45 -13
  43. package/src/cli/ssh.js +20 -6
  44. package/src/client/Default.index.js +42 -1
  45. package/src/client/components/core/Account.js +10 -2
  46. package/src/client/components/core/AgGrid.js +30 -8
  47. package/src/client/components/core/Auth.js +99 -56
  48. package/src/client/components/core/BtnIcon.js +3 -2
  49. package/src/client/components/core/CalendarCore.js +2 -3
  50. package/src/client/components/core/CommonJs.js +1 -2
  51. package/src/client/components/core/Content.js +15 -12
  52. package/src/client/components/core/Css.js +2 -1
  53. package/src/client/components/core/CssCore.js +6 -1
  54. package/src/client/components/core/Docs.js +5 -5
  55. package/src/client/components/core/FileExplorer.js +3 -3
  56. package/src/client/components/core/Input.js +22 -17
  57. package/src/client/components/core/JoyStick.js +2 -2
  58. package/src/client/components/core/LoadingAnimation.js +2 -2
  59. package/src/client/components/core/LogIn.js +16 -23
  60. package/src/client/components/core/LogOut.js +5 -1
  61. package/src/client/components/core/Logger.js +4 -1
  62. package/src/client/components/core/Modal.js +82 -53
  63. package/src/client/components/core/ObjectLayerEngineModal.js +2 -1
  64. package/src/client/components/core/Pagination.js +207 -0
  65. package/src/client/components/core/Panel.js +10 -10
  66. package/src/client/components/core/PanelForm.js +130 -33
  67. package/src/client/components/core/Recover.js +2 -2
  68. package/src/client/components/core/Router.js +210 -34
  69. package/src/client/components/core/SignUp.js +1 -2
  70. package/src/client/components/core/Stream.js +1 -1
  71. package/src/client/components/core/VanillaJs.js +3 -84
  72. package/src/client/components/core/Worker.js +2 -2
  73. package/src/client/components/default/LogInDefault.js +0 -6
  74. package/src/client/components/default/LogOutDefault.js +0 -16
  75. package/src/client/components/default/MenuDefault.js +97 -44
  76. package/src/client/components/default/RoutesDefault.js +5 -2
  77. package/src/client/services/core/core.service.js +8 -20
  78. package/src/client/services/default/default.management.js +115 -18
  79. package/src/client/services/default/default.service.js +13 -4
  80. package/src/client/services/document/document.service.js +97 -0
  81. package/src/client/services/file/file.service.js +2 -0
  82. package/src/client/services/test/test.service.js +3 -0
  83. package/src/client/services/user/user.management.js +6 -0
  84. package/src/client/services/user/user.service.js +15 -4
  85. package/src/client/ssr/Render.js +1 -1
  86. package/src/client/ssr/head/DefaultScripts.js +3 -0
  87. package/src/client/ssr/head/Seo.js +1 -0
  88. package/src/index.js +24 -2
  89. package/src/runtime/lampp/Lampp.js +89 -2
  90. package/src/runtime/xampp/Xampp.js +48 -1
  91. package/src/server/auth.js +519 -155
  92. package/src/server/backup.js +2 -2
  93. package/src/server/conf.js +66 -8
  94. package/src/server/process.js +2 -1
  95. package/src/server/runtime.js +135 -286
  96. package/src/server/ssl.js +1 -2
  97. package/src/server/ssr.js +85 -0
  98. package/src/server/start.js +2 -2
  99. package/src/server/valkey.js +2 -1
package/.env.development CHANGED
@@ -1,12 +1,44 @@
1
1
  DEPLOY_ID=dd-default
2
- DEFAULT_DEPLOY_ID=dd-default
3
2
  NODE_ENV=development
4
3
  PORT=4000
5
4
  JWT_SECRET=test
6
- EXPIRE=168
5
+ REFRESH_EXPIRE_MINUTES=5
6
+ ACCESS_EXPIRE_MINUTES=1440
7
7
  NODE_OPTIONS=--max-old-space-size=8192
8
- BASE_API=api
8
+ TIME_ZONE=changethis
9
+ GITHUB_TOKEN=changethis
10
+ GITHUB_USERNAME=changethis
11
+ GITHUB_BACKUP_REPO=changethis
12
+ GITHUB_DNS_REPO=changethis
13
+ DEFAULT_DEPLOY_ID=dd-default
9
14
  DEFAULT_DEPLOY_HOST=default.net
10
15
  DEFAULT_DEPLOY_PATH=/
16
+ MARIADB_HOST=changethis
17
+ MARIADB_USER=changethis
18
+ MARIADB_PASSWORD=changethis
19
+ DD_LAMPP_TEST_DB_0=changethis
20
+ WIFI=changethis
21
+ ROUTER=changethis
22
+ CLOUDINARY_CLOUD_NAME=changethis
23
+ CLOUDINARY_API_KEY=changethis
24
+ CLOUDINARY_API_SECRET=changethis
25
+ DB_PG_MAAS_NAME=changethis
26
+ DB_PG_MAAS_PASS=changethis
27
+ DB_PG_MAAS_USER=changethis
28
+ DB_PG_MAAS_HOST=127.0.0.1
29
+ DB_PG_MAAS_PORT=5432
30
+ MAAS_ADMIN_USERNAME=changethis
31
+ MAAS_API_KEY=changethis
32
+ MAAS_ADMIN_EMAIL=admin@default.net
33
+ MAAS_ADMIN_PASS=changethis
34
+ TFTP_ROOT=changethis
35
+ NETMASK=255.255.255.0
36
+ RPI4_INTERFACE_NAME=changethis
37
+ RPI4_IP=192.168.1.192
38
+ MAAS_DNS=8.8.8.8
39
+ MAAS_NTP_SERVER=changethis
40
+ NFS_EXPORT_PATH=changethis
41
+ RPI4_MAC_ADDRESS=changethis
42
+ NVIDIA_API_KEY=changethis
11
43
  DEFAULT_ADMIN_EMAIL=admin@default.net
12
44
  DEFAULT_ADMIN_PASSWORD=changethis
package/.env.production CHANGED
@@ -1,12 +1,47 @@
1
1
  DEPLOY_ID=dd-default
2
- DEFAULT_DEPLOY_ID=dd-default
3
2
  NODE_ENV=production
4
3
  PORT=3000
5
4
  JWT_SECRET=test
6
- EXPIRE=168
5
+ REFRESH_EXPIRE_MINUTES=5
6
+ ACCESS_EXPIRE_MINUTES=1440
7
7
  NODE_OPTIONS=--max-old-space-size=8192
8
- BASE_API=api
8
+ TIME_ZONE=changethis
9
+ GITHUB_TOKEN=changethis
10
+ GITHUB_USERNAME=changethis
11
+ GITHUB_BACKUP_REPO=changethis
12
+ GITHUB_DNS_REPO=changethis
13
+ DEFAULT_DEPLOY_ID=dd-default
9
14
  DEFAULT_DEPLOY_HOST=default.net
10
15
  DEFAULT_DEPLOY_PATH=/
16
+ MARIADB_HOST=changethis
17
+ MARIADB_USER=changethis
18
+ MARIADB_PASSWORD=changethis
19
+ DD_LAMPP_TEST_DB_0=changethis
20
+ WIFI=changethis
21
+ ROUTER=changethis
22
+ CLOUDINARY_CLOUD_NAME=changethis
23
+ CLOUDINARY_API_KEY=changethis
24
+ CLOUDINARY_API_SECRET=changethis
25
+ DB_PG_MAAS_NAME=changethis
26
+ DB_PG_MAAS_PASS=changethis
27
+ DB_PG_MAAS_USER=changethis
28
+ DB_PG_MAAS_HOST=127.0.0.1
29
+ DB_PG_MAAS_PORT=5432
30
+ MAAS_ADMIN_USERNAME=changethis
31
+ MAAS_API_KEY=changethis
32
+ MAAS_ADMIN_EMAIL=admin@default.net
33
+ MAAS_ADMIN_PASS=changethis
34
+ TFTP_ROOT=changethis
35
+ NETMASK=255.255.255.0
36
+ RPI4_INTERFACE_NAME=changethis
37
+ RPI4_IP=192.168.1.192
38
+ MAAS_DNS=8.8.8.8
39
+ MAAS_NTP_SERVER=changethis
40
+ NFS_EXPORT_PATH=changethis
41
+ RPI4_MAC_ADDRESS=changethis
42
+ NVIDIA_API_KEY=changethis
11
43
  DEFAULT_ADMIN_EMAIL=admin@default.net
12
- DEFAULT_ADMIN_PASSWORD=changethis
44
+ DEFAULT_ADMIN_PASSWORD=changethis
45
+ DEFAULT_SSH_USER=changethis
46
+ DEFAULT_SSH_HOST=changethis
47
+ DEFAULT_SSH_KEY_PATH=changethis
package/.env.test CHANGED
@@ -1,12 +1,44 @@
1
1
  DEPLOY_ID=dd-default
2
- DEFAULT_DEPLOY_ID=dd-default
3
2
  NODE_ENV=test
4
3
  PORT=5000
5
4
  JWT_SECRET=test
6
- EXPIRE=168
5
+ REFRESH_EXPIRE_MINUTES=5
6
+ ACCESS_EXPIRE_MINUTES=1440
7
7
  NODE_OPTIONS=--max-old-space-size=8192
8
- BASE_API=api
8
+ TIME_ZONE=changethis
9
+ GITHUB_TOKEN=changethis
10
+ GITHUB_USERNAME=changethis
11
+ GITHUB_BACKUP_REPO=changethis
12
+ GITHUB_DNS_REPO=changethis
13
+ DEFAULT_DEPLOY_ID=dd-default
9
14
  DEFAULT_DEPLOY_HOST=default.net
10
15
  DEFAULT_DEPLOY_PATH=/
16
+ MARIADB_HOST=changethis
17
+ MARIADB_USER=changethis
18
+ MARIADB_PASSWORD=changethis
19
+ DD_LAMPP_TEST_DB_0=changethis
20
+ WIFI=changethis
21
+ ROUTER=changethis
22
+ CLOUDINARY_CLOUD_NAME=changethis
23
+ CLOUDINARY_API_KEY=changethis
24
+ CLOUDINARY_API_SECRET=changethis
25
+ DB_PG_MAAS_NAME=changethis
26
+ DB_PG_MAAS_PASS=changethis
27
+ DB_PG_MAAS_USER=changethis
28
+ DB_PG_MAAS_HOST=127.0.0.1
29
+ DB_PG_MAAS_PORT=5432
30
+ MAAS_ADMIN_USERNAME=changethis
31
+ MAAS_API_KEY=changethis
32
+ MAAS_ADMIN_EMAIL=admin@default.net
33
+ MAAS_ADMIN_PASS=changethis
34
+ TFTP_ROOT=changethis
35
+ NETMASK=255.255.255.0
36
+ RPI4_INTERFACE_NAME=changethis
37
+ RPI4_IP=192.168.1.192
38
+ MAAS_DNS=8.8.8.8
39
+ MAAS_NTP_SERVER=changethis
40
+ NFS_EXPORT_PATH=changethis
41
+ RPI4_MAC_ADDRESS=changethis
42
+ NVIDIA_API_KEY=changethis
11
43
  DEFAULT_ADMIN_EMAIL=admin@default.net
12
44
  DEFAULT_ADMIN_PASSWORD=changethis
@@ -14,7 +14,7 @@ jobs:
14
14
  name: Update github repo package Jobs
15
15
  runs-on: ubuntu-latest
16
16
  container:
17
- image: rockylinux/rockylinux:9
17
+ image: quay.io/rockylinux/rockylinux:9
18
18
  permissions:
19
19
  contents: write
20
20
  packages: write
@@ -14,7 +14,7 @@ jobs:
14
14
  name: Update npm repo package Jobs
15
15
  runs-on: ubuntu-latest
16
16
  container:
17
- image: rockylinux/rockylinux:9
17
+ image: quay.io/rockylinux/rockylinux:9
18
18
  permissions:
19
19
  contents: write
20
20
  packages: write
@@ -4,7 +4,7 @@ name: CD | Gihub page | PWA Microservices Template
4
4
  on:
5
5
  # Runs on pushes targeting the default branch
6
6
  push:
7
- branches: ['main']
7
+ branches: ["main"]
8
8
 
9
9
  # Allows you to run this workflow manually from the Actions tab
10
10
  workflow_dispatch:
@@ -18,7 +18,7 @@ permissions:
18
18
  # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19
19
  # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20
20
  concurrency:
21
- group: 'pages'
21
+ group: "pages"
22
22
  cancel-in-progress: false
23
23
 
24
24
  jobs:
@@ -30,7 +30,7 @@ jobs:
30
30
  url: ${{ steps.deployment.outputs.page_url }}
31
31
  runs-on: ubuntu-latest
32
32
  container:
33
- image: rockylinux/rockylinux:9
33
+ image: quay.io/rockylinux/rockylinux:9
34
34
  steps:
35
35
  - name: Checkout
36
36
  uses: actions/checkout@v4
@@ -53,7 +53,8 @@ jobs:
53
53
  run: |
54
54
  npm install -g underpost
55
55
  npm install
56
- node bin/deploy update-default-conf ghpkg
56
+ node bin/deploy update-default-conf dd-github-pages
57
+ underpost env dd-github-pages production
57
58
  env-cmd -f .env.production node bin/deploy build-full-client dd-github-pages underpostnet.github.io /pwa-microservices-template-ghpkg
58
59
  # git lfs install
59
60
  # git lfs track
@@ -65,7 +66,7 @@ jobs:
65
66
  uses: actions/upload-pages-artifact@v3
66
67
  with:
67
68
  # Upload entire repository
68
- path: './public/underpostnet.github.io/pwa-microservices-template-ghpkg/'
69
+ path: "./public/underpostnet.github.io/pwa-microservices-template-ghpkg/"
69
70
  - name: Deploy to GitHub Pages
70
71
  id: deployment
71
72
  uses: actions/deploy-pages@v4
@@ -7,7 +7,7 @@ jobs:
7
7
  name: Template Test
8
8
  runs-on: ubuntu-latest
9
9
  container:
10
- image: rockylinux/rockylinux:9
10
+ image: quay.io/rockylinux/rockylinux:9
11
11
  options: --entrypoint /bin/bash
12
12
  steps:
13
13
  - name: Clone repository
@@ -2,7 +2,7 @@ name: CD | Release deployment | remote ssh
2
2
 
3
3
  on:
4
4
  workflow_run:
5
- workflows: ['CI | Publish npm package']
5
+ workflows: ["CI | Publish npm package"]
6
6
  types:
7
7
  - completed
8
8
 
@@ -30,8 +30,8 @@ jobs:
30
30
  echo "Starting remote release deploy"
31
31
  cd /home/dd/engine
32
32
  npm install -g underpost
33
- underpost config set GITHUB_TOKEN ${{ secrets.GITHUB_TOKEN }}
33
+ underpost run secret
34
34
  node bin run --dev pull
35
35
  underpost run secret
36
36
  underpost run underpost-config
37
- underpost run release-deploy
37
+ underpost run ssh-deploy engine-test
package/README.md CHANGED
@@ -35,11 +35,38 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
38
65
 
39
66
  <!-- badges -->
40
67
 
41
68
 
42
- [![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.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.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/2.8.87)](https://socket.dev/npm/package/underpost/overview/2.8.87) [![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)
69
+ [![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.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.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/2.8.88)](https://socket.dev/npm/package/underpost/overview/2.8.88) [![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)
43
70
 
44
71
 
45
72
  <!-- end-badges -->
@@ -63,6 +90,33 @@
63
90
 
64
91
 
65
92
 
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
66
120
 
67
121
  </div>
68
122
 
@@ -108,7 +162,7 @@ Run dev client server
108
162
  npm run dev
109
163
  ```
110
164
  <!-- -->
111
- ## underpost ci/cd cli v2.8.87
165
+ ## underpost ci/cd cli v2.8.88
112
166
 
113
167
  ### Usage: `underpost [options] [command]`
114
168
  ```
package/bin/build.js CHANGED
@@ -191,6 +191,10 @@ const { DefaultConf } = await import(`../conf.${confName}.js`);
191
191
  fs.copyFileSync(`./.github/workflows/${repoName}.ci.yml`, `${basePath}/.github/workflows/${repoName}.ci.yml`);
192
192
  fs.copyFileSync(`./.github/workflows/${repoName}.cd.yml`, `${basePath}/.github/workflows/${repoName}.cd.yml`);
193
193
 
194
+ fs.copyFileSync(`./conf.${confName}.js`, `${basePath}/conf.js`);
195
+ fs.copyFileSync(`./manifests/deployment/${confName}-development/proxy.yaml`, `${basePath}/proxy.yaml`);
196
+ fs.copyFileSync(`./manifests/deployment/${confName}-development/deployment.yaml`, `${basePath}/deployment.yaml`);
197
+
194
198
  if (fs.existsSync(`./src/ws/${confName.split('-')[1]}`)) {
195
199
  fs.copySync(`./src/ws/${confName.split('-')[1]}`, `${basePath}/src/ws/${confName.split('-')[1]}`);
196
200
  }
package/bin/deploy.js CHANGED
@@ -368,10 +368,14 @@ try {
368
368
  }
369
369
 
370
370
  case 'version-build': {
371
+ shellCd(`/home/dd/engine`);
372
+ shellExec(`node bin/deploy clean-core-repo`);
373
+ shellExec(`node bin pull . ${process.env.GITHUB_USERNAME}/engine`);
371
374
  shellExec(`node bin run kill 4001`);
372
375
  shellExec(`node bin run kill 4002`);
373
376
  shellExec(`node bin run kill 4003`);
374
377
  shellExec(`npm run update-template`);
378
+ shellExec(`cd ../pwa-microservices-template && npm install`);
375
379
  shellExec(`cd ../pwa-microservices-template && npm run build && timeout 5s npm run dev`, {
376
380
  async: true,
377
381
  });
@@ -379,8 +383,12 @@ try {
379
383
  const templateRunnerResult = fs.readFileSync(`../pwa-microservices-template/logs/start.js/all.log`, 'utf8');
380
384
  logger.info('Test template runner result');
381
385
  console.log(templateRunnerResult);
382
- shellExec(`node bin/deploy clean-core-repo`);
386
+ if (!templateRunnerResult || templateRunnerResult.toLowerCase().match('error')) {
387
+ logger.error('Test template runner result failed');
388
+ break;
389
+ }
383
390
  shellCd(`/home/dd/engine`);
391
+ shellExec(`node bin/deploy clean-core-repo`);
384
392
  const originPackageJson = JSON.parse(fs.readFileSync(`package.json`, 'utf8'));
385
393
  const newVersion = process.argv[3] ?? originPackageJson.version;
386
394
  const node = process.argv[4] ?? 'kind-control-plane';
@@ -444,6 +452,9 @@ try {
444
452
  shellExec(
445
453
  `node bin deploy --kubeadm --build-manifest --sync --info-router --replicas 1 --node ${node} dd production`,
446
454
  );
455
+ shellExec(
456
+ `node bin deploy --kubeadm --build-manifest --sync --info-router --replicas 1 --node ${node} dd development `,
457
+ );
447
458
  for (const deployId of fs.readFileSync(`./engine-private/deploy/dd.router`, 'utf8').split(`,`)) {
448
459
  fs.copySync(
449
460
  `./engine-private/conf/${deployId}/build/development/deployment.yaml`,
@@ -458,6 +469,7 @@ try {
458
469
  shellExec(`node bin new --deploy-id dd-default`);
459
470
  console.log(fs.existsSync(`./engine-private/conf/dd-default`));
460
471
  shellExec(`sudo rm -rf ./engine-private/conf/dd-default`);
472
+ shellExec(`node bin/deploy build-env`);
461
473
  break;
462
474
  }
463
475
 
@@ -469,8 +481,8 @@ try {
469
481
  shellExec(`git add . && cd ./engine-private && git add .`);
470
482
  shellExec(`node bin cmt . ci package-pwa-microservices-template`);
471
483
  shellExec(`node bin cmt ./engine-private ci package-pwa-microservices-template`);
472
- shellExec(`node bin push . underpostnet/engine`);
473
- shellExec(`cd ./engine-private && node ../bin push . underpostnet/engine-private`);
484
+ shellExec(`node bin push . ${process.env.GITHUB_USERNAME}/engine`);
485
+ shellExec(`cd ./engine-private && node ../bin push . ${process.env.GITHUB_USERNAME}/engine-private`);
474
486
  break;
475
487
  }
476
488
 
@@ -524,19 +536,49 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
524
536
 
525
537
  break;
526
538
  }
539
+ case 'build-env': {
540
+ for (let envPath of ['.env.development', '.env.production', '.env.test']) {
541
+ const privateEnvPath = `./engine-private/conf/dd-cron/${envPath}`;
542
+ const privateEnv = dotenv.parse(fs.readFileSync(privateEnvPath, 'utf8'));
543
+ let env = {};
544
+ for (const key of Object.keys(privateEnv)) {
545
+ const originEnv = dotenv.parse(fs.readFileSync(`./${envPath}`, 'utf8'));
546
+ if (key in originEnv) {
547
+ env[key] = originEnv[key];
548
+ continue;
549
+ }
550
+ env[key] =
551
+ `${key}`.toUpperCase().match('API') ||
552
+ `${key}`.toUpperCase().match('KEY') ||
553
+ `${key}`.toUpperCase().match('SECRET') ||
554
+ `${key}`.toUpperCase().match('TOKEN') ||
555
+ `${key}`.toUpperCase().match('PASSWORD') ||
556
+ `${key}`.toUpperCase().match('MAC')
557
+ ? 'changethis'
558
+ : isNaN(parseFloat(privateEnv[key]))
559
+ ? `${privateEnv[key]}`.match(`@`)
560
+ ? 'admin@default.net'
561
+ : 'changethis'
562
+ : privateEnv[key];
563
+ }
564
+ writeEnv(envPath, env);
565
+ }
566
+ break;
567
+ }
527
568
 
528
569
  case 'update-default-conf': {
529
570
  const defaultServer = DefaultConf.server['default.net']['/'];
530
571
  let confName = process.argv[3];
531
- if (confName === 'ghpkg') {
532
- confName = undefined;
533
- const host = 'underpostnet.github.io';
572
+ let defaultConf = false;
573
+ if (confName === 'dd-github-pages') {
574
+ const host = `${process.env.GITHUB_USERNAME ?? 'underpostnet'}.github.io`;
534
575
  const path = '/pwa-microservices-template-ghpkg';
535
576
  DefaultConf.server = {
536
577
  [host]: { [path]: defaultServer },
537
578
  };
538
579
  DefaultConf.server[host][path].apiBaseProxyPath = '/';
539
580
  DefaultConf.server[host][path].apiBaseHost = 'www.nexodev.org';
581
+ defaultConf = true;
540
582
  } else if (confName === 'template') {
541
583
  const host = 'default.net';
542
584
  const path = '/';
@@ -546,7 +588,7 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
546
588
  };
547
589
  // mongodb-0.mongodb-service
548
590
  DefaultConf.server[host][path].db.host = 'mongodb://mongodb-service:27017';
549
- confName = '';
591
+ defaultConf = true;
550
592
  } else if (confName && fs.existsSync(`./engine-private/conf/${confName}`)) {
551
593
  DefaultConf.client = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.client.json`, 'utf8'));
552
594
  DefaultConf.server = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.server.json`, 'utf8'));
@@ -570,10 +612,22 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
570
612
  const sepRender = '/**/';
571
613
  const confRawPaths = fs.readFileSync('./conf.js', 'utf8').split(sepRender);
572
614
  confRawPaths[1] = `${JSON.stringify(DefaultConf)};`;
573
- const targetConfPath = `./conf${confName ? `.${confName}` : ''}.js`;
615
+ const targetConfPath = `./conf${defaultConf ? '' : `.${confName}`}.js`;
574
616
  fs.writeFileSync(targetConfPath, confRawPaths.join(sepRender), 'utf8');
575
617
  shellExec(`prettier --write ${targetConfPath}`);
576
618
 
619
+ switch (confName) {
620
+ case 'dd-github-pages':
621
+ {
622
+ if (fs.exists(`./engine-private/conf/${confName}`)) fs.removeSync(`./engine-private/conf/${confName}`);
623
+ shellExec(`node bin new --deploy-id ${confName}`);
624
+ }
625
+ break;
626
+
627
+ default:
628
+ break;
629
+ }
630
+
577
631
  break;
578
632
  }
579
633
 
package/bin/file.js CHANGED
@@ -56,10 +56,11 @@ try {
56
56
  console.log('copy paths', result);
57
57
 
58
58
  if (type === 'update-template') {
59
- if (!fs.existsSync(toPath)) shellExec(`cd .. && underpost clone underpostnet/pwa-microservices-template`);
59
+ if (!fs.existsSync(toPath))
60
+ shellExec(`cd .. && underpost clone ${process.env.GITHUB_USERNAME}/pwa-microservices-template`);
60
61
  else {
61
62
  shellExec(`cd ${toPath} && git reset && git checkout . && git clean -f -d`);
62
- shellExec(`underpost pull ${toPath} underpostnet/pwa-microservices-template`);
63
+ shellExec(`underpost pull ${toPath} ${process.env.GITHUB_USERNAME}/pwa-microservices-template`);
63
64
  shellExec(`sudo rm -rf ${toPath}/engine-private`);
64
65
  shellExec(`sudo rm -rf ${toPath}/logs`);
65
66
  }
package/cli.md CHANGED
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v2.8.87
1
+ ## underpost ci/cd cli v2.8.88
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -51,6 +51,7 @@ Arguments:
51
51
 
52
52
  Options:
53
53
  --deploy-id Crete deploy ID conf env files
54
+ --cluster Create deploy ID cluster files and sync to current cluster
54
55
  --dev Sets the development cli context
55
56
  -h, --help display help for command
56
57
 
@@ -291,6 +292,8 @@ Options:
291
292
  management commands.
292
293
  --cert Resets TLS/SSL certificate secrets for
293
294
  deployments.
295
+ --cert-hosts <hosts> Resets TLS/SSL certificate secrets for
296
+ specified hosts.
294
297
  --node <node> Sets optional node for deployment
295
298
  operations.
296
299
  --build-manifest Builds Kubernetes YAML manifests, including
@@ -298,6 +301,7 @@ Options:
298
301
  secrets.
299
302
  --replicas <replicas> Sets a custom number of replicas for
300
303
  deployments.
304
+ --image <image> Sets a custom image for deployments.
301
305
  --versions <deployment-versions> A comma-separated list of custom deployment
302
306
  versions.
303
307
  --traffic <traffic-versions> A comma-separated list of custom deployment
@@ -599,13 +603,15 @@ Options:
599
603
  Runs a script from the specified path.
600
604
 
601
605
  Arguments:
602
- runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, underpost-config, gpu-env, tf-gpu-test, dev-cluster, ssh-cluster-info, cyberia-ide, engine-ide, template-deploy, clean, pull, release-deploy, ssh-deploy, ide, dev-client, dev-api, router-sync, monitor, db-client, promote, metrics, cluster, deploy, tf-vae-test, deploy-job.
606
+ runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, underpost-config, gpu-env, tf-gpu-test, dev-cluster, ssh-cluster-info, cyberia-ide, engine-ide, template-deploy, clean, pull, release-deploy, ssh-deploy, ide, dev-client, dev-api, sync, ls-deployments, monitor, db-client, promote, metrics, cluster, deploy, tf-vae-test, deploy-job.
603
607
  path The absolute or relative directory path where the script is located.
604
608
 
605
609
  Options:
606
610
  --command <command-array> Array of commands to run.
607
611
  --args <args-array> Array of arguments to pass to the command.
608
612
  --dev Sets the development context environment for the script.
613
+ --build Set builder context runner
614
+ --replicas <replicas> Sets a custom number of replicas for deployment.
609
615
  --pod-name <pod-name> Optional: Specifies the pod name for test execution.
610
616
  --volume-host-path <volume-host-path> Optional: Specifies the volume host path for test execution.
611
617
  --volume-mount-path <volume-mount-path> Optional: Specifies the volume mount path for test execution.
package/conf.js CHANGED
@@ -63,6 +63,7 @@ const DefaultConf = /**/ {
63
63
  'Alert',
64
64
  '404',
65
65
  '500',
66
+ 'Pagination',
66
67
  ],
67
68
  default: [
68
69
  'MenuDefault',
@@ -91,6 +92,16 @@ const DefaultConf = /**/ {
91
92
  { path: '/default-management', client: 'Default', ssr: 'Default' },
92
93
  { client: 'Default', ssr: 'Default', path: '/404', title: '404 Not Found' },
93
94
  { client: 'Default', ssr: 'Default', path: '/500', title: '500 Server Error' },
95
+ {
96
+ path: '/blog',
97
+ client: 'Default',
98
+ ssr: 'Default',
99
+ },
100
+ {
101
+ path: '/chat',
102
+ client: 'Default',
103
+ ssr: 'Default',
104
+ },
94
105
  ],
95
106
  dists: [
96
107
  {
@@ -107,10 +118,25 @@ const DefaultConf = /**/ {
107
118
  import_name_build: '/dist/sortablejs/sortable.complete.esm.js',
108
119
  },
109
120
  { folder: './node_modules/validator', public_folder: '/dist/validator' },
110
- { folder: './node_modules/@loadingio/css-spinner/entries', public_folder: '/dist/loadingio' },
121
+ {
122
+ folder: './node_modules/easymde/dist',
123
+ public_folder: '/dist/easymde',
124
+ },
125
+ {
126
+ folder: './node_modules/marked/lib',
127
+ public_folder: '/dist/marked',
128
+ import_name: 'marked',
129
+ import_name_build: '/dist/marked/marked.esm.js',
130
+ },
131
+ {
132
+ folder: './node_modules/vanilla-jsoneditor/standalone.js',
133
+ public_folder: '/dist/vanilla-jsoneditor/standalone.js',
134
+ import_name: 'vanilla-jsoneditor',
135
+ import_name_build: '/dist/vanilla-jsoneditor/standalone.js',
136
+ },
111
137
  {
112
138
  import_name: 'ag-grid-community',
113
- import_name_build: '/dist/ag-grid-community/ag-grid-community.auto.complete.esm.min.js',
139
+ import_name_build: '/dist/ag-grid-community/ag-grid-community.min.js',
114
140
  folder: './node_modules/ag-grid-community/dist',
115
141
  public_folder: '/dist/ag-grid-community',
116
142
  styles: './node_modules/ag-grid-community/styles',
@@ -124,7 +150,7 @@ const DefaultConf = /**/ {
124
150
  },
125
151
  { folder: './node_modules/peerjs/dist', public_folder: '/dist/peerjs' },
126
152
  ],
127
- services: ['default', 'core', 'user', 'test', 'file'],
153
+ services: ['default', 'core', 'user', 'test', 'file', 'document'],
128
154
  },
129
155
  },
130
156
  ssr: {
@@ -144,7 +170,7 @@ const DefaultConf = /**/ {
144
170
  '/': {
145
171
  client: 'default',
146
172
  runtime: 'nodejs',
147
- apis: ['default', 'core', 'user', 'test', 'file'],
173
+ apis: ['default', 'core', 'user', 'test', 'file', 'document'],
148
174
  origins: [],
149
175
  minifyBuild: false,
150
176
  iconsBuild: false,
@@ -17,7 +17,7 @@ spec:
17
17
  spec:
18
18
  containers:
19
19
  - name: dd-default-development-blue
20
- image: localhost/rockylinux9-underpost:v2.8.87
20
+ image: localhost/rockylinux9-underpost:v2.8.88
21
21
  # resources:
22
22
  # requests:
23
23
  # memory: "124Ki"
@@ -100,7 +100,7 @@ spec:
100
100
  spec:
101
101
  containers:
102
102
  - name: dd-default-development-green
103
- image: localhost/rockylinux9-underpost:v2.8.87
103
+ image: localhost/rockylinux9-underpost:v2.8.88
104
104
  # resources:
105
105
  # requests:
106
106
  # memory: "124Ki"