underpost 2.8.79 → 2.8.84

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.
Files changed (53) hide show
  1. package/.github/workflows/ghpkg.yml +22 -20
  2. package/.github/workflows/npmpkg.yml +15 -10
  3. package/.github/workflows/pwa-microservices-template.page.yml +12 -3
  4. package/.github/workflows/pwa-microservices-template.test.yml +20 -17
  5. package/.vscode/extensions.json +2 -3
  6. package/.vscode/settings.json +2 -42
  7. package/Dockerfile +14 -33
  8. package/README.md +43 -25
  9. package/bin/db.js +1 -0
  10. package/bin/deploy.js +104 -797
  11. package/bin/file.js +18 -1
  12. package/bin/vs.js +18 -3
  13. package/cli.md +367 -207
  14. package/conf.js +4 -0
  15. package/docker-compose.yml +1 -1
  16. package/manifests/deployment/dd-template-development/deployment.yaml +167 -0
  17. package/manifests/deployment/dd-template-development/proxy.yaml +46 -0
  18. package/manifests/deployment/tensorflow/tf-gpu-test.yaml +65 -0
  19. package/manifests/lxd/lxd-admin-profile.yaml +1 -0
  20. package/manifests/lxd/lxd-preseed.yaml +9 -37
  21. package/manifests/lxd/underpost-setup.sh +98 -81
  22. package/manifests/maas/device-scan.sh +43 -0
  23. package/manifests/maas/gpu-diag.sh +19 -0
  24. package/manifests/maas/lxd-preseed.yaml +32 -0
  25. package/manifests/maas/maas-setup.sh +120 -0
  26. package/manifests/maas/nat-iptables.sh +26 -0
  27. package/manifests/maas/snap-clean.sh +26 -0
  28. package/manifests/mariadb/statefulset.yaml +2 -1
  29. package/manifests/mariadb/storage-class.yaml +10 -0
  30. package/manifests/mongodb-4.4/service-deployment.yaml +2 -2
  31. package/manifests/valkey/service.yaml +3 -9
  32. package/manifests/valkey/statefulset.yaml +10 -12
  33. package/package.json +1 -1
  34. package/src/cli/baremetal.js +1280 -0
  35. package/src/cli/cloud-init.js +537 -0
  36. package/src/cli/cluster.js +506 -243
  37. package/src/cli/deploy.js +41 -3
  38. package/src/cli/env.js +2 -2
  39. package/src/cli/image.js +57 -9
  40. package/src/cli/index.js +271 -232
  41. package/src/cli/lxd.js +314 -81
  42. package/src/cli/repository.js +7 -4
  43. package/src/cli/run.js +262 -0
  44. package/src/cli/test.js +1 -1
  45. package/src/index.js +28 -1
  46. package/src/runtime/lampp/Dockerfile +41 -47
  47. package/src/server/conf.js +61 -0
  48. package/src/server/logger.js +3 -3
  49. package/src/server/process.js +16 -19
  50. package/src/server/runtime.js +1 -6
  51. package/src/server/ssl.js +1 -12
  52. package/src/server/valkey.js +3 -3
  53. package/supervisord-openssh-server.conf +0 -5
package/cli.md CHANGED
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v2.8.79
1
+ ## underpost ci/cd cli v2.8.84
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -7,28 +7,30 @@
7
7
  -h, --help display help for command
8
8
 
9
9
  Commands:
