@underpostnet/underpost 2.96.0 → 2.97.0
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/.dockerignore +1 -2
- package/.env.development +0 -3
- package/.env.production +0 -3
- package/.env.test +0 -3
- package/.prettierignore +1 -2
- package/README.md +31 -31
- package/baremetal/commission-workflows.json +64 -17
- package/baremetal/packer-workflows.json +11 -0
- package/cli.md +72 -40
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +4 -4
- package/package.json +3 -2
- package/packer/images/Rocky9Amd64/rocky9.pkr.hcl +6 -2
- package/packer/images/Rocky9Arm64/Makefile +69 -0
- package/packer/images/Rocky9Arm64/README.md +122 -0
- package/packer/images/Rocky9Arm64/http/rocky9.ks.pkrtpl.hcl +114 -0
- package/packer/images/Rocky9Arm64/rocky9.pkr.hcl +171 -0
- package/scripts/disk-clean.sh +128 -187
- package/scripts/ipxe-setup.sh +197 -0
- package/scripts/packer-init-vars-file.sh +16 -6
- package/scripts/packer-setup.sh +270 -33
- package/scripts/ports-ls.sh +31 -0
- package/scripts/quick-tftp.sh +19 -0
- package/src/api/document/document.controller.js +15 -0
- package/src/api/document/document.model.js +14 -0
- package/src/api/document/document.router.js +1 -0
- package/src/api/document/document.service.js +61 -3
- package/src/cli/baremetal.js +1716 -439
- package/src/cli/cloud-init.js +354 -231
- package/src/cli/cluster.js +1 -1
- package/src/cli/db.js +22 -0
- package/src/cli/deploy.js +6 -2
- package/src/cli/image.js +1 -0
- package/src/cli/index.js +40 -36
- package/src/cli/run.js +77 -11
- package/src/cli/ssh.js +1 -1
- package/src/client/components/core/Input.js +3 -1
- package/src/client/components/core/Panel.js +161 -15
- package/src/client/components/core/PanelForm.js +198 -35
- package/src/client/components/core/Translate.js +11 -0
- package/src/client/services/document/document.service.js +19 -0
- package/src/index.js +2 -1
- package/src/server/dns.js +8 -2
- package/src/server/start.js +14 -6
- package/manifests/mariadb/config.yaml +0 -10
- package/manifests/mariadb/secret.yaml +0 -8
package/.dockerignore
CHANGED
package/.env.development
CHANGED
|
@@ -35,12 +35,9 @@ MAAS_ADMIN_EMAIL=admin@default.net
|
|
|
35
35
|
MAAS_ADMIN_PASS=changethis
|
|
36
36
|
TFTP_ROOT=changethis
|
|
37
37
|
NETMASK=255.255.255.0
|
|
38
|
-
RPI4_INTERFACE_NAME=changethis
|
|
39
|
-
RPI4_IP=192.168.1.192
|
|
40
38
|
MAAS_DNS=8.8.8.8
|
|
41
39
|
MAAS_NTP_SERVER=changethis
|
|
42
40
|
NFS_EXPORT_PATH=changethis
|
|
43
|
-
RPI4_MAC_ADDRESS=changethis
|
|
44
41
|
NVIDIA_API_KEY=changethis
|
|
45
42
|
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
46
43
|
DEFAULT_ADMIN_PASSWORD=changethis
|
package/.env.production
CHANGED
|
@@ -36,12 +36,9 @@ MAAS_ADMIN_EMAIL=admin@default.net
|
|
|
36
36
|
MAAS_ADMIN_PASS=changethis
|
|
37
37
|
TFTP_ROOT=changethis
|
|
38
38
|
NETMASK=255.255.255.0
|
|
39
|
-
RPI4_INTERFACE_NAME=changethis
|
|
40
|
-
RPI4_IP=192.168.1.192
|
|
41
39
|
MAAS_DNS=8.8.8.8
|
|
42
40
|
MAAS_NTP_SERVER=changethis
|
|
43
41
|
NFS_EXPORT_PATH=changethis
|
|
44
|
-
RPI4_MAC_ADDRESS=changethis
|
|
45
42
|
NVIDIA_API_KEY=changethis
|
|
46
43
|
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
47
44
|
DEFAULT_ADMIN_PASSWORD=changethis
|
package/.env.test
CHANGED
|
@@ -35,12 +35,9 @@ MAAS_ADMIN_EMAIL=admin@default.net
|
|
|
35
35
|
MAAS_ADMIN_PASS=changethis
|
|
36
36
|
TFTP_ROOT=changethis
|
|
37
37
|
NETMASK=255.255.255.0
|
|
38
|
-
RPI4_INTERFACE_NAME=changethis
|
|
39
|
-
RPI4_IP=192.168.1.192
|
|
40
38
|
MAAS_DNS=8.8.8.8
|
|
41
39
|
MAAS_NTP_SERVER=changethis
|
|
42
40
|
NFS_EXPORT_PATH=changethis
|
|
43
|
-
RPI4_MAC_ADDRESS=changethis
|
|
44
41
|
NVIDIA_API_KEY=changethis
|
|
45
42
|
DEFAULT_ADMIN_EMAIL=admin@default.net
|
|
46
43
|
DEFAULT_ADMIN_PASSWORD=changethis
|
package/.prettierignore
CHANGED
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.97.0) [](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,43 +66,43 @@ 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.97.0
|
|
70
70
|
|
|
71
71
|
### Usage: `underpost [options] [command]`
|
|
72
72
|
```
|
|
73
73
|
Options:
|
|
74
|
-
-V, --version
|
|
75
|
-
-h, --help
|
|
74
|
+
-V, --version output the version number
|
|
75
|
+
-h, --help display help for command
|
|
76
76
|
|
|
77
77
|
Commands:
|
|
78
|
-
new [options] [app-name]
|
|
79
|
-
start [options] <deploy-id> [env]
|
|
80
|
-
clone [options] <uri>
|
|
81
|
-
pull [options] <path> <uri>
|
|
82
|
-
cmt [options] [path] [commit-type] [module-tag] [message]
|
|
83
|
-
push [options] <path> <uri>
|
|
84
|
-
env [deploy-id] [env] [subConf]
|
|
85
|
-
static [options]
|
|
86
|
-
config [options] <operator> [key] [value]
|
|
87
|
-
root
|
|
88
|
-
ip [options] [ips]
|
|
89
|
-
cluster [options] [pod-name]
|
|
90
|
-
deploy [options] [deploy-list] [env]
|
|
91
|
-
secret [options] <platform>
|
|
92
|
-
image [options]
|
|
93
|
-
install
|
|
94
|
-
db [options]
|
|
95
|
-
metadata [options] [deploy-id] [host] [path]
|
|
96
|
-
script [options] <operator> <script-name> [script-value]
|
|
97
|
-
cron [options] [deploy-list] [job-list]
|
|
98
|
-
fs [options] [path]
|
|
99
|
-
test [options] [deploy-list]
|
|
100
|
-
monitor [options] <deploy-id> [env]
|
|
78
|
+
new [options] [app-name] Initializes a new Underpost project, service, or configuration.
|
|
79
|
+
start [options] <deploy-id> [env] Initiates application servers, build pipelines, or other defined services based on the deployment ID.
|
|
80
|
+
clone [options] <uri> Clones a specified GitHub repository into the current directory.
|
|
81
|
+
pull [options] <path> <uri> Pulls the latest changes from a specified GitHub repository.
|
|
82
|
+
cmt [options] [path] [commit-type] [module-tag] [message] Manages commits to a GitHub repository, supporting various commit types and options.
|
|
83
|
+
push [options] <path> <uri> Pushes committed changes from a local repository to a remote GitHub repository.
|
|
84
|
+
env [deploy-id] [env] [subConf] Sets environment variables and configurations related to a specific deployment ID.
|
|
85
|
+
static [options] Manages static build of page, bundles, and documentation with comprehensive customization options.
|
|
86
|
+
config [options] <operator> [key] [value] Manages Underpost configurations using various operators.
|
|
87
|
+
root Displays the root path of the npm installation.
|
|
88
|
+
ip [options] [ips] Displays the current public machine IP addresses.
|
|
89
|
+
cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
|
|
90
|
+
deploy [options] [deploy-list] [env] Manages application deployments, defaulting to deploying development pods.
|
|
91
|
+
secret [options] <platform> Manages secrets for various platforms.
|
|
92
|
+
image [options] Manages Docker images, including building, saving, and loading into Kubernetes clusters.
|
|
93
|
+
install Quickly imports Underpost npm dependencies by copying them.
|
|
94
|
+
db [options] [deploy-list] Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration.
|
|
95
|
+
metadata [options] [deploy-id] [host] [path] Manages cluster metadata operations, including import and export.
|
|
96
|
+
script [options] <operator> <script-name> [script-value] Supports a variety of built-in Underpost global scripts, their preset lifecycle events, and arbitrary custom scripts.
|
|
97
|
+
cron [options] [deploy-list] [job-list] Manages cron jobs, including initialization, execution, and configuration updates.
|
|
98
|
+
fs [options] [path] Manages file storage, defaulting to file upload operations.
|
|
99
|
+
test [options] [deploy-list] Manages and runs tests, defaulting to the current Underpost default test suite.
|
|
100
|
+
monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
|
|
101
101
|
ssh [options]
|
|
102
|
-
run [options] <runner-id> [path]
|
|
103
|
-
lxd [options]
|
|
104
|
-
baremetal [options] [workflow-id] [hostname] [ip-
|
|
105
|
-
help [command]
|
|
102
|
+
run [options] <runner-id> [path] Runs specified scripts using various runners.
|
|
103
|
+
lxd [options] Manages LXD containers and virtual machines.
|
|
104
|
+
baremetal [options] [workflow-id] [ip-address] [hostname] [ip-file-server] [ip-config] [netmask] [dns-server] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
|
|
105
|
+
help [command] display help for command
|
|
106
106
|
|
|
107
107
|
```
|
|
108
108
|
|
|
@@ -1,10 +1,38 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
2
|
+
"rpi4mbarm64-iso-ram": {
|
|
3
|
+
"type": "iso-ram",
|
|
4
|
+
"tftpPrefix": "rpi4mb",
|
|
5
|
+
"bootstrapHttpServerPort": 8888,
|
|
6
|
+
"isoUrl": "",
|
|
7
|
+
"menuentryStr": "UNDERPOST.NET UEFI/GRUB/MAAS RPi4 ISO-RAM commissioning (ARM64)",
|
|
8
|
+
"networkInterfaceName": "enabcm6e4ei0",
|
|
9
|
+
"chronyc": {
|
|
10
|
+
"timezone": "America/Santiago",
|
|
11
|
+
"chronyConfPath": "/etc/chrony/chrony.conf"
|
|
12
|
+
},
|
|
13
|
+
"firmwares": [
|
|
14
|
+
{
|
|
15
|
+
"url": "https://github.com/pftf/RPi4/releases/download/v1.41/RPi4_UEFI_Firmware_v1.41.zip",
|
|
16
|
+
"gateway": "192.168.1.1",
|
|
17
|
+
"subnet": "255.255.255.0"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"maas": {
|
|
21
|
+
"commissioning": {
|
|
22
|
+
"architecture": "arm64/hwe-24.04-edge",
|
|
23
|
+
"name": "ubuntu/noble"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"keyboard": {
|
|
27
|
+
"layout": "es"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"rpi4mbarm64-chroot": {
|
|
31
|
+
"type": "chroot",
|
|
32
|
+
"tftpPrefix": "rpi4mb",
|
|
33
|
+
"bootstrapHttpServerPort": 8888,
|
|
34
|
+
"menuentryStr": "UNDERPOST.NET UEFI/GRUB/MAAS RPi4 CHROOT commissioning (ARM64)",
|
|
6
35
|
"networkInterfaceName": "enabcm6e4ei0",
|
|
7
|
-
"netmask": "255.255.255.0",
|
|
8
36
|
"firmwares": [
|
|
9
37
|
{
|
|
10
38
|
"url": "https://github.com/pftf/RPi4/releases/download/v1.41/RPi4_UEFI_Firmware_v1.41.zip",
|
|
@@ -13,7 +41,7 @@
|
|
|
13
41
|
}
|
|
14
42
|
],
|
|
15
43
|
"chronyc": {
|
|
16
|
-
"timezone": "America/
|
|
44
|
+
"timezone": "America/Santiago",
|
|
17
45
|
"chronyConfPath": "/etc/chrony/chrony.conf"
|
|
18
46
|
},
|
|
19
47
|
"debootstrap": {
|
|
@@ -23,22 +51,41 @@
|
|
|
23
51
|
}
|
|
24
52
|
},
|
|
25
53
|
"maas": {
|
|
26
|
-
"
|
|
54
|
+
"commissioning": {
|
|
27
55
|
"architecture": "arm64/ga-24.04",
|
|
28
56
|
"name": "ubuntu/noble"
|
|
29
57
|
}
|
|
30
58
|
},
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
59
|
+
"keyboard": {
|
|
60
|
+
"layout": "es"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"rpi4mbarm64-iso-nfs": {
|
|
64
|
+
"type": "iso-nfs",
|
|
65
|
+
"tftpPrefix": "rpi4mb",
|
|
66
|
+
"bootstrapHttpServerPort": 8888,
|
|
67
|
+
"isoUrl": "",
|
|
68
|
+
"menuentryStr": "UNDERPOST.NET UEFI/GRUB/MAAS RPi4 ISO-NFS commissioning (ARM64)",
|
|
69
|
+
"networkInterfaceName": "enabcm6e4ei0",
|
|
70
|
+
"chronyc": {
|
|
71
|
+
"timezone": "America/Santiago",
|
|
72
|
+
"chronyConfPath": "/etc/chrony/chrony.conf"
|
|
73
|
+
},
|
|
74
|
+
"firmwares": [
|
|
75
|
+
{
|
|
76
|
+
"url": "https://github.com/pftf/RPi4/releases/download/v1.41/RPi4_UEFI_Firmware_v1.41.zip",
|
|
77
|
+
"gateway": "192.168.1.1",
|
|
78
|
+
"subnet": "255.255.255.0"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"maas": {
|
|
82
|
+
"commissioning": {
|
|
83
|
+
"architecture": "arm64/hwe-24.04-edge",
|
|
84
|
+
"name": "ubuntu/noble"
|
|
41
85
|
}
|
|
86
|
+
},
|
|
87
|
+
"keyboard": {
|
|
88
|
+
"layout": "es"
|
|
42
89
|
}
|
|
43
90
|
}
|
|
44
91
|
}
|
|
@@ -9,5 +9,16 @@
|
|
|
9
9
|
"filetype": "tgz",
|
|
10
10
|
"content": "rocky9.tar.gz"
|
|
11
11
|
}
|
|
12
|
+
},
|
|
13
|
+
"Rocky9Arm64": {
|
|
14
|
+
"dir": "packer/images/Rocky9Arm64",
|
|
15
|
+
"maas": {
|
|
16
|
+
"name": "custom/rocky9-arm64",
|
|
17
|
+
"title": "Rocky 9 Arm64 Custom",
|
|
18
|
+
"architecture": "arm64/generic",
|
|
19
|
+
"base_image": "rhel/9",
|
|
20
|
+
"filetype": "tgz",
|
|
21
|
+
"content": "rocky9.tar.gz"
|
|
22
|
+
}
|
|
12
23
|
}
|
|
13
24
|
}
|
package/cli.md
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
## underpost ci/cd cli v2.
|
|
1
|
+
## underpost ci/cd cli v2.97.0
|
|
2
2
|
|
|
3
3
|
### Usage: `underpost [options] [command]`
|
|
4
4
|
```
|
|
5
5
|
Options:
|
|
6
|
-
-V, --version
|
|
7
|
-
-h, --help
|
|
6
|
+
-V, --version output the version number
|
|
7
|
+
-h, --help display help for command
|
|
8
8
|
|
|
9
9
|
Commands:
|
|
10
|
-
new [options] [app-name]
|
|
11
|
-
start [options] <deploy-id> [env]
|
|
12
|
-
clone [options] <uri>
|
|
13
|
-
pull [options] <path> <uri>
|
|
14
|
-
cmt [options] [path] [commit-type] [module-tag] [message]
|
|
15
|
-
push [options] <path> <uri>
|
|
16
|
-
env [deploy-id] [env] [subConf]
|
|
17
|
-
static [options]
|
|
18
|
-
config [options] <operator> [key] [value]
|
|
19
|
-
root
|
|
20
|
-
ip [options] [ips]
|
|
21
|
-
cluster [options] [pod-name]
|
|
22
|
-
deploy [options] [deploy-list] [env]
|
|
23
|
-
secret [options] <platform>
|
|
24
|
-
image [options]
|
|
25
|
-
install
|
|
26
|
-
db [options]
|
|
27
|
-
metadata [options] [deploy-id] [host] [path]
|
|
28
|
-
script [options] <operator> <script-name> [script-value]
|
|
29
|
-
cron [options] [deploy-list] [job-list]
|
|
30
|
-
fs [options] [path]
|
|
31
|
-
test [options] [deploy-list]
|
|
32
|
-
monitor [options] <deploy-id> [env]
|
|
10
|
+
new [options] [app-name] Initializes a new Underpost project, service, or configuration.
|
|
11
|
+
start [options] <deploy-id> [env] Initiates application servers, build pipelines, or other defined services based on the deployment ID.
|
|
12
|
+
clone [options] <uri> Clones a specified GitHub repository into the current directory.
|
|
13
|
+
pull [options] <path> <uri> Pulls the latest changes from a specified GitHub repository.
|
|
14
|
+
cmt [options] [path] [commit-type] [module-tag] [message] Manages commits to a GitHub repository, supporting various commit types and options.
|
|
15
|
+
push [options] <path> <uri> Pushes committed changes from a local repository to a remote GitHub repository.
|
|
16
|
+
env [deploy-id] [env] [subConf] Sets environment variables and configurations related to a specific deployment ID.
|
|
17
|
+
static [options] Manages static build of page, bundles, and documentation with comprehensive customization options.
|
|
18
|
+
config [options] <operator> [key] [value] Manages Underpost configurations using various operators.
|
|
19
|
+
root Displays the root path of the npm installation.
|
|
20
|
+
ip [options] [ips] Displays the current public machine IP addresses.
|
|
21
|
+
cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
|
|
22
|
+
deploy [options] [deploy-list] [env] Manages application deployments, defaulting to deploying development pods.
|
|
23
|
+
secret [options] <platform> Manages secrets for various platforms.
|
|
24
|
+
image [options] Manages Docker images, including building, saving, and loading into Kubernetes clusters.
|
|
25
|
+
install Quickly imports Underpost npm dependencies by copying them.
|
|
26
|
+
db [options] [deploy-list] Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration.
|
|
27
|
+
metadata [options] [deploy-id] [host] [path] Manages cluster metadata operations, including import and export.
|
|
28
|
+
script [options] <operator> <script-name> [script-value] Supports a variety of built-in Underpost global scripts, their preset lifecycle events, and arbitrary custom scripts.
|
|
29
|
+
cron [options] [deploy-list] [job-list] Manages cron jobs, including initialization, execution, and configuration updates.
|
|
30
|
+
fs [options] [path] Manages file storage, defaulting to file upload operations.
|
|
31
|
+
test [options] [deploy-list] Manages and runs tests, defaulting to the current Underpost default test suite.
|
|
32
|
+
monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
|
|
33
33
|
ssh [options]
|
|
34
|
-
run [options] <runner-id> [path]
|
|
35
|
-
lxd [options]
|
|
36
|
-
baremetal [options] [workflow-id] [hostname] [ip-
|
|
37
|
-
help [command]
|
|
34
|
+
run [options] <runner-id> [path] Runs specified scripts using various runners.
|
|
35
|
+
lxd [options] Manages LXD containers and virtual machines.
|
|
36
|
+
baremetal [options] [workflow-id] [ip-address] [hostname] [ip-file-server] [ip-config] [netmask] [dns-server] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
|
|
37
|
+
help [command] display help for command
|
|
38
38
|
|
|
39
39
|
```
|
|
40
40
|
|
|
@@ -82,14 +82,20 @@ Initiates application servers, build pipelines, or other defined services based
|
|
|
82
82
|
on the deployment ID.
|
|
83
83
|
|
|
84
84
|
Arguments:
|
|
85
|
-
deploy-id
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
deploy-id The unique identifier for the deployment
|
|
86
|
+
configuration.
|
|
87
|
+
env Optional: The environment to start (e.g.,
|
|
88
|
+
"development", "production"). Defaults to
|
|
89
|
+
"development".
|
|
88
90
|
|
|
89
91
|
Options:
|
|
90
|
-
--run
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
--run Starts application servers and monitors their
|
|
93
|
+
health.
|
|
94
|
+
--build Triggers the client-side application build
|
|
95
|
+
process.
|
|
96
|
+
--underpost-quickly-install Uses Underpost Quickly Install for dependency
|
|
97
|
+
installation.
|
|
98
|
+
-h, --help display help for command
|
|
93
99
|
|
|
94
100
|
```
|
|
95
101
|
|
|
@@ -304,6 +310,8 @@ Arguments:
|
|
|
304
310
|
ips Optional args comma-separated list of IP to process.
|
|
305
311
|
|
|
306
312
|
Options:
|
|
313
|
+
--dhcp Fetches and displays the current Dynamic Host
|
|
314
|
+
Configuration Protocol server IP address.
|
|
307
315
|
--copy Copies the IP addresses to the clipboard.
|
|
308
316
|
--ban-ingress-add Adds IP addresses to banned ingress list.
|
|
309
317
|
--ban-ingress-remove Removes IP addresses from banned ingress list.
|
|
@@ -461,6 +469,8 @@ Options:
|
|
|
461
469
|
deployment operations.
|
|
462
470
|
--port <port> Sets up port forwarding from local to
|
|
463
471
|
remote ports.
|
|
472
|
+
--cmd <cmd> Custom initialization command for
|
|
473
|
+
deployment (comma-separated commands).
|
|
464
474
|
-h, --help display help for command
|
|
465
475
|
|
|
466
476
|
```
|
|
@@ -553,7 +563,7 @@ Options:
|
|
|
553
563
|
|
|
554
564
|
### `db` :
|
|
555
565
|
```
|
|
556
|
-
Usage: underpost db [options]
|
|
566
|
+
Usage: underpost db [options] [deploy-list]
|
|
557
567
|
|
|
558
568
|
Manages database operations with support for MariaDB and MongoDB, including
|
|
559
569
|
import/export, multi-pod targeting, and Git integration.
|
|
@@ -567,6 +577,7 @@ Options:
|
|
|
567
577
|
--pod-name <pod-name> Comma-separated list of pod names or patterns (supports wildcards like "mariadb-*").
|
|
568
578
|
--all-pods Target all matching pods instead of just the first one.
|
|
569
579
|
--primary-pod Automatically detect and use MongoDB primary pod (MongoDB only).
|
|
580
|
+
--primary-pod-ensure <pod-name> Ensure setup of MongoDB replica set primary pod before operations.
|
|
570
581
|
--stats Display database statistics (collection/table names with document/row counts).
|
|
571
582
|
--collections <collections> Comma-separated list of database collections to operate on.
|
|
572
583
|
--out-path <out-path> Specifies a custom output path for backups.
|
|
@@ -578,6 +589,10 @@ Options:
|
|
|
578
589
|
--paths <paths> Comma-separated list of paths to filter database operations.
|
|
579
590
|
--ns <ns-name> Kubernetes namespace context for database operations (defaults to "default").
|
|
580
591
|
--macro-rollback-export <n-commits-reset> Exports a macro rollback script that reverts the last n commits (Git integration required).
|
|
592
|
+
--dev Sets the development cli context
|
|
593
|
+
--kubeadm Enables the kubeadm context for database operations.
|
|
594
|
+
--kind Enables the kind context for database operations.
|
|
595
|
+
--k3s Enables the k3s context for database operations.
|
|
581
596
|
-h, --help display help for command
|
|
582
597
|
|
|
583
598
|
```
|
|
@@ -785,11 +800,11 @@ Options:
|
|
|
785
800
|
Runs specified scripts using various runners.
|
|
786
801
|
|
|
787
802
|
Arguments:
|
|
788
|
-
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.
|
|
803
|
+
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, ps, ptls, release-cmt, deploy-test, sync-replica, tf-vae-test, deploy-job.
|
|
789
804
|
path The input value, identifier, or path for the operation.
|
|
790
805
|
|
|
791
806
|
Options:
|
|
792
|
-
--
|
|
807
|
+
--cmd <command-list> Comma-separated list of commands to execute.
|
|
793
808
|
--args <args-array> Array of arguments to pass to the command.
|
|
794
809
|
--dev Sets the development context environment for the script.
|
|
795
810
|
--build Set builder context runner
|
|
@@ -837,6 +852,7 @@ Options:
|
|
|
837
852
|
--user <user> Sets user context for the runner execution.
|
|
838
853
|
--hosts <hosts> Comma-separated list of hosts for the runner execution.
|
|
839
854
|
--instance-id <instance-id> Sets instance id context for the runner execution.
|
|
855
|
+
--pid <process-id> Sets process id context for the runner execution.
|
|
840
856
|
-h, --help display help for command
|
|
841
857
|
|
|
842
858
|
```
|
|
@@ -894,7 +910,7 @@ Options:
|
|
|
894
910
|
|
|
895
911
|
### `baremetal` :
|
|
896
912
|
```
|
|
897
|
-
Usage: underpost baremetal [options] [workflow-id] [hostname] [ip-
|
|
913
|
+
Usage: underpost baremetal [options] [workflow-id] [ip-address] [hostname] [ip-file-server] [ip-config] [netmask] [dns-server]
|
|
898
914
|
|
|
899
915
|
Manages baremetal server operations, including installation, database setup,
|
|
900
916
|
commissioning, and user management.
|
|
@@ -902,19 +918,35 @@ commissioning, and user management.
|
|
|
902
918
|
Options:
|
|
903
919
|
--control-server-install Installs the baremetal control server.
|
|
904
920
|
--control-server-uninstall Uninstalls the baremetal control server.
|
|
921
|
+
--control-server-restart Restarts the baremetal control server.
|
|
905
922
|
--control-server-db-install Installs up the database for the baremetal control server.
|
|
906
923
|
--control-server-db-uninstall Uninstalls the database for the baremetal control server.
|
|
924
|
+
--create-machine Creates a new baremetal machine entry in the database.
|
|
925
|
+
--mac <mac> Specifies the MAC address for baremetal machine operations. Use "random" for random MAC, "hardware" to use device's actual MAC (no spoofing), or specify a MAC address.
|
|
926
|
+
--ipxe Chainloads iPXE to normalize identity before commissioning.
|
|
927
|
+
--ipxe-rebuild Forces rebuild of iPXE binary with embedded boot script.
|
|
907
928
|
--install-packer Installs Packer CLI.
|
|
908
929
|
--packer-maas-image-template <template-path> Creates a new image folder from canonical/packer-maas template path (requires workflow-id).
|
|
909
930
|
--packer-workflow-id <workflow-id> Specifies the workflow ID for Packer MAAS image operations.
|
|
910
931
|
--packer-maas-image-build Builds a MAAS image using Packer for the workflow specified by --packer-workflow-id.
|
|
911
932
|
--packer-maas-image-upload Uploads an existing MAAS image artifact without rebuilding for the workflow specified by --packer-workflow-id.
|
|
933
|
+
--packer-maas-image-cached Continue last build without removing artifacts (used with --packer-maas-image-build).
|
|
934
|
+
--remove-machines <system-ids> Removes baremetal machines by comma-separated system IDs, or use "all"
|
|
935
|
+
--clear-discovered Clears all discovered baremetal machines from the database.
|
|
912
936
|
--commission Init workflow for commissioning a physical machine.
|
|
937
|
+
--bootstrap-http-server-path <path> Sets a custom bootstrap HTTP server path for baremetal commissioning.
|
|
938
|
+
--bootstrap-http-server-port <port> Sets a custom bootstrap HTTP server port for baremetal commissioning.
|
|
939
|
+
--iso-url <url> Uses a custom ISO URL for baremetal machine commissioning.
|
|
913
940
|
--nfs-build Builds an NFS root filesystem for a workflow id config architecture using QEMU emulation.
|
|
914
941
|
--nfs-mount Mounts the NFS root filesystem for a workflow id config architecture.
|
|
915
942
|
--nfs-unmount Unmounts the NFS root filesystem for a workflow id config architecture.
|
|
916
943
|
--nfs-sh Copies QEMU emulation root entrypoint shell command to the clipboard.
|
|
944
|
+
--cloud-init Sets the kernel parameters and sets the necessary seed users on the HTTP server.
|
|
917
945
|
--cloud-init-update Updates cloud init for a workflow id config architecture.
|
|
946
|
+
--ubuntu-tools-build Builds ubuntu tools for chroot environment.
|
|
947
|
+
--ubuntu-tools-test Tests ubuntu tools in chroot environment.
|
|
948
|
+
--bootcmd <bootcmd-list> Comma-separated list of boot commands to execute.
|
|
949
|
+
--runcmd <runcmd-list> Comma-separated list of run commands to execute.
|
|
918
950
|
--logs <log-id> Displays logs for log id: dhcp, cloud, machine, cloud-config.
|
|
919
951
|
--dev Sets the development context environment for baremetal operations.
|
|
920
952
|
--ls Lists available boot resources and machines.
|
|
@@ -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.97.0
|
|
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.
|
|
103
|
+
image: localhost/rockylinux9-underpost:v2.97.0
|
|
104
104
|
# resources:
|
|
105
105
|
# requests:
|
|
106
106
|
# memory: "124Ki"
|
|
@@ -18,13 +18,13 @@ 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.97.0
|
|
22
22
|
|
|
23
23
|
command:
|
|
24
24
|
- /bin/sh
|
|
25
25
|
- -c
|
|
26
26
|
- >
|
|
27
|
-
npm install -g npm@11.2.0 && npm install -g underpost &&
|
|
27
|
+
npm install -g npm@11.2.0 && npm install -g underpost && node bin secret underpost --create-from-file /etc/config/.env.development && node bin start --build --run dd-test development
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
volumeMounts:
|
|
@@ -103,13 +103,13 @@ 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.97.0
|
|
107
107
|
|
|
108
108
|
command:
|
|
109
109
|
- /bin/sh
|
|
110
110
|
- -c
|
|
111
111
|
- >
|
|
112
|
-
npm install -g npm@11.2.0 && npm install -g underpost &&
|
|
112
|
+
npm install -g npm@11.2.0 && npm install -g underpost && node bin secret underpost --create-from-file /etc/config/.env.development && node bin start --build --run dd-test development
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
volumeMounts:
|
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.97.0",
|
|
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",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"install-underpost": "cp -a $(npm root -g)/underpost/node_modules ./node_modules && npm install --only=dev --ignore-scripts",
|
|
23
23
|
"install": "npm run install-global && npm run install-test",
|
|
24
24
|
"prettier": "prettier --write .",
|
|
25
|
-
"fix": "npm audit fix --force && npm audit"
|
|
25
|
+
"fix": "npm audit fix --force && npm audit",
|
|
26
|
+
"baremetal": "node bin baremetal --dev --commission --clear-discovered --remove-machines all --ls --create-machine"
|
|
26
27
|
},
|
|
27
28
|
"bin": {
|
|
28
29
|
"underpost": "bin/index.js"
|
|
@@ -107,8 +107,12 @@ source "qemu" "rocky9" {
|
|
|
107
107
|
disk_size = "45G"
|
|
108
108
|
format = "qcow2"
|
|
109
109
|
headless = var.headless
|
|
110
|
-
iso_checksum = "file:
|
|
111
|
-
|
|
110
|
+
iso_checksum = "file:https://download.rockylinux.org/pub/rocky/9/isos/${local.iso_arch}/CHECKSUM"
|
|
111
|
+
iso_urls = [
|
|
112
|
+
"https://download.rockylinux.org/pub/rocky/9/isos/${local.iso_arch}/Rocky-9-latest-${local.iso_arch}-boot.iso",
|
|
113
|
+
"https://dl.rockylinux.org/pub/rocky/9/isos/${local.iso_arch}/Rocky-9-latest-${local.iso_arch}-boot.iso",
|
|
114
|
+
"https://mirrors.edge.kernel.org/rocky/9/isos/${local.iso_arch}/Rocky-9-latest-${local.iso_arch}-boot.iso"
|
|
115
|
+
]
|
|
112
116
|
iso_target_path = "packer_cache/Rocky-9-latest-${local.iso_arch}-boot.iso"
|
|
113
117
|
memory = 2048
|
|
114
118
|
cores = 4
|