underpost 2.8.86 → 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.
- package/.env.development +39 -2
- package/.env.production +42 -2
- package/.env.test +39 -2
- package/.github/workflows/ghpkg.ci.yml +1 -1
- package/.github/workflows/npmpkg.ci.yml +1 -1
- package/.github/workflows/pwa-microservices-template-page.cd.yml +6 -5
- package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
- package/.github/workflows/release.cd.yml +3 -3
- package/README.md +76 -2
- package/bin/build.js +5 -0
- package/bin/deploy.js +93 -27
- package/bin/file.js +8 -4
- package/bin/util.js +1 -56
- package/cli.md +16 -5
- package/conf.js +33 -7
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +174 -0
- package/manifests/deployment/dd-test-development/proxy.yaml +51 -0
- package/manifests/deployment/mongo-express/deployment.yaml +12 -12
- package/manifests/maas/nvim.sh +91 -0
- package/package.json +8 -15
- package/src/api/core/core.router.js +2 -1
- package/src/api/default/default.controller.js +6 -1
- package/src/api/default/default.router.js +6 -2
- package/src/api/default/default.service.js +10 -1
- package/src/api/document/document.controller.js +66 -0
- package/src/api/document/document.model.js +51 -0
- package/src/api/document/document.router.js +24 -0
- package/src/api/document/document.service.js +125 -0
- package/src/api/file/file.controller.js +15 -1
- package/src/api/file/file.router.js +2 -1
- package/src/api/file/file.service.js +28 -8
- package/src/api/test/test.router.js +1 -1
- package/src/api/user/postman_collection.json +216 -0
- package/src/api/user/user.controller.js +25 -60
- package/src/api/user/user.model.js +29 -7
- package/src/api/user/user.router.js +40 -8
- package/src/api/user/user.service.js +86 -35
- package/src/cli/baremetal.js +33 -3
- package/src/cli/cloud-init.js +11 -0
- package/src/cli/cluster.js +4 -23
- package/src/cli/cron.js +0 -1
- package/src/cli/db.js +0 -19
- package/src/cli/deploy.js +67 -52
- package/src/cli/fs.js +1 -0
- package/src/cli/index.js +9 -1
- package/src/cli/lxd.js +7 -0
- package/src/cli/repository.js +44 -6
- package/src/cli/run.js +56 -9
- package/src/cli/ssh.js +20 -6
- package/src/client/Default.index.js +42 -1
- package/src/client/components/core/Account.js +10 -2
- package/src/client/components/core/AgGrid.js +30 -8
- package/src/client/components/core/Auth.js +99 -56
- package/src/client/components/core/BtnIcon.js +3 -2
- package/src/client/components/core/CalendarCore.js +2 -3
- package/src/client/components/core/CommonJs.js +1 -2
- package/src/client/components/core/Content.js +15 -12
- package/src/client/components/core/Css.js +2 -1
- package/src/client/components/core/CssCore.js +18 -1
- package/src/client/components/core/Docs.js +5 -5
- package/src/client/components/core/FileExplorer.js +3 -3
- package/src/client/components/core/FullScreen.js +19 -28
- package/src/client/components/core/Input.js +22 -16
- package/src/client/components/core/JoyStick.js +2 -2
- package/src/client/components/core/LoadingAnimation.js +2 -2
- package/src/client/components/core/LogIn.js +16 -23
- package/src/client/components/core/LogOut.js +5 -1
- package/src/client/components/core/Logger.js +4 -1
- package/src/client/components/core/Modal.js +102 -87
- package/src/client/components/core/ObjectLayerEngine.js +229 -4
- package/src/client/components/core/ObjectLayerEngineModal.js +442 -0
- package/src/client/components/core/Pagination.js +207 -0
- package/src/client/components/core/Panel.js +10 -10
- package/src/client/components/core/PanelForm.js +130 -33
- package/src/client/components/core/Recover.js +2 -2
- package/src/client/components/core/Router.js +210 -34
- package/src/client/components/core/SignUp.js +1 -2
- package/src/client/components/core/Stream.js +1 -1
- package/src/client/components/core/ToggleSwitch.js +15 -1
- package/src/client/components/core/VanillaJs.js +3 -84
- package/src/client/components/core/Worker.js +2 -2
- package/src/client/components/default/LogInDefault.js +0 -6
- package/src/client/components/default/LogOutDefault.js +0 -16
- package/src/client/components/default/MenuDefault.js +97 -44
- package/src/client/components/default/RoutesDefault.js +5 -2
- package/src/client/public/default/assets/mailer/api-user-default-avatar.png +0 -0
- package/src/client/services/core/core.service.js +8 -20
- package/src/client/services/default/default.management.js +115 -18
- package/src/client/services/default/default.service.js +13 -4
- package/src/client/services/document/document.service.js +97 -0
- package/src/client/services/file/file.service.js +2 -0
- package/src/client/services/test/test.service.js +3 -0
- package/src/client/services/user/user.management.js +6 -0
- package/src/client/services/user/user.service.js +15 -4
- package/src/client/ssr/Render.js +1 -1
- package/src/client/ssr/head/DefaultScripts.js +3 -0
- package/src/client/ssr/head/Seo.js +1 -0
- package/src/index.js +24 -2
- package/src/runtime/lampp/Lampp.js +89 -2
- package/src/runtime/xampp/Xampp.js +48 -1
- package/src/server/auth.js +519 -155
- package/src/server/backup.js +2 -2
- package/src/server/client-build-docs.js +1 -1
- package/src/server/client-build.js +4 -12
- package/src/server/client-icons.js +6 -78
- package/src/server/conf.js +144 -141
- package/src/server/process.js +2 -1
- package/src/server/proxy.js +1 -1
- package/src/server/runtime.js +136 -288
- package/src/server/ssl.js +1 -2
- package/src/server/ssr.js +85 -0
- package/src/server/start.js +4 -4
- package/src/server/valkey.js +2 -1
- package/test/api.test.js +3 -2
- package/bin/cyberia0.js +0 -78
package/.env.development
CHANGED
|
@@ -2,6 +2,43 @@ DEPLOY_ID=dd-default
|
|
|
2
2
|
NODE_ENV=development
|
|
3
3
|
PORT=4000
|
|
4
4
|
JWT_SECRET=test
|
|
5
|
-
|
|
5
|
+
REFRESH_EXPIRE_MINUTES=5
|
|
6
|
+
ACCESS_EXPIRE_MINUTES=1440
|
|
6
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
7
|
-
|
|
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
|
|
14
|
+
DEFAULT_DEPLOY_HOST=default.net
|
|
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
|
|
43
|
+
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
44
|
+
DEFAULT_ADMIN_PASSWORD=changethis
|
package/.env.production
CHANGED
|
@@ -2,6 +2,46 @@ DEPLOY_ID=dd-default
|
|
|
2
2
|
NODE_ENV=production
|
|
3
3
|
PORT=3000
|
|
4
4
|
JWT_SECRET=test
|
|
5
|
-
|
|
5
|
+
REFRESH_EXPIRE_MINUTES=5
|
|
6
|
+
ACCESS_EXPIRE_MINUTES=1440
|
|
6
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
7
|
-
|
|
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
|
|
14
|
+
DEFAULT_DEPLOY_HOST=default.net
|
|
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
|
|
43
|
+
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
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
|
@@ -2,6 +2,43 @@ DEPLOY_ID=dd-default
|
|
|
2
2
|
NODE_ENV=test
|
|
3
3
|
PORT=5000
|
|
4
4
|
JWT_SECRET=test
|
|
5
|
-
|
|
5
|
+
REFRESH_EXPIRE_MINUTES=5
|
|
6
|
+
ACCESS_EXPIRE_MINUTES=1440
|
|
6
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
7
|
-
|
|
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
|
|
14
|
+
DEFAULT_DEPLOY_HOST=default.net
|
|
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
|
|
43
|
+
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
44
|
+
DEFAULT_ADMIN_PASSWORD=changethis
|
|
@@ -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: [
|
|
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:
|
|
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
|
|
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:
|
|
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
|
|
@@ -2,7 +2,7 @@ name: CD | Release deployment | remote ssh
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
workflow_run:
|
|
5
|
-
workflows: [
|
|
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
|
|
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
|
|
37
|
+
underpost run ssh-deploy engine-test
|
package/README.md
CHANGED
|
@@ -26,10 +26,47 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
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
|
+
|
|
65
|
+
|
|
29
66
|
<!-- badges -->
|
|
30
67
|
|
|
31
68
|
|
|
32
|
-
[](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.yml) [](https://www.npmjs.com/package/underpost) [](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.yml) [](https://www.npmjs.com/package/underpost) [](https://socket.dev/npm/package/underpost/overview/2.8.88) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](https://www.npmjs.com/package/underpost)
|
|
33
70
|
|
|
34
71
|
|
|
35
72
|
<!-- end-badges -->
|
|
@@ -44,6 +81,43 @@
|
|
|
44
81
|
|
|
45
82
|
|
|
46
83
|
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
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
|
+
|
|
120
|
+
|
|
47
121
|
</div>
|
|
48
122
|
|
|
49
123
|
<div align="center">
|
|
@@ -88,7 +162,7 @@ Run dev client server
|
|
|
88
162
|
npm run dev
|
|
89
163
|
```
|
|
90
164
|
<!-- -->
|
|
91
|
-
## underpost ci/cd cli v2.8.
|
|
165
|
+
## underpost ci/cd cli v2.8.88
|
|
92
166
|
|
|
93
167
|
### Usage: `underpost [options] [command]`
|
|
94
168
|
```
|
package/bin/build.js
CHANGED
|
@@ -156,6 +156,7 @@ const { DefaultConf } = await import(`../conf.${confName}.js`);
|
|
|
156
156
|
switch (confName) {
|
|
157
157
|
case 'dd-cyberia':
|
|
158
158
|
fs.copyFileSync(`./bin/cyberia.js`, `${basePath}/bin/cyberia.js`);
|
|
159
|
+
fs.copyFileSync(`./bin/cyberia.js`, `${basePath}/bin/cyberia0.js`);
|
|
159
160
|
break;
|
|
160
161
|
|
|
161
162
|
default:
|
|
@@ -190,6 +191,10 @@ const { DefaultConf } = await import(`../conf.${confName}.js`);
|
|
|
190
191
|
fs.copyFileSync(`./.github/workflows/${repoName}.ci.yml`, `${basePath}/.github/workflows/${repoName}.ci.yml`);
|
|
191
192
|
fs.copyFileSync(`./.github/workflows/${repoName}.cd.yml`, `${basePath}/.github/workflows/${repoName}.cd.yml`);
|
|
192
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
|
+
|
|
193
198
|
if (fs.existsSync(`./src/ws/${confName.split('-')[1]}`)) {
|
|
194
199
|
fs.copySync(`./src/ws/${confName.split('-')[1]}`, `${basePath}/src/ws/${confName.split('-')[1]}`);
|
|
195
200
|
}
|
package/bin/deploy.js
CHANGED
|
@@ -28,6 +28,7 @@ import { DefaultConf } from '../conf.js';
|
|
|
28
28
|
import colors from 'colors';
|
|
29
29
|
import { program } from '../src/cli/index.js';
|
|
30
30
|
import { getLocalIPv4Address, ip } from '../src/server/dns.js';
|
|
31
|
+
import { timer } from '../src/client/components/core/CommonJs.js';
|
|
31
32
|
|
|
32
33
|
colors.enable();
|
|
33
34
|
|
|
@@ -39,19 +40,6 @@ const [exe, dir, operator] = process.argv;
|
|
|
39
40
|
|
|
40
41
|
try {
|
|
41
42
|
switch (operator) {
|
|
42
|
-
case 'save':
|
|
43
|
-
{
|
|
44
|
-
let deployId = process.argv[3] ?? 'dd-default';
|
|
45
|
-
if (!deployId.startsWith('dd-')) deployId = 'dd-default';
|
|
46
|
-
const folder = `./engine-private/conf/${deployId}`;
|
|
47
|
-
if (fs.existsSync(folder)) fs.removeSync(folder);
|
|
48
|
-
await Config.build({ folder });
|
|
49
|
-
fs.writeFileSync(`${folder}/.env.production`, fs.readFileSync('./.env.production', 'utf8'), 'utf8');
|
|
50
|
-
fs.writeFileSync(`${folder}/.env.development`, fs.readFileSync('./.env.development', 'utf8'), 'utf8');
|
|
51
|
-
fs.writeFileSync(`${folder}/.env.test`, fs.readFileSync('./.env.test', 'utf8'), 'utf8');
|
|
52
|
-
fs.writeFileSync(`${folder}/package.json`, fs.readFileSync('./package.json', 'utf8'), 'utf8');
|
|
53
|
-
}
|
|
54
|
-
break;
|
|
55
43
|
case 'add-nodejs-app-client-conf':
|
|
56
44
|
{
|
|
57
45
|
const toOptions = {
|
|
@@ -271,23 +259,20 @@ try {
|
|
|
271
259
|
for (const deployIdObj of dataDeploy) {
|
|
272
260
|
const { deployId, replicaHost } = deployIdObj;
|
|
273
261
|
if (replicaHost && !singleReplicaHosts.includes(replicaHost)) singleReplicaHosts.push(replicaHost);
|
|
274
|
-
const proxyInstance = deployId.match('proxy') || deployId.match('cron');
|
|
275
262
|
const baseConfPath = fs.existsSync(`./engine-private/replica/${deployId}`)
|
|
276
263
|
? `./engine-private/replica`
|
|
277
264
|
: `./engine-private/conf`;
|
|
278
265
|
for (const envInstanceObj of dataEnv) {
|
|
279
266
|
const envPath = `${baseConfPath}/${deployId}/.env.${envInstanceObj.env}`;
|
|
280
267
|
const envObj = dotenv.parse(fs.readFileSync(envPath, 'utf8'));
|
|
281
|
-
envObj.PORT =
|
|
282
|
-
? envInstanceObj.port
|
|
283
|
-
: envInstanceObj.port + port - singleReplicaHosts.length - (replicaHost ? 1 : 0);
|
|
268
|
+
envObj.PORT = envInstanceObj.port + port - singleReplicaHosts.length - (replicaHost ? 1 : 0);
|
|
284
269
|
|
|
285
270
|
writeEnv(envPath, envObj);
|
|
286
271
|
}
|
|
287
272
|
const serverConf = loadReplicas(
|
|
288
273
|
JSON.parse(fs.readFileSync(`${baseConfPath}/${deployId}/conf.server.json`, 'utf8')),
|
|
289
274
|
);
|
|
290
|
-
|
|
275
|
+
for (const host of Object.keys(serverConf)) port += Object.keys(serverConf[host]).length;
|
|
291
276
|
}
|
|
292
277
|
break;
|
|
293
278
|
|
|
@@ -383,10 +368,30 @@ try {
|
|
|
383
368
|
}
|
|
384
369
|
|
|
385
370
|
case 'version-build': {
|
|
371
|
+
shellCd(`/home/dd/engine`);
|
|
386
372
|
shellExec(`node bin/deploy clean-core-repo`);
|
|
373
|
+
shellExec(`node bin pull . ${process.env.GITHUB_USERNAME}/engine`);
|
|
374
|
+
shellExec(`node bin run kill 4001`);
|
|
375
|
+
shellExec(`node bin run kill 4002`);
|
|
376
|
+
shellExec(`node bin run kill 4003`);
|
|
377
|
+
shellExec(`npm run update-template`);
|
|
378
|
+
shellExec(`cd ../pwa-microservices-template && npm install`);
|
|
379
|
+
shellExec(`cd ../pwa-microservices-template && npm run build && timeout 5s npm run dev`, {
|
|
380
|
+
async: true,
|
|
381
|
+
});
|
|
382
|
+
await timer(5500);
|
|
383
|
+
const templateRunnerResult = fs.readFileSync(`../pwa-microservices-template/logs/start.js/all.log`, 'utf8');
|
|
384
|
+
logger.info('Test template runner result');
|
|
385
|
+
console.log(templateRunnerResult);
|
|
386
|
+
if (!templateRunnerResult || templateRunnerResult.toLowerCase().match('error')) {
|
|
387
|
+
logger.error('Test template runner result failed');
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
387
390
|
shellCd(`/home/dd/engine`);
|
|
391
|
+
shellExec(`node bin/deploy clean-core-repo`);
|
|
388
392
|
const originPackageJson = JSON.parse(fs.readFileSync(`package.json`, 'utf8'));
|
|
389
393
|
const newVersion = process.argv[3] ?? originPackageJson.version;
|
|
394
|
+
const node = process.argv[4] ?? 'kind-control-plane';
|
|
390
395
|
const { version } = originPackageJson;
|
|
391
396
|
originPackageJson.version = newVersion;
|
|
392
397
|
fs.writeFileSync(`package.json`, JSON.stringify(originPackageJson, null, 4), 'utf8');
|
|
@@ -444,8 +449,27 @@ try {
|
|
|
444
449
|
shellExec(`node bin/deploy update-dependencies`);
|
|
445
450
|
shellExec(`auto-changelog`);
|
|
446
451
|
shellExec(`node bin/build dd`);
|
|
447
|
-
shellExec(
|
|
448
|
-
|
|
452
|
+
shellExec(
|
|
453
|
+
`node bin deploy --kubeadm --build-manifest --sync --info-router --replicas 1 --node ${node} dd production`,
|
|
454
|
+
);
|
|
455
|
+
shellExec(
|
|
456
|
+
`node bin deploy --kubeadm --build-manifest --sync --info-router --replicas 1 --node ${node} dd development `,
|
|
457
|
+
);
|
|
458
|
+
for (const deployId of fs.readFileSync(`./engine-private/deploy/dd.router`, 'utf8').split(`,`)) {
|
|
459
|
+
fs.copySync(
|
|
460
|
+
`./engine-private/conf/${deployId}/build/development/deployment.yaml`,
|
|
461
|
+
`./manifests/deployment/${deployId}-development/deployment.yaml`,
|
|
462
|
+
);
|
|
463
|
+
fs.copySync(
|
|
464
|
+
`./engine-private/conf/${deployId}/build/development/proxy.yaml`,
|
|
465
|
+
`./manifests/deployment/${deployId}-development/proxy.yaml`,
|
|
466
|
+
);
|
|
467
|
+
}
|
|
468
|
+
shellExec(`sudo rm -rf ./engine-private/conf/dd-default`);
|
|
469
|
+
shellExec(`node bin new --deploy-id dd-default`);
|
|
470
|
+
console.log(fs.existsSync(`./engine-private/conf/dd-default`));
|
|
471
|
+
shellExec(`sudo rm -rf ./engine-private/conf/dd-default`);
|
|
472
|
+
shellExec(`node bin/deploy build-env`);
|
|
449
473
|
break;
|
|
450
474
|
}
|
|
451
475
|
|
|
@@ -457,8 +481,8 @@ try {
|
|
|
457
481
|
shellExec(`git add . && cd ./engine-private && git add .`);
|
|
458
482
|
shellExec(`node bin cmt . ci package-pwa-microservices-template`);
|
|
459
483
|
shellExec(`node bin cmt ./engine-private ci package-pwa-microservices-template`);
|
|
460
|
-
shellExec(`node bin push .
|
|
461
|
-
shellExec(`cd ./engine-private && node ../bin push .
|
|
484
|
+
shellExec(`node bin push . ${process.env.GITHUB_USERNAME}/engine`);
|
|
485
|
+
shellExec(`cd ./engine-private && node ../bin push . ${process.env.GITHUB_USERNAME}/engine-private`);
|
|
462
486
|
break;
|
|
463
487
|
}
|
|
464
488
|
|
|
@@ -512,19 +536,49 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
512
536
|
|
|
513
537
|
break;
|
|
514
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
|
+
}
|
|
515
568
|
|
|
516
569
|
case 'update-default-conf': {
|
|
517
570
|
const defaultServer = DefaultConf.server['default.net']['/'];
|
|
518
571
|
let confName = process.argv[3];
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
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`;
|
|
522
575
|
const path = '/pwa-microservices-template-ghpkg';
|
|
523
576
|
DefaultConf.server = {
|
|
524
577
|
[host]: { [path]: defaultServer },
|
|
525
578
|
};
|
|
526
579
|
DefaultConf.server[host][path].apiBaseProxyPath = '/';
|
|
527
580
|
DefaultConf.server[host][path].apiBaseHost = 'www.nexodev.org';
|
|
581
|
+
defaultConf = true;
|
|
528
582
|
} else if (confName === 'template') {
|
|
529
583
|
const host = 'default.net';
|
|
530
584
|
const path = '/';
|
|
@@ -534,7 +588,7 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
534
588
|
};
|
|
535
589
|
// mongodb-0.mongodb-service
|
|
536
590
|
DefaultConf.server[host][path].db.host = 'mongodb://mongodb-service:27017';
|
|
537
|
-
|
|
591
|
+
defaultConf = true;
|
|
538
592
|
} else if (confName && fs.existsSync(`./engine-private/conf/${confName}`)) {
|
|
539
593
|
DefaultConf.client = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.client.json`, 'utf8'));
|
|
540
594
|
DefaultConf.server = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.server.json`, 'utf8'));
|
|
@@ -558,10 +612,22 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
558
612
|
const sepRender = '/**/';
|
|
559
613
|
const confRawPaths = fs.readFileSync('./conf.js', 'utf8').split(sepRender);
|
|
560
614
|
confRawPaths[1] = `${JSON.stringify(DefaultConf)};`;
|
|
561
|
-
const targetConfPath = `./conf${
|
|
615
|
+
const targetConfPath = `./conf${defaultConf ? '' : `.${confName}`}.js`;
|
|
562
616
|
fs.writeFileSync(targetConfPath, confRawPaths.join(sepRender), 'utf8');
|
|
563
617
|
shellExec(`prettier --write ${targetConfPath}`);
|
|
564
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
|
+
|
|
565
631
|
break;
|
|
566
632
|
}
|
|
567
633
|
|
package/bin/file.js
CHANGED
|
@@ -56,10 +56,13 @@ try {
|
|
|
56
56
|
console.log('copy paths', result);
|
|
57
57
|
|
|
58
58
|
if (type === 'update-template') {
|
|
59
|
-
if (!fs.existsSync(toPath))
|
|
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}
|
|
63
|
+
shellExec(`underpost pull ${toPath} ${process.env.GITHUB_USERNAME}/pwa-microservices-template`);
|
|
64
|
+
shellExec(`sudo rm -rf ${toPath}/engine-private`);
|
|
65
|
+
shellExec(`sudo rm -rf ${toPath}/logs`);
|
|
63
66
|
}
|
|
64
67
|
} else {
|
|
65
68
|
fs.removeSync(toPath);
|
|
@@ -94,6 +97,7 @@ try {
|
|
|
94
97
|
'./manifests/deployment/dd-template-development',
|
|
95
98
|
'bin/web3.js',
|
|
96
99
|
'bin/cyberia.js',
|
|
100
|
+
'bin/cyberia0.js',
|
|
97
101
|
]) {
|
|
98
102
|
if (fs.existsSync(deletePath)) fs.removeSync('../pwa-microservices-template/' + deletePath);
|
|
99
103
|
}
|
|
@@ -125,8 +129,8 @@ try {
|
|
|
125
129
|
templatePackageJson.scripts = originPackageJson.scripts;
|
|
126
130
|
templatePackageJson.name = name;
|
|
127
131
|
templatePackageJson.description = description;
|
|
128
|
-
templatePackageJson.scripts.dev = dev;
|
|
129
|
-
templatePackageJson.scripts.build = build;
|
|
132
|
+
// templatePackageJson.scripts.dev = dev;
|
|
133
|
+
// templatePackageJson.scripts.build = build;
|
|
130
134
|
templatePackageJson.keywords = uniqueArray(
|
|
131
135
|
['pwa', 'microservices', 'template', 'builder'].concat(templatePackageJson.keywords),
|
|
132
136
|
);
|
package/bin/util.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import si from 'systeminformation';
|
|
3
3
|
import * as dir from 'path';
|
|
4
|
-
import { svg } from 'font-awesome-assets';
|
|
5
4
|
|
|
6
5
|
import { loggerFactory } from '../src/server/logger.js';
|
|
7
|
-
import { pbcopy
|
|
6
|
+
import { pbcopy } from '../src/server/process.js';
|
|
8
7
|
import { buildKindPorts } from '../src/server/conf.js';
|
|
9
|
-
import { FileFactory } from '../src/api/file/file.service.js';
|
|
10
|
-
import { faBase64Png, getBufferPngText } from '../src/server/client-icons.js';
|
|
11
|
-
import keyword_extractor from 'keyword-extractor';
|
|
12
8
|
|
|
13
9
|
const logger = loggerFactory(import.meta);
|
|
14
10
|
|
|
@@ -73,57 +69,6 @@ try {
|
|
|
73
69
|
cleanEmptyFoldersRecursively('./');
|
|
74
70
|
break;
|
|
75
71
|
|
|
76
|
-
case 'text-to-image': {
|
|
77
|
-
const buffer = await getBufferPngText({
|
|
78
|
-
text: process.argv[3],
|
|
79
|
-
textColor: process.argv[4],
|
|
80
|
-
bgColor: process.argv[5],
|
|
81
|
-
size: process.argv[6],
|
|
82
|
-
debugFilename: process.argv[7],
|
|
83
|
-
});
|
|
84
|
-
fs.writeFileSync(`./text-to-image.png`, buffer);
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
case 'fa-image':
|
|
88
|
-
const faId = process.argv[3] ? process.argv[3] : 'user';
|
|
89
|
-
const color = process.argv[4] ? process.argv[4] : '#5f5f5f';
|
|
90
|
-
const path = process.argv[5] ? process.argv[5] : './';
|
|
91
|
-
|
|
92
|
-
{
|
|
93
|
-
fs.writeFileSync(`./tmp/${faId}.svg`, svg(faId, color), 'utf8');
|
|
94
|
-
const data = fs.readFileSync(`./tmp/${faId}.svg`);
|
|
95
|
-
console.log(FileFactory.svg(data, `${faId}.svg`));
|
|
96
|
-
fs.removeSync(`${path}${faId}.svg`);
|
|
97
|
-
}
|
|
98
|
-
{
|
|
99
|
-
fs.writeFileSync(`${path}${faId}.png`, Buffer.from(faBase64Png(faId, 100, 100, color), 'base64'));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
break;
|
|
103
|
-
|
|
104
|
-
case 'b64-image':
|
|
105
|
-
fs.writeFileSync('b64-image', `data:image/jpg;base64,${fs.readFileSync(process.argv[3]).toString('base64')}`);
|
|
106
|
-
break;
|
|
107
|
-
|
|
108
|
-
case 'get-keys': {
|
|
109
|
-
const sentence = fs.existsSync('./_')
|
|
110
|
-
? fs.readFileSync('./_', 'utf8')
|
|
111
|
-
: process.argv[3]
|
|
112
|
-
? process.argv[3]
|
|
113
|
-
: 'President Obama woke up Monday facing a Congressional defeat that many in both parties believed could hobble his presidency.';
|
|
114
|
-
|
|
115
|
-
// Extract the keywords
|
|
116
|
-
const extraction_result = keyword_extractor.extract(sentence, {
|
|
117
|
-
language: 'english',
|
|
118
|
-
remove_digits: true,
|
|
119
|
-
// return_changed_case: true,
|
|
120
|
-
// remove_duplicates: false,
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
console.log(extraction_result.join(', '));
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
72
|
case 'build-ports': {
|
|
128
73
|
pbcopy(buildKindPorts(process.argv[3], process.argv[4]));
|
|
129
74
|
}
|