10
- new <app-name> Create a new project
11
- start [options] <deploy-id> [env] Start up server, build pipelines, or services
12
- clone [options] <uri> Clone github repository
13
- pull [options] <path> <uri> Pull github repository
14
- cmt [options] <path> <commit-type> [module-tag] [message] Commit github repository
15
- push [options] <path> <uri> Push github repository
16
- env <deploy-id> [env] Set environment variables files and conf related to <deploy-id>
17
- config <operator> [key] [value] Manage configuration, operators
18
- root Get npm root path
19
- cluster [options] [pod-name] Manage cluster, for default initialization base kind cluster
20
- deploy [options] [deploy-list] [env] Manage deployment, for default deploy development pods
21
- secret [options] <platform> Manage secrets
22
- dockerfile-image-build [options] Build image from Dockerfile
23
- dockerfile-pull-base-images [options] Pull underpost dockerfile images requirements
24
- install Fast import underpost npm dependencies
25
- db [options] <deploy-list> Manage databases
26
- script [options] <operator> <script-name> [script-value] Supports a number of built-in underpost global scripts and their preset life cycle events as well as arbitrary scripts
27
- cron [options] [deploy-list] [job-list] Cron jobs management
28
- fs [options] [path] File storage management, for default upload file
29
- test [options] [deploy-list] Manage Test, for default run current underpost default test
30
- monitor [options] <deploy-id> [env] Monitor health server management
31
- lxd [options] Lxd management
10
+ new <app-name> Initializes a new Underpost project with a predefined structure.
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] Sets environment variables and configurations related to a specific deployment ID.
17
+ config [options] <operator> [key] [value] Manages Underpost configurations using various operators.
18
+ root Displays the root path of the npm installation.
19
+ cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
20
+ deploy [options] [deploy-list] [env] Manages application deployments, defaulting to deploying development pods.
21
+ secret [options] <platform> Manages secrets for various platforms.
22
+ dockerfile-image-build [options] Builds a Docker image from a specified Dockerfile with various options for naming, saving, and loading.
23
+ dockerfile-pull-base-images [options] Pulls required Underpost Dockerfile base images and optionally loads them into clusters.
24
+ install Quickly imports Underpost npm dependencies by copying them.
25
+ db [options] <deploy-list> Manages database operations, including import, export, and collection management.
26
+ script [options] <operator> <script-name> [script-value] Supports a variety of built-in Underpost global scripts, their preset lifecycle events, and arbitrary custom scripts.
27
+ cron [options] [deploy-list] [job-list] Manages cron jobs, including initialization, execution, and configuration updates.
28
+ fs [options] [path] Manages file storage, defaulting to file upload operations.
29
+ test [options] [deploy-list] Manages and runs tests, defaulting to the current Underpost default test suite.
30
+ monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
31
+ run [options] <runner-id> [path] Runs a script from the specified path.
32
+ lxd [options] Manages LXD containers and virtual machines.
33
+ baremetal [options] [workflow-id] [hostname] [ip-address] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
32
34
  help [command] display help for command
33
35
 
34
36
  ```
@@ -40,10 +42,10 @@ Commands:
40
42
  ```
41
43
  Usage: underpost new [options] <app-name>
42
44
 
43
- Create a new project
45
+ Initializes a new Underpost project with a predefined structure.
44
46
 
45
47
  Arguments:
46
- app-name Application name
48
+ app-name The name of the application to create.
47
49
 
48
50
  Options:
49
51
  -h, --help display help for command
@@ -55,15 +57,17 @@ Options:
55
57
  ```
56
58
  Usage: underpost start [options] <deploy-id> [env]
57
59
 
58
- Start up server, build pipelines, or services
60
+ Initiates application servers, build pipelines, or other defined services based
61
+ on the deployment ID.
59
62
 
60
63
  Arguments:
61
- deploy-id Deploy configuration id
62
- env Optional environment, for default is development
64
+ deploy-id The unique identifier for the deployment configuration.
65
+ env Optional: The environment to start (e.g., "development",
66
+ "production"). Defaults to "development".
63
67
 
64
68
  Options:
65
- --run Run app servers and monitor health server
66
- --build Build app client
69
+ --run Starts application servers and monitors their health.
70
+ --build Triggers the client-side application build process.
67
71
  -h, --help display help for command
68
72
 
69
73
  ```
@@ -73,14 +77,14 @@ Options:
73
77
  ```
74
78
  Usage: underpost clone [options] <uri>
75
79
 
76
- Clone github repository
80
+ Clones a specified GitHub repository into the current directory.
77
81
 
78
82
  Arguments:
79
- uri e.g. username/repository
83
+ uri The URI of the GitHub repository (e.g., "username/repository").
80
84
 
81
85
  Options:
82
- --bare Clone only .git files
83
- -g8 Use g8 repo extension
86
+ --bare Performs a bare clone, downloading only the .git files.
87
+ -g8 Uses the g8 repository extension for cloning.
84
88
  -h, --help display help for command
85
89
 
86
90
  ```
@@ -90,14 +94,15 @@ Options:
90
94
  ```
91
95
  Usage: underpost pull [options] <path> <uri>
92
96
 
93
- Pull github repository
97
+ Pulls the latest changes from a specified GitHub repository.
94
98
 
95
99
  Arguments:
96
- path Absolute or relative directory
97
- uri e.g. username/repository
100
+ path The absolute or relative directory path where the repository is
101
+ located.
102
+ uri The URI of the GitHub repository (e.g., "username/repository").
98
103
 
99
104
  Options:
100
- -g8 Use g8 repo extension
105
+ -g8 Uses the g8 repository extension for pulling.
101
106
  -h, --help display help for command
102
107
 
103
108
  ```
