underpost 2.8.78 → 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 +91 -796
  11. package/bin/vs.js +10 -3
  12. package/cli.md +340 -191
  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 +17 -0
  18. package/manifests/lxd/lxd-preseed.yaml +30 -0
  19. package/manifests/lxd/underpost-setup.sh +163 -0
  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 +459 -232
  33. package/src/cli/deploy.js +34 -10
  34. package/src/cli/env.js +2 -2
  35. package/src/cli/image.js +57 -9
  36. package/src/cli/index.js +256 -218
  37. package/src/cli/lxd.js +380 -4
  38. package/src/index.js +40 -14
  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.78
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,32 +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
- --istio Init base istio cluster
208
- --valkey Init with valkey service
209
- --contour Init with project contour base HTTPProxy and envoy
210
- --cert-manager Init with letsencrypt-prod ClusterIssuer
211
- --dedicated-gpu Init with dedicated gpu base resources env
212
- --info Get all kinds objects deployed
213
- --full Init with all statefulsets and services available
214
- --ns-use <ns-name> Switches current context to namespace
215
- --kubeadm Init with kubeadm controlplane management
216
- --dev init with dev cluster
217
- --list-pods Display list pods information
218
- --info-capacity display current total machine capacity info
219
- --info-capacity-pod display current machine capacity pod info
220
- --pull-image Set optional pull associated image
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).
221
249
  -h, --help display help for command
222
250
 
223
251
  ```
@@ -227,34 +255,48 @@ Options:
227
255
  ```
228
256
  Usage: underpost deploy [options] [deploy-list] [env]
229
257
 
230
- Manage deployment, for default deploy development pods
258
+ Manages application deployments, defaulting to deploying development pods.
231
259
 
232
260
  Arguments:
233
- deploy-list Deploy id list, e.g. default-a,default-b
234
- env Optional environment, for default is
235
- 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".
236
266
 
237
267
  Options:
238
- --remove Delete deployments and services
239
- --sync Sync deployments env, ports, and replicas
240
- --info-router Display router structure
241
- --expose Expose service match deploy-list
242
- --info-util Display kubectl util management commands
243
- --cert Reset tls/ssl certificate secrets
244
- --build-manifest Build kind yaml manifests: deployments,
245
- services, proxy and secrets
246
- --dashboard-update Update dashboard instance data with current
247
- router config
248
- --replicas <replicas> Set custom number of replicas
249
- --versions <deployment-versions> Comma separated custom deployment versions
250
- --traffic <traffic-versions> Comma separated custom deployment traffic
251
- --disable-update-deployment Disable update deployments
252
- --info-traffic get traffic conf form current resources
253
- deployments
254
- --kubeadm Enable kubeadm context
255
- --restore-hosts Restore defautl etc hosts
256
- --rebuild-clients-bundle Inside container, rebuild clients bundle,
257
- 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).
258
300
  -h, --help display help for command
259
301
 
260
302
  ```
@@ -264,15 +306,19 @@ Options:
264
306
  ```
265
307
  Usage: underpost secret [options] <platform>
266
308
 
267
- Manage secrets
309
+ Manages secrets for various platforms.
268
310
 
269
311
  Arguments:
270
- platform Options: docker,underpost
312
+ platform The secret management platform. Options:
313
+ docker, underpost.
271
314
 
272
315
  Options:
273
- --init Init secrets platform environment
274
- --create-from-file <path-env-file> Create secret from env file
275
- --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.
276
322
  -h, --help display help for command
277
323
 
278
324
  ```
@@ -282,19 +328,28 @@ Options:
282
328
  ```
283
329
  Usage: underpost dockerfile-image-build [options]
284
330
 
285
- Build image from Dockerfile
331
+ Builds a Docker image from a specified Dockerfile with various options for
332
+ naming, saving, and loading.
286
333
 
287
334
  Options:
288
- --path [path] Dockerfile path
289
- --image-name [image-name] Set image name
290
- --image-path [image-path] Set tar image path
291
- --dockerfile-name [dockerfile-name] set Dockerfile name
292
- --podman-save Export tar file from podman
293
- --kind-load Import tar image to Kind cluster
294
- --kubeadm-load Import tar image to Kubeadm cluster
295
- --secrets Dockerfile env secrets
296
- --secrets-path [secrets-path] Dockerfile custom path env secrets
297
- --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.
298
353
  -h, --help display help for command
299
354
 
300
355
  ```
@@ -304,13 +359,15 @@ Options:
304
359
  ```
305
360
  Usage: underpost dockerfile-pull-base-images [options]
306
361
 
307
- Pull underpost dockerfile images requirements
362
+ Pulls required Underpost Dockerfile base images and optionally loads them into
363
+ clusters.
308
364
 
309
365
  Options:
310
- --path [path] Dockerfile path
311
- --kind-load Import tar image to Kind cluster
312
- --kubeadm-load Import tar image to Kubeadm cluster
313
- --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.
314
371
  -h, --help display help for command
315
372
 
