underpost 2.8.79 → 2.8.82

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