@@ -107,19 +112,20 @@ Options:
107
112
  ```
108
113
  Usage: underpost cmt [options] <path> <commit-type> [module-tag] [message]
109
114
 
110
- Commit github repository
115
+ Manages commits to a GitHub repository, supporting various commit types and
116
+ options.
111
117
 
112
118
  Arguments:
113
- path Absolute or relative directory
114
- commit-type Options:
115
- feat,fix,docs,style,refactor,perf,cd,test,build,ci,chore,revert,backup
116
- module-tag Optional set module tag
117
- message Optional set additional message
119
+ path The absolute or relative directory path of the repository.
120
+ commit-type The type of commit to perform. Options: feat, fix, docs, style,
121
+ refactor, perf, cd, test, build, ci, chore, revert, backup.
122
+ module-tag Optional: Sets a specific module tag for the commit.
123
+ message Optional: Provides an additional custom message for the commit.
118
124
 
119
125
  Options:
120
- --empty Allow empty files
121
- --copy Copy to clipboard message
122
- --info Info commit types
126
+ --empty Allows committing with empty files.
127
+ --copy Copies the generated commit message to the clipboard.
128
+ --info Displays information about available commit types.
123
129
  -h, --help display help for command
124
130
 
125
131
  ```
@@ -129,15 +135,15 @@ Options:
129
135
  ```
130
136
  Usage: underpost push [options] <path> <uri>
131
137
 
132
- Push github repository
138
+ Pushes committed changes from a local repository to a remote GitHub repository.
133
139
 
134
140
  Arguments:
135
- path Absolute or relative directory
136
- uri e.g. username/repository
141
+ path The absolute or relative directory path of the repository.
142
+ uri The URI of the GitHub repository (e.g., "username/repository").
137
143
 
138
144
  Options:
139
- -f Force push overwriting repository
140
- -g8 Use g8 repo extension
145
+ -f Forces the push, overwriting the remote repository history.
146
+ -g8 Uses the g8 repository extension for pushing.
141
147
  -h, --help display help for command
142
148
 
143
149
  ```
@@ -147,11 +153,14 @@ Options:
147
153
  ```
148
154
  Usage: underpost env [options] <deploy-id> [env]
149
155
 
150
- Set environment variables files and conf related to <deploy-id>
156
+ Sets environment variables and configurations related to a specific deployment
157
+ ID.
151
158
 
152
159
  Arguments:
153
- deploy-id deploy configuration id, if 'clean' restore default
154
- env Optional environment, for default is production
160
+ deploy-id The deployment configuration ID. Use 'clean' to restore default
161
+ environment settings.
162
+ env Optional: The environment to set (e.g., "production",
163
+ "development"). Defaults to "production".
155
164
 
156
165
  Options:
157
166
  -h, --help display help for command
@@ -163,14 +172,16 @@ Options:
163
172
  ```
164
173
  Usage: underpost config [options] <operator> [key] [value]
165
174
 
166
- Manage configuration, operators
175
+ Manages Underpost configurations using various operators.
167
176
 
168
177
  Arguments:
169
- operator Options: set,delete,get,list,clean
170
- key Config key
171
- value Config value
178
+ operator The configuration operation to perform. Options: set, delete,
179
+ get, list, clean.
180
+ key Optional: The specific configuration key to manage.
181
+ value Optional: The value to set for the configuration key.
172
182
 
173
183
  Options:
184
+ --plain Prints the configuration value in plain text.
174
185
  -h, --help display help for command
175
186
 
176
187
  ```
@@ -180,7 +191,7 @@ Options:
180
191
  ```
181
192
  Usage: underpost root [options]
182
193
 
183
- Get npm root path
194
+ Displays the root path of the npm installation.
184
195
 
185
196
  Options:
186
197
  -h, --help display help for command
