underpost 2.99.8 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.env.production +1 -0
  2. package/.github/workflows/gitlab.ci.yml +20 -0
  3. package/.github/workflows/publish.ci.yml +18 -38
  4. package/.vscode/extensions.json +8 -50
  5. package/.vscode/settings.json +0 -77
  6. package/CHANGELOG.md +116 -1
  7. package/{cli.md → CLI-HELP.md} +48 -41
  8. package/README.md +3 -3
  9. package/bin/build.js +1 -15
  10. package/bin/deploy.js +4 -133
  11. package/bin/file.js +10 -8
  12. package/bin/zed.js +63 -2
  13. package/jsdoc.json +1 -2
  14. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  15. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  16. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  17. package/manifests/deployment/dd-test-development/deployment.yaml +2 -2
  18. package/manifests/deployment/fastapi/initial_data.sh +4 -52
  19. package/manifests/ipfs/configmap.yaml +57 -0
  20. package/manifests/ipfs/headless-service.yaml +35 -0
  21. package/manifests/ipfs/kustomization.yaml +8 -0
  22. package/manifests/ipfs/statefulset.yaml +149 -0
  23. package/manifests/ipfs/storage-class.yaml +9 -0
  24. package/package.json +9 -5
  25. package/scripts/k3s-node-setup.sh +89 -0
  26. package/scripts/lxd-vm-setup.sh +23 -0
  27. package/scripts/rocky-setup.sh +1 -13
  28. package/src/api/user/user.router.js +0 -47
  29. package/src/cli/baremetal.js +7 -9
  30. package/src/cli/cluster.js +72 -121
  31. package/src/cli/deploy.js +8 -5
  32. package/src/cli/index.js +31 -30
  33. package/src/cli/ipfs.js +184 -0
  34. package/src/cli/lxd.js +192 -237
  35. package/src/cli/repository.js +4 -1
  36. package/src/cli/run.js +3 -2
  37. package/src/client/components/core/Docs.js +92 -6
  38. package/src/client/components/core/VanillaJs.js +36 -25
  39. package/src/client/services/user/user.management.js +0 -5
  40. package/src/client/services/user/user.service.js +1 -1
  41. package/src/index.js +12 -1
  42. package/src/runtime/express/Express.js +3 -2
  43. package/src/server/client-build-docs.js +178 -41
  44. package/src/server/conf.js +1 -1
  45. package/src/server/logger.js +22 -10
  46. package/.vscode/zed.keymap.json +0 -39
  47. package/.vscode/zed.settings.json +0 -20
  48. package/manifests/lxd/underpost-setup.sh +0 -163
package/.env.production CHANGED
@@ -49,6 +49,7 @@ NPM_PASSWORD=changethis
49
49
  POSTMAN_EMAIL=admin@default.net
50
50
  POSTMAN_PASSWORD=changethis
51
51
  DEFAULT_SSH_PORT=22
52
+ ENABLE_FILE_LOGS=false
52
53
  BASE_API=api
53
54
  CERTBOT_LIVE_PATH=changethis
54
55
  CERTBOT_LIVE_PATH_WINDOWS=changethis
@@ -0,0 +1,20 @@
1
+ name: CI | Publish gitlab repository package
2
+ on: [push]
3
+ jobs:
4
+ pwa-microservices-template:
5
+ if: github.repository == 'underpostnet/pwa-microservices-template' && startsWith(github.event.head_commit.message, 'ci(package-pwa-microservices-template-ghpkg)')
6
+ name: Update gitlab repo package Jobs
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v4
10
+ with:
11
+ fetch-depth: 0
12
+ lfs: true
13
+ - name: Push to GitLab
14
+ run: |
15
+ git remote add gitlab https://oauth2:${{ secrets.GITLAB_TOKEN }}@gitlab.com/underpostnet/pwa-microservices-template.git
16
+ git lfs install
17
+ git lfs fetch --all
18
+ git lfs push --all gitlab
19
+ git push gitlab HEAD:main --force
20
+ git push gitlab --force --tags
@@ -1,7 +1,8 @@
1
1
  name: CI | Publish npm package
2
2
  on:
3
- release:
4
- types: [released]
3
+ push:
4
+ tags:
5
+ - 'v*'
5
6
  jobs:
6
7
  build-and-publish:
7
8
  # prevents this action from running on forks
@@ -12,28 +13,18 @@ jobs:
12
13
  id-token: write
13
14
  steps:
