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.
- package/.env.development +35 -3
- package/.env.production +39 -4
- package/.env.test +35 -3
- 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 +56 -2
- package/bin/build.js +4 -0
- package/bin/deploy.js +62 -8
- package/bin/file.js +3 -2
- package/cli.md +8 -2
- package/conf.js +30 -4
- 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/package.json +6 -5
- 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/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 +9 -3
- package/src/api/user/user.service.js +84 -32
- package/src/cli/baremetal.js +33 -3
- package/src/cli/cloud-init.js +11 -0
- package/src/cli/cron.js +0 -1
- package/src/cli/deploy.js +46 -23
- package/src/cli/index.js +5 -0
- package/src/cli/lxd.js +7 -0
- package/src/cli/repository.js +42 -6
- package/src/cli/run.js +45 -13
- 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 +6 -1
- package/src/client/components/core/Docs.js +5 -5
- package/src/client/components/core/FileExplorer.js +3 -3
- package/src/client/components/core/Input.js +22 -17
- 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 +82 -53
- package/src/client/components/core/ObjectLayerEngineModal.js +2 -1
- 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/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/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/conf.js +66 -8
- package/src/server/process.js +2 -1
- package/src/server/runtime.js +135 -286
- package/src/server/ssl.js +1 -2
- package/src/server/ssr.js +85 -0
- package/src/server/start.js +2 -2
- 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
|
-
|
|
5
|
+
REFRESH_EXPIRE_MINUTES=5
|
|
6
|
+
ACCESS_EXPIRE_MINUTES=1440
|
|
7
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
8
|
-
|
|
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
|
-
|
|
5
|
+
REFRESH_EXPIRE_MINUTES=5
|
|
6
|
+
ACCESS_EXPIRE_MINUTES=1440
|
|
7
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
8
|
-
|
|
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
|
-
|
|
5
|
+
REFRESH_EXPIRE_MINUTES=5
|
|
6
|
+
ACCESS_EXPIRE_MINUTES=1440
|
|
7
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
8
|
-
|
|
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
|
|
@@ -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
|
@@ -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
|
-
[](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)
|
|
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.
|
|
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
|
-
|
|
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 .
|
|
473
|
-
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`);
|
|
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
|
-
|
|
532
|
-
|
|
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
|
-
|
|
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${
|
|
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))
|
|
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`);
|
|
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.
|
|
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,
|
|
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
|
-
{
|
|
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.
|
|
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.
|
|
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.
|
|
103
|
+
image: localhost/rockylinux9-underpost:v2.8.88
|
|
104
104
|
# resources:
|
|
105
105
|
# requests:
|
|
106
106
|
# memory: "124Ki"
|