@@ -192,36 +203,51 @@ Options:
192
203
  ```
193
204
  Usage: underpost cluster [options] [pod-name]
194
205
 
195
- Manage cluster, for default initialization base kind cluster
206
+ Manages Kubernetes clusters, defaulting to Kind cluster initialization.
196
207
 
197
208
  Arguments:
198
- pod-name Optional pod name filter
209
+ pod-name Optional: Filters information by a specific pod name.
199
210
 
200
211
  Options:
201
- --reset Delete all clusters and prune all data and caches
202
- --mariadb Init with mariadb statefulset
203
- --mysql Init with mysql statefulset
204
- --mongodb Init with mongodb statefulset
205
- --postgresql Init with postgresql statefulset
206
- --mongodb4 Init with mongodb 4.4 service
207
- --valkey Init with valkey service
208
- --contour Init with project contour base HTTPProxy and envoy
209
- --cert-manager Init with letsencrypt-prod ClusterIssuer
210
- --dedicated-gpu Init with dedicated gpu base resources env
211
- --info Get all kinds objects deployed
212
- --full Init with all statefulsets and services available
213
- --ns-use <ns-name> Switches current context to namespace
214
- --kubeadm Init with kubeadm controlplane management
215
- --dev init with dev cluster
216
- --list-pods Display list pods information
217
- --info-capacity display current total machine capacity info
218
- --info-capacity-pod display current machine capacity pod info
219
- --pull-image Set optional pull associated image
220
- --init-host Install k8s node necessary cli env: kind, kubeadm,
221
- docker, podman, helm
222
- --config Set k8s base node config
223
- --worker Set worker node context
224
- --chown Set k8s kube chown
212
+ --reset Deletes all clusters and prunes all related data and
213
+ caches.
214
+ --mariadb Initializes the cluster with a MariaDB statefulset.
215
+ --mysql Initializes the cluster with a MySQL statefulset.
216
+ --mongodb Initializes the cluster with a MongoDB statefulset.
217
+ --postgresql Initializes the cluster with a PostgreSQL statefulset.
218
+ --mongodb4 Initializes the cluster with a MongoDB 4.4 service.
219
+ --valkey Initializes the cluster with a Valkey service.
220
+ --contour Initializes the cluster with Project Contour base
221
+ HTTPProxy and Envoy.
222
+ --cert-manager Initializes the cluster with a Let's Encrypt production
223
+ ClusterIssuer.
224
+ --dedicated-gpu Initializes the cluster with dedicated GPU base
225
+ resources and environment settings.
226
+ --info Retrieves information about all deployed Kubernetes
227
+ objects.
228
+ --full Initializes the cluster with all available statefulsets
229
+ and services.
230
+ --ns-use <ns-name> Switches the current Kubernetes context to the specified
231
+ namespace.
232
+ --kubeadm Initializes the cluster using kubeadm for control plane
233
+ management.
234
+ --dev Initializes a development-specific cluster
235
+ configuration.
236
+ --list-pods Displays detailed information about all pods.
237
+ --info-capacity Displays the current total machine capacity information.
238
+ --info-capacity-pod Displays the current machine capacity information per
239
+ pod.
240
+ --pull-image Sets an optional associated image to pull during
241
+ initialization.
242
+ --init-host Installs necessary Kubernetes node CLI tools (e.g.,
243
+ kind, kubeadm, docker, podman, helm).
244
+ --uninstall-host Uninstalls all host components installed by init-host.
245
+ --config Sets the base Kubernetes node configuration.
246
+ --worker Sets the context for a worker node.
247
+ --chown Sets the appropriate ownership for Kubernetes kubeconfig
248
+ files.
249
+ --k3s Initializes the cluster using K3s (Lightweight
250
+ Kubernetes).
225
251
  -h, --help display help for command
226
252
 
227
253
  ```
@@ -231,34 +257,48 @@ Options:
231
257
  ```
232
258
  Usage: underpost deploy [options] [deploy-list] [env]
233
259
 
234
- Manage deployment, for default deploy development pods
260
+ Manages application deployments, defaulting to deploying development pods.
235
261
 
236
262
  Arguments:
237
- deploy-list Deploy id list, e.g. default-a,default-b
238
- env Optional environment, for default is
239
- development
263
+ deploy-list A comma-separated list of deployment IDs
264
+ (e.g., "default-a,default-b").
265
+ env Optional: The environment for deployment
266
+ (e.g., "development", "production").
267
+ Defaults to "development".
240
268
 
241
269
  Options:
242
- --remove Delete deployments and services
243
- --sync Sync deployments env, ports, and replicas
244
- --info-router Display router structure
245
- --expose Expose service match deploy-list
246
- --info-util Display kubectl util management commands
247
- --cert Reset tls/ssl certificate secrets
248
- --build-manifest Build kind yaml manifests: deployments,
249
- services, proxy and secrets
250
- --dashboard-update Update dashboard instance data with current
251
- router config
252
- --replicas <replicas> Set custom number of replicas
253
- --versions <deployment-versions> Comma separated custom deployment versions
254
- --traffic <traffic-versions> Comma separated custom deployment traffic
255
- --disable-update-deployment Disable update deployments
256
- --info-traffic get traffic conf form current resources
257
- deployments
258
- --kubeadm Enable kubeadm context
259
- --restore-hosts Restore defautl etc hosts
260
- --rebuild-clients-bundle Inside container, rebuild clients bundle,
261
- only static public or storage client files
270
+ --remove Deletes specified deployments and their
271
+ associated services.
272
+ --sync Synchronizes deployment environment
273
+ variables, ports, and replica counts.
274
+ --info-router Displays the current router structure and
275
+ configuration.
276
+ --expose Exposes services matching the provided
277
+ deployment ID list.
278
+ --info-util Displays useful `kubectl` utility
279
+ management commands.
280
+ --cert Resets TLS/SSL certificate secrets for
281
+ deployments.
282
+ --build-manifest Builds Kubernetes YAML manifests, including
283
+ deployments, services, proxies, and
284
+ secrets.
285
+ --dashboard-update Updates dashboard instance data with the
286
+ current router configuration.
287
+ --replicas <replicas> Sets a custom number of replicas for
288
+ deployments.
289
+ --versions <deployment-versions> A comma-separated list of custom deployment
290
+ versions.
291
+ --traffic <traffic-versions> A comma-separated list of custom deployment
292
+ traffic weights.
293
+ --disable-update-deployment Disables updates to deployments.
294
+ --info-traffic Retrieves traffic configuration from
295
+ current resource deployments.
296
+ --kubeadm Enables the kubeadm context for deployment
297
+ operations.
298
+ --restore-hosts Restores default `/etc/hosts` entries.
299
+ --rebuild-clients-bundle Inside the container, rebuilds client
300
+ bundles (only static public or storage
301
+ client files).
262
302
  -h, --help display help for command
263
303
 
264
304
  ```