316
373
  ```
@@ -320,7 +377,7 @@ Options:
320
377
  ```
321
378
  Usage: underpost install [options]
322
379
 
323
- Fast import underpost npm dependencies
380
+ Quickly imports Underpost npm dependencies by copying them.
324
381
 
325
382
  Options:
326
383
  -h, --help display help for command
@@ -332,23 +389,31 @@ Options:
332
389
  ```
333
390
  Usage: underpost db [options] <deploy-list>
334
391
 
335
- Manage databases
392
+ Manages database operations, including import, export, and collection
393
+ management.
336
394
 
337
395
  Arguments:
338
- 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").
339
398
 
340
399
  Options:
341
- --import Import container backups from repositories
342
- --export Export container backups to repositories
343
- --pod-name <pod-name> Optional pod context
344
- --collections <collections> Comma separated collections
345
- --out-path <out-path> Custom out path backup
346
- --drop Drop databases
347
- --preserveUUID Preserve Ids
348
- --git Upload to github
349
- --hosts <hosts> Comma separated hosts
350
- --paths <paths> Comma separated paths
351
- --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.
352
417
  -h, --help display help for command
353
418
 
354
419
  ```
@@ -358,19 +423,23 @@ Options:
358
423
  ```
359
424
  Usage: underpost script [options] <operator> <script-name> [script-value]
360
425
 
361
- Supports a number of built-in underpost global scripts and their preset life
362
- 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.
363
428
 
364
429
  Arguments:
365
- operator Options: set,run,get
366
- script-name Script name
367
- 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.
368
435
 
369
436
  Options:
370
- --itc Inside container execution context
371
- --itc-path Inside container path options
372
- --ns <ns-name> Options name space context
373
- --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.
374
443
  -h, --help display help for command
375
444
 
376
445
  ```
@@ -380,18 +449,22 @@ Options:
380
449
  ```
381
450
  Usage: underpost cron [options] [deploy-list] [job-list]
382
451
 
383
- Cron jobs management
452
+ Manages cron jobs, including initialization, execution, and configuration
453
+ updates.
384
454
 
385
455
  Arguments:
386
- deploy-list Deploy id list, e.g. default-a,default-b
387
- job-list Deploy id list, e.g. callback,updateDashboardData, for
388
- 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.
389
460
 
390
461
  Options:
391
- --itc Inside container execution context
392
- --init Init cron jobs for cron job default deploy id
393
- --git Upload to github
394
- --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.
395
468
  -h, --help display help for command
396
469
 
397
470
  ```
@@ -401,19 +474,19 @@ Options:
401
474
  ```
402
475
  Usage: underpost fs [options] [path]
403
476
 
404
- File storage management, for default upload file
477
+ Manages file storage, defaulting to file upload operations.
405
478
 
406
479
  Arguments:
407
- path Absolute or relative directory
480
+ path The absolute or relative directory path for file operations.
408
481
 
409
482
  Options:
410
- --rm Remove file
411
- --git Current git changes
412
- --recursive Upload files recursively
413
- --deploy-id <deploy-id> Deploy configuration id
414
- --pull Download file
415
- --force Force action
416
- --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.
417
490
  -h, --help display help for command
418
491
 
419
492
  ```
@@ -423,19 +496,23 @@ Options:
423
496
  ```
424
497
  Usage: underpost test [options] [deploy-list]
425
498
 
426
- Manage Test, for default run current underpost default test
499
+ Manages and runs tests, defaulting to the current Underpost default test suite.
427
500
 
428
501
  Arguments:
429
- 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").
430
504
 
431
505
  Options:
432
- --itc Inside container execution context
433
- --sh Copy to clipboard, container entrypoint shell
434
- command
435
- --logs Display container logs
436
- --pod-name <pod-name>
437
- --pod-status <pod-status>
438
- --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.
439
516
  -h, --help display help for command
440
517
 
441
518
  ```
@@ -445,20 +522,24 @@ Options:
445
522
  ```
446
523
  Usage: underpost monitor [options] <deploy-id> [env]
447
524
 
448
- Monitor health server management
525
+ Manages health server monitoring for specified deployments.
449
526
 
450
527
  Arguments:
451
- deploy-id Deploy configuration id
452
- 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".
453
532
 
454
533
  Options:
455
- --ms-interval <ms-interval> Custom ms interval delta time
456
- --now Exec immediately monitor script
457
- --single Disable recurrence
458
- --replicas <replicas> Set custom number of replicas
459
- --type <type> Set custom monitor type
460
- --sync Sync with current proxy deployments proxy
461
- 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.
462
543
  -h, --help display help for command
463
544
 
464
545
  ```
@@ -468,13 +549,81 @@ Options:
468
549
  ```
469
550
  Usage: underpost lxd [options]
470
551
 
471
- Lxd management
552
+ Manages LXD containers and virtual machines.
472
553
 
473
554
  Options:
474
- --init Init lxd
475
- --reset Reset lxd on current machine
476
- --install Install lxd on current machine
477
- -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
478
627
 
479
628
  ```
480
629