@underpostnet/underpost 2.92.0 → 2.95.1
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/.github/workflows/pwa-microservices-template-page.cd.yml +5 -4
- package/README.md +4 -5
- package/bin/build.js +6 -1
- package/bin/deploy.js +2 -69
- package/cli.md +99 -92
- package/manifests/deployment/dd-default-development/deployment.yaml +4 -4
- package/manifests/deployment/dd-test-development/deployment.yaml +2 -2
- package/package.json +1 -1
- package/scripts/disk-clean.sh +216 -0
- package/scripts/ssh-cluster-info.sh +4 -3
- package/src/cli/cluster.js +1 -1
- package/src/cli/db.js +71 -80
- package/src/cli/deploy.js +77 -13
- package/src/cli/image.js +198 -133
- package/src/cli/index.js +59 -81
- package/src/cli/lxd.js +73 -74
- package/src/cli/monitor.js +20 -9
- package/src/cli/repository.js +86 -3
- package/src/cli/run.js +167 -63
- package/src/cli/ssh.js +351 -134
- package/src/index.js +1 -1
- package/src/monitor.js +11 -1
- package/src/server/backup.js +1 -1
- package/src/server/conf.js +1 -1
- package/src/server/dns.js +88 -1
- package/src/server/process.js +6 -1
- package/scripts/snap-clean.sh +0 -26
- package/src/client/public/default/plantuml/client-conf.svg +0 -1
- package/src/client/public/default/plantuml/client-schema.svg +0 -1
- package/src/client/public/default/plantuml/cron-conf.svg +0 -1
- package/src/client/public/default/plantuml/cron-schema.svg +0 -1
- package/src/client/public/default/plantuml/server-conf.svg +0 -1
- package/src/client/public/default/plantuml/server-schema.svg +0 -1
- package/src/client/public/default/plantuml/ssr-conf.svg +0 -1
- package/src/client/public/default/plantuml/ssr-schema.svg +0 -1
|
@@ -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:
|
|
@@ -53,7 +53,8 @@ jobs:
|
|
|
53
53
|
run: |
|
|
54
54
|
npm install -g underpost
|
|
55
55
|
npm install
|
|
56
|
-
node bin
|
|
56
|
+
node bin new --default-conf --conf-workflow-id dd-github-pages
|
|
57
|
+
node bin new --deploy-id dd-github-pages
|
|
57
58
|
underpost env dd-github-pages production
|
|
58
59
|
env-cmd -f .env.production node bin/deploy build-full-client dd-github-pages underpostnet.github.io /pwa-microservices-template-ghpkg
|
|
59
60
|
# git lfs install
|
|
@@ -66,7 +67,7 @@ jobs:
|
|
|
66
67
|
uses: actions/upload-pages-artifact@v3
|
|
67
68
|
with:
|
|
68
69
|
# Upload entire repository
|
|
69
|
-
path:
|
|
70
|
+
path: './public/underpostnet.github.io/pwa-microservices-template-ghpkg/'
|
|
70
71
|
- name: Deploy to GitHub Pages
|
|
71
72
|
id: deployment
|
|
72
73
|
uses: actions/deploy-pages@v4
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
<!-- badges -->
|
|
20
20
|
|
|
21
|
-
[](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.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.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://socket.dev/npm/package/underpost/overview/2.95.1) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](https://www.npmjs.com/package/underpost)
|
|
22
22
|
|
|
23
23
|
<!-- end-badges -->
|
|
24
24
|
|
|
@@ -66,7 +66,7 @@ Run dev client server
|
|
|
66
66
|
npm run dev
|
|
67
67
|
```
|
|
68
68
|
<!-- -->
|
|
69
|
-
## underpost ci/cd cli v2.
|
|
69
|
+
## underpost ci/cd cli v2.95.1
|
|
70
70
|
|
|
71
71
|
### Usage: `underpost [options] [command]`
|
|
72
72
|
```
|
|
@@ -89,8 +89,7 @@ Commands:
|
|
|
89
89
|
cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
|
|
90
90
|
deploy [options] [deploy-list] [env] Manages application deployments, defaulting to deploying development pods.
|
|
91
91
|
secret [options] <platform> Manages secrets for various platforms.
|
|
92
|
-
|
|
93
|
-
dockerfile-pull-base-images [options] Pulls required Underpost Dockerfile base images and optionally loads them into clusters.
|
|
92
|
+
image [options] Manages Docker images, including building, saving, and loading into Kubernetes clusters.
|
|
94
93
|
install Quickly imports Underpost npm dependencies by copying them.
|
|
95
94
|
db [options] <deploy-list> Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration.
|
|
96
95
|
metadata [options] [deploy-id] [host] [path] Manages cluster metadata operations, including import and export.
|
|
@@ -100,7 +99,7 @@ Commands:
|
|
|
100
99
|
test [options] [deploy-list] Manages and runs tests, defaulting to the current Underpost default test suite.
|
|
101
100
|
monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
|
|
102
101
|
ssh [options]
|
|
103
|
-
run [options] <runner-id> [path] Runs
|
|
102
|
+
run [options] <runner-id> [path] Runs specified scripts using various runners.
|
|
104
103
|
lxd [options] Manages LXD containers and virtual machines.
|
|
105
104
|
baremetal [options] [workflow-id] [hostname] [ip-address] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
|
|
106
105
|
help [command] display help for command
|
package/bin/build.js
CHANGED
|
@@ -47,7 +47,9 @@ if (process.argv.includes('conf')) {
|
|
|
47
47
|
if (!fs.existsSync(`../${privateRepoName}`)) {
|
|
48
48
|
shellExec(`cd .. && underpost clone ${privateGitUri}`, { silent: true });
|
|
49
49
|
} else {
|
|
50
|
-
shellExec(`cd ../${privateRepoName} && git checkout . && git clean -f -d && underpost pull . ${privateGitUri}
|
|
50
|
+
shellExec(`cd ../${privateRepoName} && git checkout . && git clean -f -d && underpost pull . ${privateGitUri}`, {
|
|
51
|
+
silent: true,
|
|
52
|
+
});
|
|
51
53
|
}
|
|
52
54
|
const toPath = `../${privateRepoName}/conf/${_confName}`;
|
|
53
55
|
fs.removeSync(toPath);
|
|
@@ -72,6 +74,9 @@ if (process.argv.includes('conf')) {
|
|
|
72
74
|
` && git add .` +
|
|
73
75
|
` && underpost cmt . ci engine-core-conf 'Update ${_confName} conf'` +
|
|
74
76
|
` && underpost push . ${privateGitUri}`,
|
|
77
|
+
{
|
|
78
|
+
silent: true,
|
|
79
|
+
},
|
|
75
80
|
);
|
|
76
81
|
}
|
|
77
82
|
process.exit(0);
|
package/bin/deploy.js
CHANGED
|
@@ -24,10 +24,8 @@ import {
|
|
|
24
24
|
buildCliDoc,
|
|
25
25
|
} from '../src/server/conf.js';
|
|
26
26
|
import { buildClient } from '../src/server/client-build.js';
|
|
27
|
-
import { DefaultConf } from '../conf.js';
|
|
28
27
|
import colors from 'colors';
|
|
29
28
|
import { program } from '../src/cli/index.js';
|
|
30
|
-
import Dns, { getLocalIPv4Address } from '../src/server/dns.js';
|
|
31
29
|
import { timer } from '../src/client/components/core/CommonJs.js';
|
|
32
30
|
|
|
33
31
|
colors.enable();
|
|
@@ -598,71 +596,6 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
598
596
|
break;
|
|
599
597
|
}
|
|
600
598
|
|
|
601
|
-
case 'update-default-conf': {
|
|
602
|
-
const defaultServer = DefaultConf.server['default.net']['/'];
|
|
603
|
-
let confName = process.argv[3];
|
|
604
|
-
let defaultConf = false;
|
|
605
|
-
if (confName === 'dd-github-pages') {
|
|
606
|
-
const host = `${process.env.GITHUB_USERNAME ?? 'underpostnet'}.github.io`;
|
|
607
|
-
const path = '/pwa-microservices-template-ghpkg';
|
|
608
|
-
DefaultConf.server = {
|
|
609
|
-
[host]: { [path]: defaultServer },
|
|
610
|
-
};
|
|
611
|
-
DefaultConf.server[host][path].apiBaseProxyPath = '/';
|
|
612
|
-
DefaultConf.server[host][path].apiBaseHost = 'www.nexodev.org';
|
|
613
|
-
defaultConf = true;
|
|
614
|
-
} else if (confName === 'template') {
|
|
615
|
-
const host = 'default.net';
|
|
616
|
-
const path = '/';
|
|
617
|
-
DefaultConf.server[host][path].valkey = {
|
|
618
|
-
port: 6379,
|
|
619
|
-
host: 'valkey-service.default.svc.cluster.local',
|
|
620
|
-
};
|
|
621
|
-
// mongodb-0.mongodb-service
|
|
622
|
-
DefaultConf.server[host][path].db.host = 'mongodb://mongodb-service:27017';
|
|
623
|
-
defaultConf = true;
|
|
624
|
-
} else if (confName && fs.existsSync(`./engine-private/conf/${confName}`)) {
|
|
625
|
-
DefaultConf.client = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.client.json`, 'utf8'));
|
|
626
|
-
DefaultConf.server = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.server.json`, 'utf8'));
|
|
627
|
-
DefaultConf.ssr = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.ssr.json`, 'utf8'));
|
|
628
|
-
// DefaultConf.cron = JSON.parse(fs.readFileSync(`./engine-private/conf/${confName}/conf.cron.json`, 'utf8'));
|
|
629
|
-
|
|
630
|
-
for (const host of Object.keys(DefaultConf.server)) {
|
|
631
|
-
for (const path of Object.keys(DefaultConf.server[host])) {
|
|
632
|
-
DefaultConf.server[host][path].db = defaultServer.db;
|
|
633
|
-
DefaultConf.server[host][path].mailer = defaultServer.mailer;
|
|
634
|
-
|
|
635
|
-
delete DefaultConf.server[host][path]._wp_client;
|
|
636
|
-
delete DefaultConf.server[host][path]._wp_git;
|
|
637
|
-
delete DefaultConf.server[host][path]._wp_directory;
|
|
638
|
-
delete DefaultConf.server[host][path].wp;
|
|
639
|
-
delete DefaultConf.server[host][path].git;
|
|
640
|
-
delete DefaultConf.server[host][path].directory;
|
|
641
|
-
}
|
|
642
|
-
}
|
|
643
|
-
}
|
|
644
|
-
const sepRender = '/**/';
|
|
645
|
-
const confRawPaths = fs.readFileSync('./conf.js', 'utf8').split(sepRender);
|
|
646
|
-
confRawPaths[1] = `${JSON.stringify(DefaultConf)};`;
|
|
647
|
-
const targetConfPath = `./conf${defaultConf ? '' : `.${confName}`}.js`;
|
|
648
|
-
fs.writeFileSync(targetConfPath, confRawPaths.join(sepRender), 'utf8');
|
|
649
|
-
shellExec(`prettier --write ${targetConfPath}`);
|
|
650
|
-
|
|
651
|
-
switch (confName) {
|
|
652
|
-
case 'dd-github-pages':
|
|
653
|
-
{
|
|
654
|
-
if (fs.exists(`./engine-private/conf/${confName}`)) fs.removeSync(`./engine-private/conf/${confName}`);
|
|
655
|
-
shellExec(`node bin new --deploy-id ${confName}`);
|
|
656
|
-
}
|
|
657
|
-
break;
|
|
658
|
-
|
|
659
|
-
default:
|
|
660
|
-
break;
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
break;
|
|
664
|
-
}
|
|
665
|
-
|
|
666
599
|
case 'maas-db': {
|
|
667
600
|
// DROP, ALTER, CREATE, WITH ENCRYPTED
|
|
668
601
|
// sudo -u <user> -h <host> psql <db-name>
|
|
@@ -925,7 +858,7 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
925
858
|
shellExec(`sudo podman pull ghcr.io/astral-sh/uv:0.5.11`);
|
|
926
859
|
shellExec(`sudo rm -rf ${path}/${imageName.replace(':', '_')}.tar`);
|
|
927
860
|
const args = [
|
|
928
|
-
`node bin
|
|
861
|
+
`node bin image --build --path ${path}/backend/`,
|
|
929
862
|
`--image-name=${imageName} --image-path=${path}`,
|
|
930
863
|
`--podman-save --${process.argv.includes('kubeadm') ? 'kubeadm' : 'kind'}-load --reset`,
|
|
931
864
|
];
|
|
@@ -937,7 +870,7 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
937
870
|
shellExec(`sudo podman pull docker.io/library/nginx:1`);
|
|
938
871
|
shellExec(`sudo rm -rf ${path}/${imageName.replace(':', '_')}.tar`);
|
|
939
872
|
const args = [
|
|
940
|
-
`node bin
|
|
873
|
+
`node bin image --build --path ${path}/frontend/`,
|
|
941
874
|
`--image-name=${imageName} --image-path=${path}`,
|
|
942
875
|
`--podman-save --${process.argv.includes('kubeadm') ? 'kubeadm' : 'kind'}-load --reset`,
|
|
943
876
|
];
|
package/cli.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
## underpost ci/cd cli v2.
|
|
1
|
+
## underpost ci/cd cli v2.95.1
|
|
2
2
|
|
|
3
3
|
### Usage: `underpost [options] [command]`
|
|
4
4
|
```
|
|
@@ -21,8 +21,7 @@ Commands:
|
|
|
21
21
|
cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
|
|
22
22
|
deploy [options] [deploy-list] [env] Manages application deployments, defaulting to deploying development pods.
|
|
23
23
|
secret [options] <platform> Manages secrets for various platforms.
|
|
24
|
-
|
|
25
|
-
dockerfile-pull-base-images [options] Pulls required Underpost Dockerfile base images and optionally loads them into clusters.
|
|
24
|
+
image [options] Manages Docker images, including building, saving, and loading into Kubernetes clusters.
|
|
26
25
|
install Quickly imports Underpost npm dependencies by copying them.
|
|
27
26
|
db [options] <deploy-list> Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration.
|
|
28
27
|
metadata [options] [deploy-id] [host] [path] Manages cluster metadata operations, including import and export.
|
|
@@ -32,7 +31,7 @@ Commands:
|
|
|
32
31
|
test [options] [deploy-list] Manages and runs tests, defaulting to the current Underpost default test suite.
|
|
33
32
|
monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
|
|
34
33
|
ssh [options]
|
|
35
|
-
run [options] <runner-id> [path] Runs
|
|
34
|
+
run [options] <runner-id> [path] Runs specified scripts using various runners.
|
|
36
35
|
lxd [options] Manages LXD containers and virtual machines.
|
|
37
36
|
baremetal [options] [workflow-id] [hostname] [ip-address] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
|
|
38
37
|
help [command] display help for command
|
|
@@ -49,24 +48,28 @@ Commands:
|
|
|
49
48
|
Initializes a new Underpost project, service, or configuration.
|
|
50
49
|
|
|
51
50
|
Arguments:
|
|
52
|
-
app-name
|
|
51
|
+
app-name The name of the new project.
|
|
53
52
|
|
|
54
53
|
Options:
|
|
55
|
-
--deploy-id <deploy-id>
|
|
56
|
-
--sub-conf <sub-conf>
|
|
57
|
-
--cluster
|
|
58
|
-
|
|
59
|
-
--build-repos
|
|
60
|
-
--build
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
54
|
+
--deploy-id <deploy-id> Crete deploy ID conf env files
|
|
55
|
+
--sub-conf <sub-conf> Create sub conf env files
|
|
56
|
+
--cluster Create deploy ID cluster files and sync to
|
|
57
|
+
current cluster
|
|
58
|
+
--build-repos Create deploy ID repositories
|
|
59
|
+
--build Build the deployment to
|
|
60
|
+
pwa-microservices-template (requires
|
|
61
|
+
--deploy-id)
|
|
62
|
+
--clean-template Clean the build directory
|
|
63
|
+
(pwa-microservices-template)
|
|
64
|
+
--sync-conf Sync configuration to private repositories
|
|
65
|
+
(requires --deploy-id)
|
|
66
|
+
--purge Remove deploy ID conf and all related
|
|
67
|
+
repositories (requires --deploy-id)
|
|
68
|
+
--dev Sets the development cli context
|
|
69
|
+
--default-conf Create default deploy ID conf env files
|
|
70
|
+
--conf-workflow-id <workflow-id> Set custom configuration workflow ID for
|
|
71
|
+
conf generation
|
|
72
|
+
-h, --help display help for command
|
|
70
73
|
|
|
71
74
|
```
|
|
72
75
|
|
|
@@ -483,14 +486,22 @@ Options:
|
|
|
483
486
|
```
|
|
484
487
|
|
|
485
488
|
|
|
486
|
-
### `
|
|
489
|
+
### `image` :
|
|
487
490
|
```
|
|
488
|
-
Usage: underpost
|
|
491
|
+
Usage: underpost image [options]
|
|
489
492
|
|
|
490
|
-
|
|
491
|
-
|
|
493
|
+
Manages Docker images, including building, saving, and loading into Kubernetes
|
|
494
|
+
clusters.
|
|
492
495
|
|
|
493
496
|
Options:
|
|
497
|
+
--build Builds a Docker image using Podman,
|
|
498
|
+
optionally saves it as a tar archive,
|
|
499
|
+
and loads it into a specified Kubernetes
|
|
500
|
+
cluster (Kind, Kubeadm, or K3s).
|
|
501
|
+
--ls Lists all available Underpost Dockerfile
|
|
502
|
+
images.
|
|
503
|
+
--rm <image-id> Removes specified Underpost Dockerfile
|
|
504
|
+
images.
|
|
494
505
|
--path [path] The path to the Dockerfile directory.
|
|
495
506
|
--image-name [image-name] Sets a custom name for the Docker image.
|
|
496
507
|
--image-path [image-path] Sets the output path for the tar image
|
|
@@ -498,10 +509,20 @@ Options:
|
|
|
498
509
|
--dockerfile-name [dockerfile-name] Sets a custom name for the Dockerfile.
|
|
499
510
|
--podman-save Exports the built image as a tar file
|
|
500
511
|
using Podman.
|
|
501
|
-
--
|
|
502
|
-
|
|
503
|
-
--
|
|
504
|
-
|
|
512
|
+
--pull-base Pulls base images and builds a
|
|
513
|
+
"rockylinux9-underpost" image.
|
|
514
|
+
--spec Get current cached list of container
|
|
515
|
+
images used by all pods
|
|
516
|
+
--namespace <namespace> Kubernetes namespace for image
|
|
517
|
+
operations (defaults to "default").
|
|
518
|
+
--kind Set kind cluster env image context
|
|
519
|
+
management.
|
|
520
|
+
--kubeadm Set kubeadm cluster env image context
|
|
521
|
+
management.
|
|
522
|
+
--k3s Set k3s cluster env image context
|
|
523
|
+
management.
|
|
524
|
+
--node-name Set node name for kubeadm or k3s cluster
|
|
525
|
+
env image context management.
|
|
505
526
|
--secrets Includes Dockerfile environment secrets
|
|
506
527
|
during the build.
|
|
507
528
|
--secrets-path [secrets-path] Specifies a custom path for Dockerfile
|
|
@@ -509,31 +530,13 @@ Options:
|
|
|
509
530
|
--reset Performs a build without using the
|
|
510
531
|
cache.
|
|
511
532
|
--dev Use development mode.
|
|
512
|
-
--
|
|
533
|
+
--pull-dockerhub <dockerhub-image> Sets a custom Docker Hub image for base
|
|
534
|
+
image pulls.
|
|
513
535
|
-h, --help display help for command
|
|
514
536
|
|
|
515
537
|
```
|
|
516
538
|
|
|
517
539
|
|
|
518
|
-
### `dockerfile-pull-base-images` :
|
|
519
|
-
```
|
|
520
|
-
Usage: underpost dockerfile-pull-base-images [options]
|
|
521
|
-
|
|
522
|
-
Pulls required Underpost Dockerfile base images and optionally loads them into
|
|
523
|
-
clusters.
|
|
524
|
-
|
|
525
|
-
Options:
|
|
526
|
-
--path [path] The path to the Dockerfile directory.
|
|
527
|
-
--kind-load Imports the pulled image into a Kind cluster.
|
|
528
|
-
--kubeadm-load Imports the pulled image into a Kubeadm cluster.
|
|
529
|
-
--version Sets a custom version for the base images.
|
|
530
|
-
--k3s-load Loads the image into a K3s cluster.
|
|
531
|
-
--dev Use development mode.
|
|
532
|
-
-h, --help display help for command
|
|
533
|
-
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
|
|
537
540
|
### `install` :
|
|
538
541
|
```
|
|
539
542
|
Usage: underpost install [options]
|
|
@@ -554,44 +557,27 @@ Manages database operations with support for MariaDB and MongoDB, including
|
|
|
554
557
|
import/export, multi-pod targeting, and Git integration.
|
|
555
558
|
|
|
556
559
|
Arguments:
|
|
557
|
-
deploy-list
|
|
558
|
-
"default-a,default-b").
|
|
560
|
+
deploy-list A comma-separated list of deployment IDs (e.g., "default-a,default-b").
|
|
559
561
|
|
|
560
562
|
Options:
|
|
561
|
-
--import
|
|
562
|
-
|
|
563
|
-
--
|
|
564
|
-
|
|
565
|
-
--
|
|
566
|
-
|
|
567
|
-
--
|
|
568
|
-
|
|
569
|
-
--
|
|
570
|
-
|
|
571
|
-
--
|
|
572
|
-
|
|
573
|
-
--
|
|
574
|
-
|
|
575
|
-
--
|
|
576
|
-
|
|
577
|
-
--
|
|
578
|
-
|
|
579
|
-
--out-path <out-path> Specifies a custom output path for backups.
|
|
580
|
-
--drop Drops the specified databases or collections
|
|
581
|
-
before importing.
|
|
582
|
-
--preserveUUID Preserves UUIDs during database import
|
|
583
|
-
operations.
|
|
584
|
-
--git Enables Git integration for backup version
|
|
585
|
-
control (clone, pull, commit, push to GitHub).
|
|
586
|
-
--hosts <hosts> Comma-separated list of database hosts to filter
|
|
587
|
-
operations.
|
|
588
|
-
--paths <paths> Comma-separated list of paths to filter database
|
|
589
|
-
operations.
|
|
590
|
-
--ns <ns-name> Kubernetes namespace context for database
|
|
591
|
-
operations (defaults to "default").
|
|
592
|
-
--dry-run Simulates operations without executing them
|
|
593
|
-
(useful for testing).
|
|
594
|
-
-h, --help display help for command
|
|
563
|
+
--import Imports container backups from specified repositories.
|
|
564
|
+
--export Exports container backups to specified repositories.
|
|
565
|
+
--pod-name <pod-name> Comma-separated list of pod names or patterns (supports wildcards like "mariadb-*").
|
|
566
|
+
--node-name <node-name> Comma-separated list of node names to filter pods by their node placement.
|
|
567
|
+
--label-selector <selector> Kubernetes label selector for filtering pods (e.g., "app=mariadb").
|
|
568
|
+
--all-pods Target all matching pods instead of just the first one.
|
|
569
|
+
--primary-pod Automatically detect and use MongoDB primary pod (MongoDB only).
|
|
570
|
+
--stats Display database statistics (collection/table names with document/row counts).
|
|
571
|
+
--collections <collections> Comma-separated list of database collections to operate on.
|
|
572
|
+
--out-path <out-path> Specifies a custom output path for backups.
|
|
573
|
+
--drop Drops the specified databases or collections before importing.
|
|
574
|
+
--preserveUUID Preserves UUIDs during database import operations.
|
|
575
|
+
--git Enables Git integration for backup version control (clone, pull, commit, push to GitHub).
|
|
576
|
+
--hosts <hosts> Comma-separated list of database hosts to filter operations.
|
|
577
|
+
--paths <paths> Comma-separated list of paths to filter database operations.
|
|
578
|
+
--ns <ns-name> Kubernetes namespace context for database operations (defaults to "default").
|
|
579
|
+
--macro-rollback-export <n-commits-reset> Exports a macro rollback script that reverts the last n commits (Git integration required).
|
|
580
|
+
-h, --help display help for command
|
|
595
581
|
|
|
596
582
|
```
|
|
597
583
|
|
|
@@ -734,9 +720,12 @@ Options:
|
|
|
734
720
|
--single Disables recurrence, running the monitor script
|
|
735
721
|
only once.
|
|
736
722
|
--replicas <replicas> Sets a custom number of replicas for monitoring.
|
|
723
|
+
Defaults to 1.
|
|
737
724
|
--type <type> Sets a custom monitor type.
|
|
738
725
|
--sync Synchronizes with current proxy deployments and
|
|
739
726
|
traffic configurations.
|
|
727
|
+
--namespace <namespace> Sets the Kubernetes namespace for the
|
|
728
|
+
deployment. Defaults to "default".
|
|
740
729
|
-h, --help display help for command
|
|
741
730
|
|
|
742
731
|
```
|
|
@@ -774,6 +763,11 @@ Options:
|
|
|
774
763
|
storage.
|
|
775
764
|
--disable-password Disables password authentication for the SSH
|
|
776
765
|
session.
|
|
766
|
+
--key-test Tests the SSH key using ssh-keygen.
|
|
767
|
+
--stop Stops the SSH service.
|
|
768
|
+
--status Checks the status of the SSH service.
|
|
769
|
+
--connect-uri Displays the connection URI.
|
|
770
|
+
--copy Copies the connection URI to clipboard.
|
|
777
771
|
-h, --help display help for command
|
|
778
772
|
|
|
779
773
|
```
|
|
@@ -783,11 +777,11 @@ Options:
|
|
|
783
777
|
```
|
|
784
778
|
Usage: underpost run [options] <runner-id> [path]
|
|
785
779
|
|
|
786
|
-
Runs
|
|
780
|
+
Runs specified scripts using various runners.
|
|
787
781
|
|
|
788
782
|
Arguments:
|
|
789
|
-
runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, underpost-config, gpu-env, tf-gpu-test, dev-cluster, metadata, svc-ls, svc-rm, ssh-cluster-info, dev-hosts-expose, dev-hosts-restore, cluster-build, template-deploy, template-deploy-image, clean, pull, release-deploy, ssh-deploy, ide, sync, tz, cron, get-proxy, instance-promote, instance, ls-deployments,
|
|
790
|
-
path The
|
|
783
|
+
runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, underpost-config, gpu-env, tf-gpu-test, dev-cluster, metadata, svc-ls, svc-rm, ssh-cluster-info, dev-hosts-expose, dev-hosts-restore, cluster-build, template-deploy, template-deploy-image, clean, pull, release-deploy, ssh-deploy, ide, sync, stop, ssh-deploy-stop, tz, cron, get-proxy, instance-promote, instance, ls-deployments, host-update, dd-container, ip-info, monitor, db-client, git-conf, promote, metrics, cluster, deploy, disk-clean, disk-usage, dev, service, sh, log, release-cmt, sync-replica, tf-vae-test, deploy-job.
|
|
784
|
+
path The input value, identifier, or path for the operation.
|
|
791
785
|
|
|
792
786
|
Options:
|
|
793
787
|
--command <command-array> Array of commands to run.
|
|
@@ -813,9 +807,7 @@ Options:
|
|
|
813
807
|
--api-version <version> Sets the API version for the job manifest in deploy-job.
|
|
814
808
|
--labels <labels> Optional: Specifies a comma-separated list of key-value pairs for labels (e.g., "app=my-app,env=prod").
|
|
815
809
|
--claim-name <name> Optional: Specifies the claim name for volume mounting in deploy-job.
|
|
816
|
-
--kind <kind-type>
|
|
817
|
-
--kubeadm Flag to indicate Kubeadm cluster type context
|
|
818
|
-
--k3s Flag to indicate K3s cluster type context
|
|
810
|
+
--kind-type <kind-type> Specifies the kind of Kubernetes resource (e.g., Job, Deployment) for deploy-job.
|
|
819
811
|
--force Forces operation, overriding any warnings or conflicts.
|
|
820
812
|
--tls Enables TLS for the runner execution.
|
|
821
813
|
--reset Resets the runner state before execution.
|
|
@@ -830,6 +822,16 @@ Options:
|
|
|
830
822
|
--expose Enables service exposure for the runner execution.
|
|
831
823
|
--conf-server-path <conf-server-path> Sets a custom configuration server path.
|
|
832
824
|
--underpost-root <underpost-root> Sets a custom Underpost root path.
|
|
825
|
+
--cron-jobs <jobs> Comma-separated list of cron jobs to run before executing the script.
|
|
826
|
+
--timezone <timezone> Sets the timezone for the runner execution.
|
|
827
|
+
--kubeadm Sets the kubeadm cluster context for the runner execution.
|
|
828
|
+
--k3s Sets the k3s cluster context for the runner execution.
|
|
829
|
+
--kind Sets the kind cluster context for the runner execution.
|
|
830
|
+
--log-type <log-type> Sets the log type for the runner execution.
|
|
831
|
+
--deploy-id <deploy-id> Sets deploy id context for the runner execution.
|
|
832
|
+
--user <user> Sets user context for the runner execution.
|
|
833
|
+
--hosts <hosts> Comma-separated list of hosts for the runner execution.
|
|
834
|
+
--instance-id <instance-id> Sets instance id context for the runner execution.
|
|
833
835
|
-h, --help display help for command
|
|
834
836
|
|
|
835
837
|
```
|
|
@@ -873,8 +875,13 @@ Options:
|
|
|
873
875
|
--delete-expose <vm-name-ports> Removes exposed ports on a VM (e.g.,
|
|
874
876
|
"k8s-control:80,443"). Multiple VM-port
|
|
875
877
|
pairs can be comma-separated.
|
|
876
|
-
--
|
|
877
|
-
|
|
878
|
+
--workflow-id <workflow-id> Sets the workflow ID context for LXD
|
|
879
|
+
operations.
|
|
880
|
+
--vm-id <vm-id> Sets the VM ID context for LXD operations.
|
|
881
|
+
--deploy-id <deploy-id> Sets the deployment ID context for LXD
|
|
882
|
+
operations.
|
|
883
|
+
--namespace <namespace> Kubernetes namespace for LXD operations
|
|
884
|
+
(defaults to "default").
|
|
878
885
|
-h, --help display help for command
|
|
879
886
|
|
|
880
887
|
```
|
|
@@ -17,7 +17,7 @@ spec:
|
|
|
17
17
|
spec:
|
|
18
18
|
containers:
|
|
19
19
|
- name: dd-default-development-blue
|
|
20
|
-
image: localhost/rockylinux9-underpost:v2.
|
|
20
|
+
image: localhost/rockylinux9-underpost:v2.95.1
|
|
21
21
|
# resources:
|
|
22
22
|
# requests:
|
|
23
23
|
# memory: "124Ki"
|
|
@@ -32,7 +32,7 @@ spec:
|
|
|
32
32
|
npm install -g npm@11.2.0 &&
|
|
33
33
|
npm install -g underpost &&
|
|
34
34
|
cd $(underpost root)/underpost &&
|
|
35
|
-
node bin
|
|
35
|
+
node bin new --default-conf --conf-workflow-id template &&
|
|
36
36
|
mkdir -p /home/dd &&
|
|
37
37
|
cd /home/dd &&
|
|
38
38
|
underpost new engine
|
|
@@ -100,7 +100,7 @@ spec:
|
|
|
100
100
|
spec:
|
|
101
101
|
containers:
|
|
102
102
|
- name: dd-default-development-green
|
|
103
|
-
image: localhost/rockylinux9-underpost:v2.
|
|
103
|
+
image: localhost/rockylinux9-underpost:v2.95.1
|
|
104
104
|
# resources:
|
|
105
105
|
# requests:
|
|
106
106
|
# memory: "124Ki"
|
|
@@ -115,7 +115,7 @@ spec:
|
|
|
115
115
|
npm install -g npm@11.2.0 &&
|
|
116
116
|
npm install -g underpost &&
|
|
117
117
|
cd $(underpost root)/underpost &&
|
|
118
|
-
node bin
|
|
118
|
+
node bin new --default-conf --conf-workflow-id template &&
|
|
119
119
|
mkdir -p /home/dd &&
|
|
120
120
|
cd /home/dd &&
|
|
121
121
|
underpost new engine
|
|
@@ -18,7 +18,7 @@ spec:
|
|
|
18
18
|
spec:
|
|
19
19
|
containers:
|
|
20
20
|
- name: dd-test-development-blue
|
|
21
|
-
image: localhost/rockylinux9-underpost:v2.
|
|
21
|
+
image: localhost/rockylinux9-underpost:v2.95.1
|
|
22
22
|
|
|
23
23
|
command:
|
|
24
24
|
- /bin/sh
|
|
@@ -103,7 +103,7 @@ spec:
|
|
|
103
103
|
spec:
|
|
104
104
|
containers:
|
|
105
105
|
- name: dd-test-development-green
|
|
106
|
-
image: localhost/rockylinux9-underpost:v2.
|
|
106
|
+
image: localhost/rockylinux9-underpost:v2.95.1
|
|
107
107
|
|
|
108
108
|
command:
|
|
109
109
|
- /bin/sh
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"type": "module",
|
|
3
3
|
"main": "src/index.js",
|
|
4
4
|
"name": "@underpostnet/underpost",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.95.1",
|
|
6
6
|
"description": "pwa api rest template",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"start": "env-cmd -f .env.production node --max-old-space-size=8192 src/server",
|