@@ -268,15 +308,19 @@ Options:
268
308
  ```
269
309
  Usage: underpost secret [options] <platform>
270
310
 
271
- Manage secrets
311
+ Manages secrets for various platforms.
272
312
 
273
313
  Arguments:
274
- platform Options: docker,underpost
314
+ platform The secret management platform. Options:
315
+ docker, underpost.
275
316
 
276
317
  Options:
277
- --init Init secrets platform environment
278
- --create-from-file <path-env-file> Create secret from env file
279
- --list Lists secrets
318
+ --init Initializes the secrets platform
319
+ environment.
320
+ --create-from-file <path-env-file> Creates secrets from a specified
321
+ environment file.
322
+ --list Lists all available secrets for the
323
+ platform.
280
324
  -h, --help display help for command
281
325
 
282
326
  ```
@@ -286,19 +330,28 @@ Options:
286
330
  ```
287
331
  Usage: underpost dockerfile-image-build [options]
288
332
 
289
- Build image from Dockerfile
333
+ Builds a Docker image from a specified Dockerfile with various options for
334
+ naming, saving, and loading.
290
335
 
291
336
  Options:
292
- --path [path] Dockerfile path
293
- --image-name [image-name] Set image name
294
- --image-path [image-path] Set tar image path
295
- --dockerfile-name [dockerfile-name] set Dockerfile name
296
- --podman-save Export tar file from podman
297
- --kind-load Import tar image to Kind cluster
298
- --kubeadm-load Import tar image to Kubeadm cluster
299
- --secrets Dockerfile env secrets
300
- --secrets-path [secrets-path] Dockerfile custom path env secrets
301
- --no-cache Build without using cache
337
+ --path [path] The path to the Dockerfile directory.
338
+ --image-name [image-name] Sets a custom name for the Docker image.
339
+ --image-path [image-path] Sets the output path for the tar image
340
+ archive.
341
+ --dockerfile-name [dockerfile-name] Sets a custom name for the Dockerfile.
342
+ --podman-save Exports the built image as a tar file
343
+ using Podman.
344
+ --kind-load Imports the tar image into a Kind
345
+ cluster.
346
+ --kubeadm-load Imports the tar image into a Kubeadm
347
+ cluster.
348
+ --secrets Includes Dockerfile environment secrets
349
+ during the build.
350
+ --secrets-path [secrets-path] Specifies a custom path for Dockerfile
351
+ environment secrets.
352
+ --reset Performs a build without using the
353
+ cache.
354
+ --k3s-load Loads the image into a K3s cluster.
302
355
  -h, --help display help for command
303
356
 
304
357
  ```
@@ -308,13 +361,15 @@ Options:
308
361
  ```
309
362
  Usage: underpost dockerfile-pull-base-images [options]
310
363
 
311
- Pull underpost dockerfile images requirements
364
+ Pulls required Underpost Dockerfile base images and optionally loads them into
365
+ clusters.
312
366
 
313
367
  Options:
314
- --path [path] Dockerfile path
315
- --kind-load Import tar image to Kind cluster
316
- --kubeadm-load Import tar image to Kubeadm cluster
317
- --version Set custom version
368
+ --path [path] The path to the Dockerfile directory.
369
+ --kind-load Imports the pulled image into a Kind cluster.
370
+ --kubeadm-load Imports the pulled image into a Kubeadm cluster.
371
+ --version Sets a custom version for the base images.
372
+ --k3s-load Loads the image into a K3s cluster.
318
373
  -h, --help display help for command
319
374
 
320
375
  ```
