underpost 2.8.878 → 2.8.881
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 +40 -3
- package/.env.test +35 -3
- package/.github/workflows/release.cd.yml +2 -1
- package/README.md +44 -36
- package/bin/deploy.js +40 -0
- package/cli.md +88 -86
- package/conf.js +28 -3
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +2 -2
- package/package.json +1 -2
- 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/cli/deploy.js +1 -1
- package/src/cli/index.js +2 -0
- package/src/cli/run.js +27 -1
- package/src/client/Default.index.js +46 -1
- package/src/client/components/core/Account.js +8 -1
- package/src/client/components/core/AgGrid.js +18 -9
- package/src/client/components/core/BtnIcon.js +3 -2
- package/src/client/components/core/Content.js +2 -1
- package/src/client/components/core/CssCore.js +4 -0
- package/src/client/components/core/Docs.js +0 -3
- package/src/client/components/core/Input.js +34 -19
- package/src/client/components/core/Modal.js +29 -7
- package/src/client/components/core/ObjectLayerEngine.js +370 -0
- package/src/client/components/core/ObjectLayerEngineModal.js +1 -0
- package/src/client/components/core/Panel.js +7 -2
- package/src/client/components/core/PanelForm.js +187 -63
- package/src/client/components/core/VanillaJs.js +3 -0
- package/src/client/components/default/MenuDefault.js +94 -41
- package/src/client/components/default/RoutesDefault.js +2 -0
- package/src/client/services/default/default.management.js +1 -0
- package/src/client/services/document/document.service.js +97 -0
- package/src/client/services/file/file.service.js +2 -0
- package/src/client/ssr/Render.js +1 -1
- package/src/client/ssr/head/DefaultScripts.js +2 -0
- package/src/client/ssr/head/Seo.js +1 -0
- package/src/index.js +1 -1
- package/src/mailer/EmailRender.js +1 -1
- package/src/server/client-build.js +2 -3
- package/src/server/client-formatted.js +40 -12
- package/src/server/conf.js +5 -1
- package/src/server/object-layer.js +196 -0
- package/src/server/runtime.js +10 -13
- package/src/server/ssr.js +52 -10
- package/src/server/valkey.js +89 -1
package/.env.development
CHANGED
|
@@ -1,13 +1,45 @@
|
|
|
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
|
|
7
6
|
ACCESS_EXPIRE_MINUTES=1440
|
|
8
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
9
|
-
|
|
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
|
|
10
14
|
DEFAULT_DEPLOY_HOST=default.net
|
|
11
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
|
|
12
43
|
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
13
|
-
DEFAULT_ADMIN_PASSWORD=changethis
|
|
44
|
+
DEFAULT_ADMIN_PASSWORD=changethis
|
|
45
|
+
BASE_API=api
|
package/.env.production
CHANGED
|
@@ -1,13 +1,50 @@
|
|
|
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
|
|
7
6
|
ACCESS_EXPIRE_MINUTES=1440
|
|
8
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
9
|
-
|
|
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
|
|
10
14
|
DEFAULT_DEPLOY_HOST=default.net
|
|
11
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
|
|
12
43
|
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
13
|
-
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
|
|
48
|
+
BASE_API=api
|
|
49
|
+
CERTBOT_LIVE_PATH=changethis
|
|
50
|
+
CERTBOT_LIVE_PATH_WINDOWS=changethis
|
package/.env.test
CHANGED
|
@@ -1,13 +1,45 @@
|
|
|
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
|
|
7
6
|
ACCESS_EXPIRE_MINUTES=1440
|
|
8
7
|
NODE_OPTIONS=--max-old-space-size=8192
|
|
9
|
-
|
|
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
|
|
10
14
|
DEFAULT_DEPLOY_HOST=default.net
|
|
11
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
|
|
12
43
|
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
13
|
-
DEFAULT_ADMIN_PASSWORD=changethis
|
|
44
|
+
DEFAULT_ADMIN_PASSWORD=changethis
|
|
45
|
+
BASE_API=api
|
|
@@ -31,7 +31,8 @@ jobs:
|
|
|
31
31
|
cd /home/dd/engine
|
|
32
32
|
npm install -g underpost
|
|
33
33
|
underpost run secret
|
|
34
|
-
|
|
34
|
+
underpost run pull
|
|
35
35
|
underpost run secret
|
|
36
|
+
underpost cmt . --empty ci docker-image-engine
|
|
36
37
|
underpost run underpost-config
|
|
37
38
|
underpost run ssh-deploy engine-test
|
package/README.md
CHANGED
|
@@ -55,6 +55,10 @@
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
58
62
|
|
|
59
63
|
|
|
60
64
|
|
|
@@ -63,7 +67,7 @@
|
|
|
63
67
|
<!-- badges -->
|
|
64
68
|
|
|
65
69
|
|
|
66
|
-
[](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.881) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](https://www.npmjs.com/package/underpost)
|
|
67
71
|
|
|
68
72
|
|
|
69
73
|
<!-- end-badges -->
|
|
@@ -107,6 +111,10 @@
|
|
|
107
111
|
|
|
108
112
|
|
|
109
113
|
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
110
118
|
|
|
111
119
|
|
|
112
120
|
|
|
@@ -156,44 +164,44 @@ Run dev client server
|
|
|
156
164
|
npm run dev
|
|
157
165
|
```
|
|
158
166
|
<!-- -->
|
|
159
|
-
## underpost ci/cd cli v2.8.
|
|
167
|
+
## underpost ci/cd cli v2.8.881
|
|
160
168
|
|
|
161
169
|
### Usage: `underpost [options] [command]`
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
Options:
|
|
173
|
+
-V, --version output the version number
|
|
174
|
+
-h, --help display help for command
|
|
166
175
|
|
|
167
176
|
Commands:
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
177
|
+
new [options] <app-name> Initializes a new Underpost project with a predefined structure.
|
|
178
|
+
start [options] <deploy-id> [env] Initiates application servers, build pipelines, or other defined services based on the deployment ID.
|
|
179
|
+
clone [options] <uri> Clones a specified GitHub repository into the current directory.
|
|
180
|
+
pull [options] <path> <uri> Pulls the latest changes from a specified GitHub repository.
|
|
181
|
+
cmt [options] <path> <commit-type> [module-tag] [message] Manages commits to a GitHub repository, supporting various commit types and options.
|
|
182
|
+
push [options] <path> <uri> Pushes committed changes from a local repository to a remote GitHub repository.
|
|
183
|
+
env <deploy-id> [env] Sets environment variables and configurations related to a specific deployment ID.
|
|
184
|
+
config [options] <operator> [key] [value] Manages Underpost configurations using various operators.
|
|
185
|
+
root Displays the root path of the npm installation.
|
|
186
|
+
cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
|
|
187
|
+
deploy [options] [deploy-list] [env] Manages application deployments, defaulting to deploying development pods.
|
|
188
|
+
secret [options] <platform> Manages secrets for various platforms.
|
|
189
|
+
dockerfile-image-build [options] Builds a Docker image from a specified Dockerfile with various options for naming, saving, and loading.
|
|
190
|
+
dockerfile-pull-base-images [options] Pulls required Underpost Dockerfile base images and optionally loads them into clusters.
|
|
191
|
+
install Quickly imports Underpost npm dependencies by copying them.
|
|
192
|
+
db [options] <deploy-list> Manages database operations, including import, export, and collection management.
|
|
193
|
+
metadata [options] [deploy-id] [host] [path] Manages cluster metadata operations, including import and export.
|
|
194
|
+
script [options] <operator> <script-name> [script-value] Supports a variety of built-in Underpost global scripts, their preset lifecycle events, and arbitrary custom scripts.
|
|
195
|
+
cron [options] [deploy-list] [job-list] Manages cron jobs, including initialization, execution, and configuration updates.
|
|
196
|
+
fs [options] [path] Manages file storage, defaulting to file upload operations.
|
|
197
|
+
test [options] [deploy-list] Manages and runs tests, defaulting to the current Underpost default test suite.
|
|
198
|
+
monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
|
|
199
|
+
ssh [options] Import and start ssh server and client based on current default deployment ID.
|
|
200
|
+
run [options] <runner-id> [path] Runs a script from the specified path.
|
|
201
|
+
lxd [options] Manages LXD containers and virtual machines.
|
|
202
|
+
baremetal [options] [workflow-id] [hostname] [ip-address] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
|
|
203
|
+
help [command] display help for command
|
|
204
|
+
|
|
196
205
|
```
|
|
197
|
-
|
|
206
|
+
|
|
198
207
|
<a target="_top" href="https://github.com/underpostnet/pwa-microservices-template/blob/master/cli.md">See complete CLI Docs here.</a>
|
|
199
|
-
|
package/bin/deploy.js
CHANGED
|
@@ -469,6 +469,7 @@ try {
|
|
|
469
469
|
shellExec(`node bin new --deploy-id dd-default`);
|
|
470
470
|
console.log(fs.existsSync(`./engine-private/conf/dd-default`));
|
|
471
471
|
shellExec(`sudo rm -rf ./engine-private/conf/dd-default`);
|
|
472
|
+
shellExec(`node bin/deploy build-env`);
|
|
472
473
|
break;
|
|
473
474
|
}
|
|
474
475
|
|
|
@@ -535,6 +536,45 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
535
536
|
|
|
536
537
|
break;
|
|
537
538
|
}
|
|
539
|
+
case 'build-env': {
|
|
540
|
+
const buildEnv = (privateEnvPath, originEnv, env) => {
|
|
541
|
+
const privateEnv = dotenv.parse(fs.readFileSync(privateEnvPath, 'utf8'));
|
|
542
|
+
for (const key of Object.keys(privateEnv)) {
|
|
543
|
+
if (key in env) {
|
|
544
|
+
console.warn(`Key ${key} already exists in origin env`);
|
|
545
|
+
continue;
|
|
546
|
+
}
|
|
547
|
+
if (key in originEnv) {
|
|
548
|
+
console.warn(`Key ${key} already exists in origin env`);
|
|
549
|
+
env[key] = originEnv[key];
|
|
550
|
+
continue;
|
|
551
|
+
}
|
|
552
|
+
env[key] =
|
|
553
|
+
`${key}`.toUpperCase().match('API') ||
|
|
554
|
+
`${key}`.toUpperCase().match('KEY') ||
|
|
555
|
+
`${key}`.toUpperCase().match('SECRET') ||
|
|
556
|
+
`${key}`.toUpperCase().match('TOKEN') ||
|
|
557
|
+
`${key}`.toUpperCase().match('PASSWORD') ||
|
|
558
|
+
`${key}`.toUpperCase().match('MAC')
|
|
559
|
+
? 'changethis'
|
|
560
|
+
: isNaN(parseFloat(privateEnv[key]))
|
|
561
|
+
? `${privateEnv[key]}`.match(`@`)
|
|
562
|
+
? 'admin@default.net'
|
|
563
|
+
: 'changethis'
|
|
564
|
+
: privateEnv[key];
|
|
565
|
+
}
|
|
566
|
+
return env;
|
|
567
|
+
};
|
|
568
|
+
for (let envPath of ['.env.development', '.env.production', '.env.test']) {
|
|
569
|
+
const originEnv = dotenv.parse(fs.readFileSync(`./${envPath}`, 'utf8'));
|
|
570
|
+
|
|
571
|
+
let env = {};
|
|
572
|
+
env = buildEnv(`./engine-private/conf/dd-cron/${envPath}`, originEnv, env);
|
|
573
|
+
env = buildEnv(`./engine-private/conf/dd-core/${envPath}`, originEnv, env);
|
|
574
|
+
writeEnv(envPath, env);
|
|
575
|
+
}
|
|
576
|
+
break;
|
|
577
|
+
}
|
|
538
578
|
|
|
539
579
|
case 'update-default-conf': {
|
|
540
580
|
const defaultServer = DefaultConf.server['default.net']['/'];
|