14
15
  - uses: actions/checkout@v4
15
- with:
16
- ref: ${{ github.ref }}
16
+
17
17
  - uses: actions/setup-node@v4
18
18
  with:
19
19
  node-version: '24.x'
20
20
  registry-url: 'https://registry.npmjs.org'
21
21
 
22
22
  - name: Install Dependencies
23
- run: npm install
24
-
25
- - run: npm ci
23
+ run: npm ci
26
24
 
27
- # Publish to npm
28
- - uses: actions/setup-node@v4
29
- with:
30
- node-version: '24.x'
31
- registry-url: 'https://registry.npmjs.org'
32
- # Defaults to the user or organization that owns the workflow file
33
- # scope: '@underpostnet'
34
- - env:
25
+ - name: Publish to npm
26
+ env:
35
27
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
36
- name: Publish to npm
37
28
  run: npm publish --provenance --access public
38
29
 
39
30
  build-and-publish-ghpkg:
@@ -45,44 +36,33 @@ jobs:
45
36
  id-token: write
46
37
  steps:
47
38
  - uses: actions/checkout@v4
48
- with:
49
- ref: ${{ github.ref }}
39
+
50
40
  - uses: actions/setup-node@v4
51
41
  with:
52
42
  node-version: '24.x'
53
43
  registry-url: 'https://registry.npmjs.org'
44
+ scope: '@underpostnet'
54
45
 
55
46
  - name: Install Dependencies
56
- run: npm install
57
-
58
- - run: npm ci
47
+ run: npm ci
59
48
 
60
- # Publish to npm git hub package
61
- - uses: actions/setup-node@v4
62
- with:
63
- node-version: '24.x'
64
- registry-url: 'https://registry.npmjs.org'
65
- # Defaults to the user or organization that owns the workflow file
66
- scope: '@underpostnet'
67
- - env:
49
+ - name: Publish to npm
50
+ env:
68
51
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
69
- name: Publish to npm
70
- run: |
71
- npm publish --provenance --access public
52
+ run: npm publish --provenance --access public
72
53
 
73
- # Publish to GitHub Packages
74
54
  - name: Setup node to publish to GitHub Packages
75
55
  uses: actions/setup-node@v4
76
56
  with:
77
- node-version: 24.x
57
+ node-version: '24.x'
78
58
  registry-url: 'https://npm.pkg.github.com'
79
- # Defaults to the user or organization that owns the workflow file
80
59
  scope: '@underpostnet'
81
60
 
82
- - run: |
61
+ - name: Publish to GitHub Packages
62
+ run: |
83
63
  npm config set //npm.pkg.github.com/:_authToken=${{ secrets.GIT_AUTH_TOKEN }}
84
64
  echo "//npm.pkg.github.com/:_authToken=${{ secrets.GIT_AUTH_TOKEN }}" > ~/.npmrc
85
- echo "@underposnet:registry=https://npm.pkg.github.com" >> ~/.npmrc
65
+ echo "@underpostnet:registry=https://npm.pkg.github.com" >> ~/.npmrc
86
66
  npm publish
87
67
  env:
88
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
68
+ NODE_AUTH_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
@@ -1,51 +1,9 @@
1
1
  {
2
- "recommendations": [
3
- "antiantisepticeye.vscode-color-picker",
4
- "bashmish.es6-string-css",
5
- "codeium.codeium",
6
- "eamodio.gitlens",
7
- "esbenp.prettier-vscode",
8
- "formulahendry.code-runner",
9
- "github.codespaces",
10
- "github.vscode-github-actions",
11
- "golang.go",
12
- "gruntfuggly.todo-tree",
13
- "mechatroner.rainbow-csv",
14
- "mindaro-dev.file-downloader",
15
- "ms-azuretools.vscode-containers",
16
- "ms-azuretools.vscode-docker",
17
- "ms-kubernetes-tools.vscode-kubernetes-tools",
18
- "ms-python.black-formatter",
19
- "ms-python.debugpy",
20
- "ms-python.python",
21
- "ms-python.vscode-pylance",
22
- "ms-vscode-remote.remote-containers",
23
- "oderwat.indent-rainbow",
24
- "pleiades.java-extension-pack-jdk",
25
- "ravioshankar.scala-gurus",
26
- "redhat.java",
27
- "redhat.vscode-xml",
28
- "redhat.vscode-yaml",
29
- "ritwickdey.liveserver",
30
- "scala-lang.scala",
31
- "scala-lang.scala-snippets",
32
- "scalameta.metals",
33
- "shakram02.bash-beautify",
34
- "shardulm94.trailing-spaces",
35
- "streetsidesoftware.code-spell-checker",
36
- "tamasfe.even-better-toml",
37
- "tobermory.es6-string-html",
38
- "visualstudioexptteam.intellicode-api-usage-examples",
39
- "visualstudioexptteam.vscodeintellicode",
40
- "vmware.vscode-boot-dev-pack",
41
- "vmware.vscode-spring-boot",
42
- "vscjava.vscode-gradle",
43
- "vscjava.vscode-java-debug",
44
- "vscjava.vscode-java-dependency",
45
- "vscjava.vscode-java-pack",
46
- "vscjava.vscode-java-test",
47
- "vscjava.vscode-maven",
48
- "vscjava.vscode-spring-boot-dashboard",
49
- "vscjava.vscode-spring-initializr"
50
- ]
51
- }
2
+ "recommendations": [
3
+ "antiantisepticeye.vscode-color-picker",
4
+ "bashmish.es6-string-css",
5
+ "eamodio.gitlens",
6
+ "esbenp.prettier-vscode",
7
+ "tobermory.es6-string-html",
8
+ ],
9
+ }
@@ -6,81 +6,4 @@
6
6
  "[javascript]": {
7
7
  "editor.defaultFormatter": "esbenp.prettier-vscode",
8
8
  },
9
- "[python]": {
10
- "editor.defaultFormatter": "ms-python.python",
11
- },
12
- "cSpell.words": [
13
- "adminer",
14
- "ANAME",
15
- "browserconfig",
16
- "Bymyelectrics",
17
- "certbot",
18
- "certonly",
19
- "changefreq",
20
- "chebyshev",
21
- "Cids",
22
- "Contracultura",
23
- "cooldown",
24
- "cryptokoyn",
25
- "cyberia",
26
- "cyberiaonline",
27
- "dbname",
28
- "dists",
29
- "DNSSEC",
30
- "DOGMADUAL",
31
- "dondominio",
32
- "dont",
33
- "fileupload",
34
- "fontawesome",
35
- "fortawesome",
36
- "gameplay",
37
- "googlebot",
38
- "Hexa",
39
- "htdocs",
40
- "htmls",
41
- "inet",
42
- "inlt",
43
- "Itemledger",
44
- "jsonld",
45
- "lampp",
46
- "letsencrypt",
47
- "loadingio",
48
- "Longname",
49
- "metanarrative",
50
- "Microdata",
51
- "minami",
52
- "MMORPG",
53
- "mongosh",
54
- "mysqldump",
55
- "neodrag",
56
- "nexodev",
57
- "pathfinding",
58
- "Pixi",
59
- "privkey",
60
- "runas",
61
- "Scatterplot",
62
- "sortablejs",
63
- "statefulset",
64
- "supervisord",
65
- "Tokenomics",
66
- "underpost",
67
- "underpostnet",
68
- "Unequip",
69
- "uuidv",
70
- "Valkey",
71
- "webroot",
72
- "xampp",
73
- "xfwd",
74
- "youtu",
75
- ],
76
- "[php]": {
77
- "editor.defaultFormatter": "bmewburn.vscode-intelephense-client",
78
- },
79
- "[xml]": {
80
- "editor.defaultFormatter": "redhat.vscode-xml",
81
- },
82
-
83
- "files.watcherExclude": {
84
- "**/target": true,
85
- },
86
9
  }
package/CHANGELOG.md CHANGED
@@ -1,6 +1,121 @@
1
1
  # Changelog
2
2
 