@@ -324,7 +379,7 @@ Options:
324
379
  ```
325
380
  Usage: underpost install [options]
326
381
 
327
- Fast import underpost npm dependencies
382
+ Quickly imports Underpost npm dependencies by copying them.
328
383
 
329
384
  Options:
330
385
  -h, --help display help for command
@@ -336,23 +391,31 @@ Options:
336
391
  ```
337
392
  Usage: underpost db [options] <deploy-list>
338
393
 
339
- Manage databases
394
+ Manages database operations, including import, export, and collection
395
+ management.
340
396
 
341
397
  Arguments:
342
- deploy-list Deploy id list, e.g. default-a,default-b
398
+ deploy-list A comma-separated list of deployment IDs (e.g.,
399
+ "default-a,default-b").
343
400
 
344
401
  Options:
345
- --import Import container backups from repositories
346
- --export Export container backups to repositories
347
- --pod-name <pod-name> Optional pod context
348
- --collections <collections> Comma separated collections
349
- --out-path <out-path> Custom out path backup
350
- --drop Drop databases
351
- --preserveUUID Preserve Ids
352
- --git Upload to github
353
- --hosts <hosts> Comma separated hosts
354
- --paths <paths> Comma separated paths
355
- --ns <ns-name> Optional name space context
402
+ --import Imports container backups from specified
403
+ repositories.
404
+ --export Exports container backups to specified
405
+ repositories.
406
+ --pod-name <pod-name> Optional: Specifies the pod context for database
407
+ operations.
408
+ --collections <collections> A comma-separated list of database collections
409
+ to operate on.
410
+ --out-path <out-path> Specifies a custom output path for backups.
411
+ --drop Drops the specified databases or collections.
412
+ --preserveUUID Preserves UUIDs during database operations.
413
+ --git Uploads database backups to GitHub.
414
+ --hosts <hosts> A comma-separated list of database hosts.
415
+ --paths <paths> A comma-separated list of paths for database
416
+ files.
417
+ --ns <ns-name> Optional: Specifies the namespace context for
418
+ database operations.
356
419
  -h, --help display help for command
357
420
 
358
421
  ```
@@ -362,19 +425,23 @@ Options:
362
425
  ```
363
426
  Usage: underpost script [options] <operator> <script-name> [script-value]
364
427
 
365
- Supports a number of built-in underpost global scripts and their preset life
366
- cycle events as well as arbitrary scripts
428
+ Supports a variety of built-in Underpost global scripts, their preset lifecycle
429
+ events, and arbitrary custom scripts.
367
430
 
368
431
  Arguments:
369
- operator Options: set,run,get
370
- script-name Script name
371
- script-value Literal command, or path
432
+ operator The script operation to perform. Options: set, run,
433
+ get.
434
+ script-name The name of the script to execute.
435
+ script-value Optional: A literal command or a path to a script
436
+ file.
372
437
 
373
438
  Options:
374
- --itc Inside container execution context
375
- --itc-path Inside container path options
376
- --ns <ns-name> Options name space context
377
- --pod-name <pod-name>
439
+ --itc Executes the script within the container execution
440
+ context.
441
+ --itc-path Specifies container path options for script execution.
442
+ --ns <ns-name> Optional: Specifies the namespace context for script
443
+ execution.
444
+ --pod-name <pod-name> Optional: Specifies the pod name for script execution.
378
445
  -h, --help display help for command
379
446
 
380
447
  ```
@@ -384,18 +451,22 @@ Options:
384
451
  ```
385
452
  Usage: underpost cron [options] [deploy-list] [job-list]
386
453
 
387
- Cron jobs management
454
+ Manages cron jobs, including initialization, execution, and configuration
455
+ updates.
388
456
 
389
457
  Arguments:
390
- deploy-list Deploy id list, e.g. default-a,default-b
391
- job-list Deploy id list, e.g. callback,updateDashboardData, for
392
- default all available jobs
458
+ deploy-list A comma-separated list of deployment IDs (e.g.,
459
+ "default-a,default-b").
460
+ job-list A comma-separated list of job IDs. Options: callback,
461
+ updateDashboardData. Defaults to all available jobs.
393
462
 
394
463
  Options:
395
- --itc Inside container execution context
396
- --init Init cron jobs for cron job default deploy id
397
- --git Upload to github
398
- --dashboard-update Update dashboard cron data with current jobs config
464
+ --itc Executes cron jobs within the container execution
465
+ context.
466
+ --init Initializes cron jobs for the default deployment ID.
467
+ --git Uploads cron job configurations to GitHub.
468
+ --dashboard-update Updates dashboard cron data with the current job
469
+ configurations.
399
470
  -h, --help display help for command
400
471
 
401
472
  ```
@@ -405,19 +476,19 @@ Options:
405
476
  ```
406
477
  Usage: underpost fs [options] [path]
407
478
 
408
- File storage management, for default upload file
479
+ Manages file storage, defaulting to file upload operations.
409
480
 
410
481
  Arguments:
411
- path Absolute or relative directory
482
+ path The absolute or relative directory path for file operations.
412
483
 
413
484
  Options:
414
- --rm Remove file
415
- --git Current git changes
416
- --recursive Upload files recursively
417
- --deploy-id <deploy-id> Deploy configuration id
418
- --pull Download file
419
- --force Force action
420
- --storage-file-path <storage-file-path> custom file storage path
485
+ --rm Removes the specified file.
486
+ --git Displays current Git changes related to file storage.
487
+ --recursive Uploads files recursively from the specified path.
488
+ --deploy-id <deploy-id> Specifies the deployment configuration ID for file operations.
489
+ --pull Downloads the specified file.
490
+ --force Forces the action, overriding any warnings or conflicts.
491
+ --storage-file-path <storage-file-path> Specifies a custom file storage path.
421
492
  -h, --help display help for command
422
493
 
423
494
  ```
@@ -427,19 +498,23 @@ Options:
427
498
  ```
428
499
  Usage: underpost test [options] [deploy-list]
429
500
 
430
- Manage Test, for default run current underpost default test
501
+ Manages and runs tests, defaulting to the current Underpost default test suite.
431
502
 
432
503
  Arguments:
433
- deploy-list Deploy id list, e.g. default-a,default-b
504
+ deploy-list A comma-separated list of deployment IDs (e.g.,
505
+ "default-a,default-b").
434
506
 
435
507
  Options:
436
- --itc Inside container execution context
437
- --sh Copy to clipboard, container entrypoint shell
438
- command
439
- --logs Display container logs
440
- --pod-name <pod-name>
441
- --pod-status <pod-status>
442
- --kind-type <kind-type>
508
+ --itc Executes tests within the container execution
509
+ context.
510
+ --sh Copies the container entrypoint shell command to
511
+ the clipboard.
512
+ --logs Displays container logs for test debugging.
513
+ --pod-name <pod-name> Optional: Specifies the pod name for test
514
+ execution.
515
+ --pod-status <pod-status> Optional: Filters tests by pod status.
516
+ --kind-type <kind-type> Optional: Specifies the Kind cluster type for
517
+ tests.
443
518
  -h, --help display help for command
444
519
 
445
520
  ```
@@ -449,48 +524,133 @@ Options:
449
524
  ```
450
525
  Usage: underpost monitor [options] <deploy-id> [env]
451
526
 
452
- Monitor health server management
527
+ Manages health server monitoring for specified deployments.
453
528
 
454
529
  Arguments:
455
- deploy-id Deploy configuration id
456
- env Optional environment, for default is development
530
+ deploy-id The deployment configuration ID to monitor.
531
+ env Optional: The environment to monitor (e.g.,
532
+ "development", "production"). Defaults to
533
+ "development".
457
534
 
458
535
  Options:
459
- --ms-interval <ms-interval> Custom ms interval delta time
460
- --now Exec immediately monitor script
461
- --single Disable recurrence
462
- --replicas <replicas> Set custom number of replicas
463
- --type <type> Set custom monitor type
464
- --sync Sync with current proxy deployments proxy
465
- traffic
536
+ --ms-interval <ms-interval> Sets a custom millisecond interval for
537
+ monitoring checks.
538
+ --now Executes the monitor script immediately.
539
+ --single Disables recurrence, running the monitor script
540
+ only once.
541
+ --replicas <replicas> Sets a custom number of replicas for monitoring.
542
+ --type <type> Sets a custom monitor type.
543
+ --sync Synchronizes with current proxy deployments and
544
+ traffic configurations.
466
545
  -h, --help display help for command
467
546
 
468
547
  ```
469
548
 
470
549
 
550
+ ### `run` :
551
+ ```
552
+ Usage: underpost run [options] <runner-id> [path]
553
+
554
+ Runs a script from the specified path.
555
+
556
+ Arguments:
557
+ runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, gpu-env, tf-gpu-test, ide, monitor, tf-vae-test, deploy-job.
558
+ path The absolute or relative directory path where the script is located.
559
+
560
+ Options:
561
+ --command <command-array> Array of commands to run.
562
+ --args <args-array> Array of arguments to pass to the command.
563
+ --dev Sets the development context environment for the script.
564
+ --pod-name <pod-name> Optional: Specifies the pod name for test execution.
565
+ --volume-host-path <volume-host-path> Optional: Specifies the volume host path for test execution.
566
+ --volume-mount-path <volume-mount-path> Optional: Specifies the volume mount path for test execution.
567
+ --image-name <image-name> Optional: Specifies the image name for test execution.
568
+ --container-name <container-name> Optional: Specifies the container name for test execution.
569
+ --namespace <namespace> Optional: Specifies the namespace for test execution.
570
+ -h, --help display help for command
571
+
572
+ ```
573
+
574
+
471
575
  ### `lxd` :
472
576
  ```