3
- ## 2026-02-19
3
+ ## 2026-02-23
4
+
5
+ ### gitlab
6
+
7
+ - Fix package json lock template build ([e674ec6b](https://github.com/underpostnet/engine/commit/e674ec6be61d7a170ab468d473d0e545401b765a))
8
+ - Fix mirror push to GitLab ([9585aa50](https://github.com/underpostnet/engine/commit/9585aa50ee481fa49084c0edd44cc28b4b2561e8))
9
+
10
+ ### bin-file
11
+
12
+ - Add missing gitlab.ci.yml build to pwa-microservices-template ([ec49ded0](https://github.com/underpostnet/engine/commit/ec49ded0ac3fbfcba1e7e10b0ed1dcfc13a8da87))
13
+
14
+ ### client-core
15
+
16
+ - Add missing keyboard focus search box on iframes docs ([c5b0f86c](https://github.com/underpostnet/engine/commit/c5b0f86c7acc0d2c964cc1ef80625693241e6d62))
17
+ - Add VanillaJs get selector in iframe ([e37fa340](https://github.com/underpostnet/engine/commit/e37fa34037cff9924bc747f1ee11190ee2e1164b))
18
+
19
+ ### giblab
20
+
21
+ - Add .gitlab-ci.yml ([a795bd5f](https://github.com/underpostnet/engine/commit/a795bd5f3526257c858ec70ee27feb8bfd793baf))
22
+
23
+ ### docs
24
+
25
+ - Add VanillaJs get selector in iframe sync darkTheme in docs component. ([5b2ba08f](https://github.com/underpostnet/engine/commit/5b2ba08f3b0df3a6072aa49ca55efd223f72a95c))
26
+
27
+ ### server-client-build-docs
28
+
29
+ - Enable Swagger UI Dark Light Mode ([eaadad70](https://github.com/underpostnet/engine/commit/eaadad70cd74bcd9f7990dd63834bbd69bffcbae))
30
+
31
+ ### github-actions
32
+
33
+ - Add gitlab mirror CI repository integration ([3d6acdef](https://github.com/underpostnet/engine/commit/3d6acdefeea72f26a733975e822dbcf2b4e793e3))
34
+ - Fix GitHub Actions npm provenance ([cd31b8f0](https://github.com/underpostnet/engine/commit/cd31b8f0ed202ed376016d3fc4b9fc63152f5186))
35
+
36
+ ### cli-run
37
+
38
+ - Fix missing cluster type on runners id cluster and gpu env ([ddd72d2e](https://github.com/underpostnet/engine/commit/ddd72d2e32e448b8956862f0719d5ab2d2ea7606))
39
+
40
+ ### package
41
+
42
+ - Resolve npm ci lock mismatch ([357b4e81](https://github.com/underpostnet/engine/commit/357b4e81611541a0d979bc95cb587343bf540604))
43
+
44
+ ### cli-repo
45
+
46
+ - Fix Changelog error due to type integration message ([750656e1](https://github.com/underpostnet/engine/commit/750656e1cbee5dbb3e73d9d5cdd4d94ed049a4f1))
47
+
48
+ ### cli-ipfs
49
+
50
+ - Fix underpost ipfs syntax import in main src index ([f7bebb65](https://github.com/underpostnet/engine/commit/f7bebb6555a85df35aed3e248dd0b304c00fd008))
51
+
52
+ ## New release v:3.0.0 (2026-02-22)
53
+
54
+ ### engine-core
55
+
56
+ - Add ENABLE_FILE_LOGS env ([8657e35f](https://github.com/underpostnet/engine/commit/8657e35f2dab6cf1507a9b3f9146df45ab07d0dd))
57
+
58
+ ### docs
59
+
60
+ - Rename cli.md -> CLI-HELP.md ([18e18689](https://github.com/underpostnet/engine/commit/18e18689349227b2c8769eec9f4e1ebeb85b8cf0))
61
+ - Apply fix in swagger-autogen@2.9.2 bug: getResponsesTag missing __¬¬¬__ decode ([2b0d27db](https://github.com/underpostnet/engine/commit/2b0d27db38307d9276b14651083b0ac0c20ecaed))
62
+ - Remove unused jsdocs sections ([ec06f338](https://github.com/underpostnet/engine/commit/ec06f338cca5d656f46629b8957e3ded183ecff7))
63
+
64
+ ### bin-zed
65
+
66
+ - Move zed settings file tod zed js bin module ([ba32abea](https://github.com/underpostnet/engine/commit/ba32abeaff4d198c79bcd92ab0fc0120bb41d9d5))
67
+
68
+ ### client-core
69
+
70
+ - Fix clear filter user management ([a1d79661](https://github.com/underpostnet/engine/commit/a1d796612654f0e03a4d64ad16dfed403ad0a771))
71
+
72
+ ### package
73
+
74
+ - Fix resolve npm minimatch ReDoS vulnerability ([4739fea1](https://github.com/underpostnet/engine/commit/4739fea18407b88e407f7b4be109f2ecc3a3435e))
75
+ - Apply npm audit fix ([9496c5c7](https://github.com/underpostnet/engine/commit/9496c5c77980102fcb402aae29de3f72337adcc4))
76
+ - Apply npm audit fix versions packages ([a1ed004e](https://github.com/underpostnet/engine/commit/a1ed004eecc1219e612027e9bc1f2fab4c717517))
77
+
78
+ ### server-client-build-docs
79
+
80
+ - Apply Swagger autogen syntax error fix of version v2.9.2 ([7c8da2ff](https://github.com/underpostnet/engine/commit/7c8da2ff7ffd55e7b0492f019a2b44294137ab39))
81
+
82
+ ### vscode
83
+
84
+ - Remove vs deprecated settings conf, and remove vs extension to minimal and remove comments of vs extensions in vanilla js ([b2aec354](https://github.com/underpostnet/engine/commit/b2aec354e757f136265b564a86cd1744bd460d88))
85
+
86
+ ### cli-ipfs
87
+
88
+ - Implements base ipfs underpost dedicated module ([7f4f27f9](https://github.com/underpostnet/engine/commit/7f4f27f9c63ff149c5dd4de57952961a2b3498d0))
89
+
90
+ ### cli-cluster
91
+
92
+ - Add Main IPFS Cluster StatefulSet Integration ([53dd0903](https://github.com/underpostnet/engine/commit/53dd09038b47d1a8330ff1e72b0087d2600c93b9))
93
+ - Add --exposePort custom flag ([a29185fe](https://github.com/underpostnet/engine/commit/a29185fe6f48c3babaa66d142d042909ca8b0889))
94
+ - Refactor pullImage load docker pull images to kind nodes ([3bdd5e78](https://github.com/underpostnet/engine/commit/3bdd5e787c242318cbab032816adf0008e9ab9dd))
95
+ - Add --replicas custom option ([70bdc6cd](https://github.com/underpostnet/engine/commit/70bdc6cdc0cf2aa3b2025133a5438f55d7e1ad18))
96
+ - Centralize pullImage for k3s kubeadm kind ([873b20d5](https://github.com/underpostnet/engine/commit/873b20d5a24b07afea39a95e0f705d1f8f01050b))
97
+ - Add snap install on init host workflow and cluster safeReset refactor ([48b4c33d](https://github.com/underpostnet/engine/commit/48b4c33d59166d54042fc5f96b5b524eccbdf1ec))
98
+
99
+ ### server-logger
100
+
101
+ - Add optional file logging to logger factory ([ef18a29e](https://github.com/underpostnet/engine/commit/ef18a29e6e31e24e0e705446ca3cdf8804bda6ef))
102
+
103
+ ### cli-lxd
104
+
105
+ - Refactor lxd module and workflows to vm cluster with k3s control and worker node integration ([812d5cdd](https://github.com/underpostnet/engine/commit/812d5cdd86f3055c448b594c218ae6e99c365e38))
106
+
107
+ ### bin-deploy
108
+
109
+ - Clean up legacy logic ([d3cb1139](https://github.com/underpostnet/engine/commit/d3cb1139b3670915f6c612fd127541debb717d86))
110
+
111
+ ### github-actions
112
+
113
+ - Add ref to checkout for provenance in cyberia publish workflow package ([6e0f9b59](https://github.com/underpostnet/engine/commit/6e0f9b5939103a366d28c4940e859d545cabdc34))
114
+ - Add ref to checkout for provenance ([0512ebec](https://github.com/underpostnet/engine/commit/0512ebecf65d1379d29c2c0e2377733a4265c06f))
115
+ - Remove copying of MariaDB.js to underpost directory. ([d64c64ee](https://github.com/underpostnet/engine/commit/d64c64ee99b015dd1e956f6ccc9055fcb73057f9))
116
+ - Fix package-pwa-microservices-template-ghpkg commit message propagation logic ([c8ef2ea8](https://github.com/underpostnet/engine/commit/c8ef2ea8d89d1a37c4dacef4d2538304605369fc))
117
+
118
+ ## New release v:2.99.8 (2026-02-18)
4
119
 
5
120
  ### github-actions
6
121
 
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v2.99.8
1
+ ## underpost ci/cd cli v3.0.1
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -31,7 +31,7 @@ Commands:
31
31
  monitor [options] <deploy-id> [env] Manages health server monitoring for specified deployments.
32
32
  ssh [options] Manages SSH credentials and sessions for remote access to cluster nodes or services.
33
33
  run [options] <runner-id> [path] Runs specified scripts using various runners.
34
- lxd [options] Manages LXD containers and virtual machines.
34
+ lxd [options] Manages LXD virtual machines as K3s nodes (control plane or workers).
35
35
  baremetal [options] [workflow-id] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
36
36
  help [command] display help for command
37
37
 
@@ -370,6 +370,8 @@ Options:
370
370
  4.4 service.
371
371
  --valkey Initializes the cluster with a Valkey
372
372
  service.
373
+ --ipfs Initializes the cluster with an
374
+ ipfs-cluster statefulset.
373
375
  --contour Initializes the cluster with Project
374
376
  Contour base HTTPProxy and Envoy.
375
377
  --cert-manager Initializes the cluster with a Let's
@@ -408,7 +410,6 @@ Options:
408
410
  by init-host.
409
411
  --config Sets the base Kubernetes node
410
412
  configuration.
411
- --worker Sets the context for a worker node.
412
413
  --chown Sets the appropriate ownership for
413
414
  Kubernetes kubeconfig files.
414
415
  --k3s Initializes the cluster using K3s
@@ -419,6 +420,8 @@ Options:
419
420
  after execution.
420
421
  --namespace <namespace> Kubernetes namespace for cluster
421
422
  operations (defaults to "default").
423
+ --replicas <replicas> Sets a custom number of replicas for
424
+ statefulset deployments.
422
425
  -h, --help display help for command
423
426
 
424
427
  ```
@@ -491,6 +494,9 @@ Options:
491
494
  deployment operations.
492
495
  --port <port> Sets up port forwarding from local to
493
496
  remote ports.
497
+ --expose-port <port> Sets the local:remote port to expose when
498
+ --expose is active (overrides
499
+ auto-detected service port).
494
500
  --cmd <cmd> Custom initialization command for
495
501
  deployment (comma-separated commands).
496
502
  -h, --help display help for command
@@ -904,47 +910,48 @@ Options:
904
910
  ```
905
911
  Usage: underpost lxd [options]
906
912
 
907
- Manages LXD containers and virtual machines.
913
+ Manages LXD virtual machines as K3s nodes (control plane or workers).
908
914
 
909
915
  Options:
910
- --init Initializes LXD on the current machine.
911
- --reset Resets LXD on the current machine, deleting
912
- all configurations.
913
- --install Installs LXD on the current machine.
914
- --dev Sets the development context environment for
915
- LXD.
916
- --create-virtual-network Creates an LXD virtual network bridge.
917
- --create-admin-profile Creates an admin profile for LXD management.
918
- --control Sets the context for a control node VM.
919
- --worker Sets the context for a worker node VM.
920
- --create-vm <vm-id> Creates default virtual machines with the
921
- specified ID.
922
- --init-vm <vm-id> Retrieves the Underpost initialization
923
- script for the specified VM.
924
- --info-vm <vm-id> Retrieves all information about the
916
+ --init Initializes LXD on the current machine via
917
+ preseed.
918
+ --reset Removes the LXD snap and purges all data.
919
+ --install Installs the LXD snap.
920
+ --dev Use local paths instead of the global npm
921
+ installation.
922
+ --create-virtual-network Creates the lxdbr0 bridge network.
923
+ --ipv4-address <cidr> IPv4 address/CIDR for the lxdbr0 bridge
924
+ network (default: "10.250.250.1/24").
925
+ --create-admin-profile Creates the admin-profile for VM management.
926
+ --control Initialize the target VM as a K3s control
927
+ plane node.
928
+ --worker Initialize the target VM as a K3s worker
929
+ node.
930
+ --create-vm <vm-name> Copy the LXC launch command for a new K3s VM
931
+ to the clipboard.
932
+ --delete-vm <vm-name> Stop and delete the specified VM.
933
+ --init-vm <vm-name> Run k3s-node-setup.sh on the specified VM
934
+ (use with --control or --worker).
935
+ --info-vm <vm-name> Display full configuration and status for
936
+ the specified VM.
937
+ --test <vm-name> Run connectivity and health checks on the
925
938
  specified VM.
926
- --test <vm-id> Tests the health, status, and network
927
- connectivity for a VM.
928
- --root-size <gb-size> Sets the root partition size (in GB) for the
929
- VM.
930
- --k3s Flag to indicate that the VM initialization
931
- is for a K3s cluster type.
932
- --join-node <nodes> A comma-separated list of worker and control
933
- nodes to join (e.g.,
934
- "k8s-worker-1,k8s-control").
935
- --expose <vm-name-ports> Exposes specified ports on a VM (e.g.,
936
- "k8s-control:80,443"). Multiple VM-port
937
- pairs can be comma-separated.
938
- --delete-expose <vm-name-ports> Removes exposed ports on a VM (e.g.,
939
- "k8s-control:80,443"). Multiple VM-port
940
- pairs can be comma-separated.
941
- --workflow-id <workflow-id> Sets the workflow ID context for LXD
942
- operations.
943
- --vm-id <vm-id> Sets the VM ID context for LXD operations.
944
- --deploy-id <deploy-id> Sets the deployment ID context for LXD
945
- operations.
946
- --namespace <namespace> Kubernetes namespace for LXD operations
947
- (defaults to "default").
939
+ --root-size <gb-size> Root disk size in GiB for --create-vm
940
+ (default: 32).
941
+ --join-node <nodes> Join a K3s worker to a control plane.
942
+ Standalone format: "workerName,controlName".
943
+ When used with --init-vm --worker, provide
944
+ just the control node name for auto-join.
945
+ --expose <vm-name:ports> Proxy host ports to a VM (e.g.,
946
+ "k3s-control:80,443").
947
+ --delete-expose <vm-name:ports> Remove proxied ports from a VM (e.g.,
948
+ "k3s-control:80,443").
949
+ --workflow-id <workflow-id> Workflow ID to execute via runWorkflow.
950
+ --vm-id <vm-name> Target VM name for workflow execution.
951
+ --deploy-id <deploy-id> Deployment ID context for workflow
952
+ execution.
953
+ --namespace <namespace> Kubernetes namespace context (defaults to
954
+ "default").
948
955
  -h, --help display help for command
949
956
 
950
957
  ```
package/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  <div align="center">
18
18
 
19
- [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/2.99.8)](https://socket.dev/npm/package/underpost/overview/2.99.8) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
19
+ [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/3.0.1)](https://socket.dev/npm/package/underpost/overview/3.0.1) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
20
20
 
21
21
  </div>
22
22
 
@@ -60,7 +60,7 @@ npm run dev
60
60
 
61
61
  <a target="_top" href="https://www.nexodev.org/docs?cid=src">See Docs here.</a>
62
62
 
63
- ## underpost ci/cd cli v2.99.8
63
+ ## underpost ci/cd cli v3.0.1
64
64
 
65
65
  ### Usage: `underpost [options] [command]`
66
66
  ```
@@ -99,4 +99,4 @@ Commands:
99
99
 
100
100
  ```
101
101
 
102
- <a target="_top" href="https://github.com/underpostnet/pwa-microservices-template/blob/master/cli.md">See CLI Docs here.</a>
102
+ <a target="_top" href="https://github.com/underpostnet/pwa-microservices-template/blob/master/CLI-HELP.md">See CLI Docs here.</a>
package/bin/build.js CHANGED
@@ -10,13 +10,6 @@ if (fs.existsSync(baseConfPath)) dotenv.config({ path: baseConfPath, override: t
10
10
 
11
11
  const logger = loggerFactory(import.meta);
12
12
 
13
- // (async () => {
14
- // return;
15
- // const files = await fs.readdir(`./src`);
16
- // for (const relativePath of files) {
17
- // }
18
- // })();
19
-
20
13
  const confName = process.argv[2];
21
14
  const basePath = '../pwa-microservices-template';
22
15
  const repoName = `engine-${confName.split('dd-')[1]}`;
@@ -24,20 +17,13 @@ const deployList = (confName === 'dd' ? fs.readFileSync(`./engine-private/deploy
24
17
  ',',
25
18
  );
26
19
 
27
- logger.info('', {
20
+ logger.info('Build repository', {
28
21
  confName,
29
22
  repoName,
30
23
  basePath,
31
24
  deployList,
32
25
  });
33
26
 
34
- if (process.argv.includes('clean')) {
35
- if (fs.existsSync(`${basePath}/images`)) fs.copySync(`${basePath}/images`, `./images`);
36
- shellExec(`cd ${basePath} && git checkout .`);
37
- shellExec(`cd ${basePath} && git clean -f -d`);
38
- process.exit(0);
39
- }
40
-
41
27
  if (process.argv.includes('conf')) {
42
28
  for (const _confName of deployList) {
43
29
  const _repoName = `engine-${_confName.split('dd-')[1]}`;