473
577
  Usage: underpost lxd [options]
474
578
 
475
- Lxd management
579
+ Manages LXD containers and virtual machines.
580
+
581
+ Options:
582
+ --init Initializes LXD on the current machine.
583
+ --reset Resets LXD on the current machine, deleting
584
+ all configurations.
585
+ --install Installs LXD on the current machine.
586
+ --dev Sets the development context environment for
587
+ LXD.
588
+ --create-virtual-network Creates an LXD virtual network bridge.
589
+ --create-admin-profile Creates an admin profile for LXD management.
590
+ --control Sets the context for a control node VM.
591
+ --worker Sets the context for a worker node VM.
592
+ --create-vm <vm-id> Creates default virtual machines with the
593
+ specified ID.
594
+ --init-vm <vm-id> Retrieves the Underpost initialization
595
+ script for the specified VM.
596
+ --info-vm <vm-id> Retrieves all information about the
597
+ specified VM.
598
+ --test <vm-id> Tests the health, status, and network
599
+ connectivity for a VM.
600
+ --root-size <gb-size> Sets the root partition size (in GB) for the
601
+ VM.
602
+ --k3s Flag to indicate that the VM initialization
603
+ is for a K3s cluster type.
604
+ --join-node <nodes> A comma-separated list of worker and control
605
+ nodes to join (e.g.,
606
+ "k8s-worker-1,k8s-control").
607
+ --expose <vm-name-ports> Exposes specified ports on a VM (e.g.,
608
+ "k8s-control:80,443"). Multiple VM-port
609
+ pairs can be comma-separated.
610
+ --delete-expose <vm-name-ports> Removes exposed ports on a VM (e.g.,
611
+ "k8s-control:80,443"). Multiple VM-port
612
+ pairs can be comma-separated.
613
+ --auto-expose-k8s-ports <vm-id> Automatically exposes common Kubernetes
614
+ ports for the specified VM.
615
+ -h, --help display help for command
616
+
617
+ ```
618
+
619
+
620
+ ### `baremetal` :
621
+ ```
622
+ Usage: underpost baremetal [options] [workflow-id] [hostname] [ip-address]
623
+
624
+ Manages baremetal server operations, including installation, database setup,
625
+ commissioning, and user management.
476
626
 
477
627
  Options:
478
- --init Init lxd
479
- --reset Reset lxd on current machine
480
- --install Install lxd on current machine
481
- --dev Set dev context env
482
- --control set control node vm context
483
- --worker set worker node context
484
- --create-vm <vm-id> Create default virtual machines
485
- --init-vm <vm-id> Get init vm underpost script
486
- --info-vm <vm-id> Get all info vm
487
- --start-vm <vm-id> Start vm with networkt config
488
- --root-size <gb-size> Set root size vm
489
- --join-node <nodes> Comma separated worker and control node e. g.
490
- k8s-worker-1,k8s-control
491
- --expose <vm-name-ports> Vm name and : separated with Comma separated vm
492
- port to expose e. g. k8s-control:80,443
493
- -h, --help display help for command
628
+ --control-server-install Installs the baremetal control server.
629
+ --control-server-uninstall Uninstalls the baremetal control server.
630
+ --control-server-db-install Installs up the database for the baremetal
631
+ control server.
632
+ --control-server-db-uninstall Uninstalls the database for the baremetal
633
+ control server.
634
+ --commission Init workflow for commissioning a physical
635
+ machine.
636
+ --nfs-build Builds an NFS root filesystem for a workflow
637
+ id config architecture using QEMU emulation.
638
+ --nfs-mount Mounts the NFS root filesystem for a workflow
639
+ id config architecture.
640
+ --nfs-unmount Unmounts the NFS root filesystem for a
641
+ workflow id config architecture.
642
+ --nfs-sh Copies QEMU emulation root entrypoint shell
643
+ command to the clipboard.
644
+ --cloud-init-update Updates cloud init for a workflow id config
645
+ architecture.
646
+ --cloud-init-reset Resets cloud init for a workflow id config
647
+ architecture.
648
+ --logs <log-id> Displays logs for log id: dhcp, cloud,
649
+ machine, cloud-config.
650
+ --dev Sets the development context environment for
651
+ baremetal operations.
652
+ --ls Lists available boot resources and machines.
653
+ -h, --help display help for command
494
654
 
495
655
  ```
496
656