underpost 3.2.22 → 3.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ghpkg.ci.yml +1 -1
- package/.github/workflows/gitlab.ci.yml +1 -1
- package/.github/workflows/npmpkg.ci.yml +1 -1
- package/.github/workflows/publish.ci.yml +2 -2
- package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -1
- package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
- package/CHANGELOG.md +141 -1
- package/CLI-HELP.md +56 -2
- package/README.md +3 -2
- package/baremetal/commission-workflows.json +1 -0
- package/bin/build.js +1 -0
- package/docker-compose.yml +224 -0
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/package.json +27 -15
- package/scripts/kubeadm-node-setup.sh +317 -0
- package/scripts/rocky-kickstart.sh +877 -185
- package/scripts/rpmfusion-ffmpeg-setup.sh +26 -50
- package/src/cli/baremetal.js +717 -16
- package/src/cli/cluster.js +3 -1
- package/src/cli/deploy.js +6 -2
- package/src/cli/docker-compose.js +591 -0
- package/src/cli/fs.js +35 -11
- package/src/cli/index.js +75 -0
- package/src/cli/kickstart.js +142 -20
- package/src/cli/repository.js +72 -11
- package/src/cli/run.js +253 -2
- package/src/cli/ssh.js +190 -0
- package/src/cli/static.js +2 -2
- package/src/{server → client-builder}/client-build-docs.js +15 -5
- package/src/{server → client-builder}/client-build-live.js +3 -3
- package/src/{server → client-builder}/client-build.js +25 -22
- package/src/{server → client-builder}/client-dev-server.js +3 -3
- package/src/{server → client-builder}/client-icons.js +2 -2
- package/src/{server → client-builder}/ssr.js +5 -5
- package/src/client.build.js +1 -1
- package/src/client.dev.js +1 -1
- package/src/index.js +12 -1
- package/src/mailer/EmailRender.js +1 -1
- package/src/{server → projects/underpost}/catalog-underpost.js +1 -2
- package/src/runtime/express/Express.js +2 -2
- package/src/runtime/nginx/Nginx.js +250 -0
- package/src/server/catalog.js +7 -14
- package/src/server/conf.js +3 -3
- package/src/server.js +1 -1
- package/typedoc.json +3 -1
- package/src/server/ipfs-client.js +0 -599
- /package/src/client/ssr/{Render.js → RootDocument.js} +0 -0
- /package/src/{server → client-builder}/client-formatted.js +0 -0
|
@@ -17,7 +17,7 @@ jobs:
|
|
|
17
17
|
packages: write
|
|
18
18
|
id-token: write
|
|
19
19
|
steps:
|
|
20
|
-
- uses: actions/checkout@
|
|
20
|
+
- uses: actions/checkout@v7
|
|
21
21
|
|
|
22
22
|
- name: Install required packages
|
|
23
23
|
run: |
|
|
@@ -54,7 +54,7 @@ jobs:
|
|
|
54
54
|
packages: write
|
|
55
55
|
id-token: write
|
|
56
56
|
steps:
|
|
57
|
-
- uses: actions/checkout@
|
|
57
|
+
- uses: actions/checkout@v7
|
|
58
58
|
|
|
59
59
|
- uses: actions/setup-node@v6
|
|
60
60
|
with:
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,146 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 2026-06-
|
|
3
|
+
## 2026-06-23
|
|
4
|
+
|
|
5
|
+
### hardhat
|
|
6
|
+
|
|
7
|
+
- Add chai devDependency in hardhat module ([bf20134d0](https://github.com/underpostnet/engine/commit/bf20134d0a61512b223b868129eed38c0e7583cf))
|
|
8
|
+
- Fix hardhat undici base dependency ([c9ad2a9f0](https://github.com/underpostnet/engine/commit/c9ad2a9f09d893495d3b80be400ca023c96e91cc))
|
|
9
|
+
- Hardhat 3 migration to nomicfoundation hardhat-toolbox-viem ([22c410635](https://github.com/underpostnet/engine/commit/22c4106355f3c7d6654f21179f131f6ed8fd20cc))
|
|
10
|
+
|
|
11
|
+
### deploy
|
|
12
|
+
|
|
13
|
+
- Fix verify secrets exists tls deployment in deploy pipeline ([0367676a9](https://github.com/underpostnet/engine/commit/0367676a9a6363e69f772739040bc100dc1c3ceb))
|
|
14
|
+
|
|
15
|
+
### run-cli
|
|
16
|
+
|
|
17
|
+
- move-node runner: Add skip the patch + rollout if the resource is already where node goal ([b88cf3c68](https://github.com/underpostnet/engine/commit/b88cf3c6833572e9128d4aa85eccf0c94b055609))
|
|
18
|
+
- Add node-move k8s crd between nodes runner ([4c0259a63](https://github.com/underpostnet/engine/commit/4c0259a63380fea6d5261f55f94ba8daf0d9783f))
|
|
19
|
+
|
|
20
|
+
### baremetal
|
|
21
|
+
|
|
22
|
+
- FIx kubeadm join node logic workflow ([72d7994a7](https://github.com/underpostnet/engine/commit/72d7994a7d978841df83854e1032f7fe79a7e185))
|
|
23
|
+
- Add flag --resume-infra-setup to restore ssh kubeadm remote node deployment ([78a41d400](https://github.com/underpostnet/engine/commit/78a41d4008eceb68a33a2445b4aafd4a7b5aa546))
|
|
24
|
+
- Add engine repo customization in control and worker node commission workflows ([2b8c47f52](https://github.com/underpostnet/engine/commit/2b8c47f52b0c4a1eff82bc8b6cf966aa58f0fece))
|
|
25
|
+
- Fix kubeadm join node logic in ssh remote commission workflows ([72f7e2527](https://github.com/underpostnet/engine/commit/72f7e252733be2f95f67afdfd758f471c1a590f6))
|
|
26
|
+
- Fix SELinux config in install chroot in os deployed ([e7d46472e](https://github.com/underpostnet/engine/commit/e7d46472e41d4beb992918a3c5e2274614818609))
|
|
27
|
+
- Add Timezone + keyboard now configured in the deployed OS ([de00c365d](https://github.com/underpostnet/engine/commit/de00c365d0a12d4abef9735f26dd4c56b77d5dc9))
|
|
28
|
+
- Implement user and ssh keys customization --deploy-id and --user flags in commission workflow ([ec0720230](https://github.com/underpostnet/engine/commit/ec07202309371c8e56df0c2dbe63e0283ccb5c8a))
|
|
29
|
+
- Implement worker and control plane automated infra setup post install os deploy ([d5edb41ab](https://github.com/underpostnet/engine/commit/d5edb41ab3855696198daa3ef44abe521768d260))
|
|
30
|
+
- Implement Automate Rocky Linux bare-metal deployment with SSH and disk detection ([2a0cbf5f1](https://github.com/underpostnet/engine/commit/2a0cbf5f1a90ebc1c4bdae0ea5f37fb16f1395c4))
|
|
31
|
+
|
|
32
|
+
### kickstart
|
|
33
|
+
|
|
34
|
+
- Fix rocky ephemeral commission ssh server exposure ([b5d3007f6](https://github.com/underpostnet/engine/commit/b5d3007f65e9df0affca1ca21ecdfb6cbbea1724))
|
|
35
|
+
|
|
36
|
+
### repository
|
|
37
|
+
|
|
38
|
+
- Enhance routePath candidates logic build ([a3d7fd806](https://github.com/underpostnet/engine/commit/a3d7fd8068e31fbdacc5b9832047f09f720ba30c))
|
|
39
|
+
|
|
40
|
+
### engine-cyberia
|
|
41
|
+
|
|
42
|
+
- Shrinks cyberia-client and cyberia-server production Dockerfile ([dd218c847](https://github.com/underpostnet/engine/commit/dd218c847bbc0c2e3662833607731a8bbe6815c9))
|
|
43
|
+
- Remove redundant saga index and fix null-safe frames access ([9947164e6](https://github.com/underpostnet/engine/commit/9947164e681ae7a5407af9227ae600c6a8a1aa84))
|
|
44
|
+
- Migrate saga generation from DeepSeek to Gemini with staged generation ([6322cd197](https://github.com/underpostnet/engine/commit/6322cd19774d94f312f64173cb41ba62d3c5bba3))
|
|
45
|
+
- Move cyberia server related modules to dedicated src/cyberia directory ([648309ece](https://github.com/underpostnet/engine/commit/648309ecee5b07bcf2132188d089c733f0646fb8))
|
|
46
|
+
- Introduce Top-Down PCG (Semantic Reverse-Engineering) modules and cli command ([5664f536c](https://github.com/underpostnet/engine/commit/5664f536c54446116296a465fc1efd63b1dece42))
|
|
47
|
+
- Clean up quotes and update comment in action service ([1668f95e6](https://github.com/underpostnet/engine/commit/1668f95e6fa266faba89dfecafe89b9654fd7b93))
|
|
48
|
+
- Split action-provider and quest-provider status icons ([e3186a37d](https://github.com/underpostnet/engine/commit/e3186a37d962980e34e0c29234bf4dd3388553e2))
|
|
49
|
+
- Add quest-by-cell lookup endpoint ([648eb1437](https://github.com/underpostnet/engine/commit/648eb14374a549f9e789a425533f9313b9292cfb))
|
|
50
|
+
- Implement base client component ActionEngineCyberia with map-driven quest and action management ([cc89512c0](https://github.com/underpostnet/engine/commit/cc89512c098729012d99e5817b29480808044885))
|
|
51
|
+
|
|
52
|
+
### docker-compose
|
|
53
|
+
|
|
54
|
+
- Implement base docker-compose engine integration ([3374c7f1a](https://github.com/underpostnet/engine/commit/3374c7f1a4379256db577988d841f414947db0c4))
|
|
55
|
+
|
|
56
|
+
### cyberia-cli
|
|
57
|
+
|
|
58
|
+
- Update default generate-saga temperature ([dbc5ce5b8](https://github.com/underpostnet/engine/commit/dbc5ce5b83a8268f342a3be3af8c21d1628578a0))
|
|
59
|
+
- In generate-saga pipeline add 'naming and character culture' customization ([516f0ded7](https://github.com/underpostnet/engine/commit/516f0ded7dde5d1990cde5a8e98b6a16807411db))
|
|
60
|
+
- Refactor generate saga pipeline general theme purpose ([993aac921](https://github.com/underpostnet/engine/commit/993aac921a5ba0a41dee8f53fb508505c900ad1e))
|
|
61
|
+
- Refactor saga pipeline replace THEME_DIMENSIONS to dedicated FACTIONS base theme scope ([1280edfde](https://github.com/underpostnet/engine/commit/1280edfdef885dd0e05afd00dd7dbb418a3d2896))
|
|
62
|
+
- Refactor theme dimension scope in generate-sage pipeline, add --tone and simplify 4 mains and add flag --temperature to customizaction ([cc0a3e245](https://github.com/underpostnet/engine/commit/cc0a3e245a3020246e71149d88ed6f026fdff7e2))
|
|
63
|
+
- Add maps semantic stage in generate-saga pipeline ([5c7bdab03](https://github.com/underpostnet/engine/commit/5c7bdab034a3de473e6197d5ffc5d3c61d71f4ef))
|
|
64
|
+
- Fix quest generation with talk objectives case and related logic ([c4d9e397c](https://github.com/underpostnet/engine/commit/c4d9e397c155d5d7c48e42f387c30263cde5c149))
|
|
65
|
+
- Add --space-context flag customization in generate-saga pipeline ([19d2f7ed6](https://github.com/underpostnet/engine/commit/19d2f7ed6aa8ea41ac72622c384f84a524464a4c))
|
|
66
|
+
- Generate saga command: Add lore-grounded auto-theme generation - Auto-synthesize saga themes from CYBERIA-LORE.md when --prompt is omitted - Add --lore-path option to override the base lore document - Add temperature support to GeminiClient.chatJson for varied output - Default --out to ./engine-private/cyberia-sagas/<saga-code>.json - Remove hard requirement for --prompt or --import - Update docs and help text to reflect auto-generation mode ([5b1a668a7](https://github.com/underpostnet/engine/commit/5b1a668a7c1e2b48652b717934d56ec6e9902d54))
|
|
67
|
+
|
|
68
|
+
### package
|
|
69
|
+
|
|
70
|
+
- Fix nodemailer version ([7d27b7f48](https://github.com/underpostnet/engine/commit/7d27b7f4826b656abdd1d2a10c5d5bb478cd90bf))
|
|
71
|
+
- Fix dependency vulnerability ([13991a0fe](https://github.com/underpostnet/engine/commit/13991a0fe4594887da89de16ac502be4ef7112cb))
|
|
72
|
+
|
|
73
|
+
### cyberia-docs
|
|
74
|
+
|
|
75
|
+
- Add base Cyberia Lore: The Frontier of Hyperspace ([d389b881f](https://github.com/underpostnet/engine/commit/d389b881ff8dadb9154bb1f7078a515246150031))
|
|
76
|
+
|
|
77
|
+
### build
|
|
78
|
+
|
|
79
|
+
- Fix catalog generic deploy-id handling ([413f3fc63](https://github.com/underpostnet/engine/commit/413f3fc63851d678267a5618c6779fffc49cb14e))
|
|
80
|
+
|
|
81
|
+
### engine
|
|
82
|
+
|
|
83
|
+
- Refactor introduce new projects module and client-builder modules split from server ([4d14ee552](https://github.com/underpostnet/engine/commit/4d14ee552258cb3c2f70e43291945798b4d95f1a))
|
|
84
|
+
|
|
85
|
+
### api
|
|
86
|
+
|
|
87
|
+
- Introduce base cyberia-saga api / model ([2f02f5d6a](https://github.com/underpostnet/engine/commit/2f02f5d6a2ff2258146498bb50ac3e65b51beced))
|
|
88
|
+
- Update canonical action defaults with typed quest dialogues and add Wason errand quest ([5e380abee](https://github.com/underpostnet/engine/commit/5e380abeef4954567717138af5218b506b3da414))
|
|
89
|
+
- Refactor action model: remove type and grantQuestCode, add per-quest dialogue map and getByCode endpoint ([3ce9f4c18](https://github.com/underpostnet/engine/commit/3ce9f4c18ef993da85fe5f9b10b61cf7987e5457))
|
|
90
|
+
- Update quest defaults: replace SCP-2040 references with Kishins ([bf6fa827d](https://github.com/underpostnet/engine/commit/bf6fa827d0fffbe5fcf97756263af50eade0af4b))
|
|
91
|
+
- Add fallback defaults to dialogue and quest services ([ab2894dd4](https://github.com/underpostnet/engine/commit/ab2894dd4f591cc7247d6708a25ea737ea059c56))
|
|
92
|
+
- Refactor CyberiaAction model to cell-based binding and remove provideItemId ([614a2aa60](https://github.com/underpostnet/engine/commit/614a2aa60bfa8e2330722c9c4e9fea4afc3adf3c))
|
|
93
|
+
- Add quest metadata REST endpoint GET /api/cyberia-quest/code/:code ([c6f7cfa94](https://github.com/underpostnet/engine/commit/c6f7cfa94a4b3cc9f398cd63c24082b8c47db642))
|
|
94
|
+
|
|
95
|
+
### grpc
|
|
96
|
+
|
|
97
|
+
- Scope quest delivery to instance map codes ([d357c0cce](https://github.com/underpostnet/engine/commit/d357c0cce491078ea00a294f15f1b886fb92c05d))
|
|
98
|
+
- Add prerequisiteCodes and canonical item fallback to instance config ([e34683e23](https://github.com/underpostnet/engine/commit/e34683e2372f48be034435fc2ce25915e5447aad))
|
|
99
|
+
|
|
100
|
+
### hardhar
|
|
101
|
+
|
|
102
|
+
- Fix prevent crash build due coverage build: Error HHE905: Couldn't download compiler version list. ([b841b5598](https://github.com/underpostnet/engine/commit/b841b55980cc5a3d19b6413f2ebb72c45b8906fb))
|
|
103
|
+
|
|
104
|
+
### cli-run
|
|
105
|
+
|
|
106
|
+
- Add shared-dir-add-user runner: Add user to an existing shared directory without changing file owners ([b5c7ea7c8](https://github.com/underpostnet/engine/commit/b5c7ea7c83cf85775eaf3fc3071097f2e5e9d59f))
|
|
107
|
+
|
|
108
|
+
### scripts
|
|
109
|
+
|
|
110
|
+
- Update scripts/rpmfusion-ffmpeg-setup.sh ([975f7e9f3](https://github.com/underpostnet/engine/commit/975f7e9f30f7f224bcf0faa78a617b7f67fc6c96))
|
|
111
|
+
|
|
112
|
+
### client-cyberia
|
|
113
|
+
|
|
114
|
+
- Update default bot skin in fallback world ([a7df2b9f6](https://github.com/underpostnet/engine/commit/a7df2b9f6fd80c62b1aa3fff2ce58d0a3dc18d7a))
|
|
115
|
+
- Fix headerName of metadata cid and render cid in ObjectLayerManagement component ([1d1419001](https://github.com/underpostnet/engine/commit/1d14190017c6b080c502a9478f65a35364c413df))
|
|
116
|
+
- Add Kishins skin item to shared defaults ([acf13ba0e](https://github.com/underpostnet/engine/commit/acf13ba0e2a6acabc7ee1ee233275cdb31311c0d))
|
|
117
|
+
- Fix render section title label in ObjectLayerEngineModal ([2b9a88bed](https://github.com/underpostnet/engine/commit/2b9a88bed67fe2b205f648050af411a9c1e7588d))
|
|
118
|
+
|
|
119
|
+
### docs
|
|
120
|
+
|
|
121
|
+
- Update action and quest system documentation for cell-based binding and explicit quest accept ([fadd9e360](https://github.com/underpostnet/engine/commit/fadd9e3605e686d8487aad1ef28b2668388256c4))
|
|
122
|
+
- Update quest system documentation with kill and collect objective details ([1695e17d9](https://github.com/underpostnet/engine/commit/1695e17d9ec628ed9907859d6dd4ec890f113240))
|
|
123
|
+
- Document mission system: action-provider NPCs and fallback world instantiation ([469094678](https://github.com/underpostnet/engine/commit/469094678a35d4bbd03c79181f78d7720614179c))
|
|
124
|
+
- Update cyberia client docs url env parsing ([77923cfa4](https://github.com/underpostnet/engine/commit/77923cfa4977fd21ed5acbe6e2e5dfdaa70a614d))
|
|
125
|
+
|
|
126
|
+
### cyberia-instance
|
|
127
|
+
|
|
128
|
+
- Give action provider NPCs small wander radius ([b56389b5a](https://github.com/underpostnet/engine/commit/b56389b5a63b964ee1c94fcce0d9dafea4c1b2f6))
|
|
129
|
+
- Add action-provider NPC generation and cell reservation to fallback world builder ([985ba010c](https://github.com/underpostnet/engine/commit/985ba010c0ca76dc10bd12fffbc07871c01e0e90))
|
|
130
|
+
|
|
131
|
+
### grcp
|
|
132
|
+
|
|
133
|
+
- Deliver actions and quests in InstanceConfig for mission content ([e26466e9a](https://github.com/underpostnet/engine/commit/e26466e9a401ada9a5add5b658243e9cf34879a9))
|
|
134
|
+
|
|
135
|
+
### cli-cyberia
|
|
136
|
+
|
|
137
|
+
- Add DefaultCyberiaActions, DefaultCyberiaQuests, and seed-actions-quests CLI command ([cc9f21377](https://github.com/underpostnet/engine/commit/cc9f21377ba77c0e141d153f852dbb9777d74525))
|
|
138
|
+
|
|
139
|
+
### fs
|
|
140
|
+
|
|
141
|
+
- Add Single-file handling in upload use case in cloudinary storage ([6061d8bf2](https://github.com/underpostnet/engine/commit/6061d8bf290f00c2c4e46a0206419ba4b1119f2e))
|
|
142
|
+
|
|
143
|
+
## New release v:3.2.22 (2026-06-07)
|
|
4
144
|
|
|
5
145
|
### repository
|
|
6
146
|
|
package/CLI-HELP.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## Underpost CLI
|
|
2
2
|
|
|
3
|
-
> underpost ci/cd cli v3.2.
|
|
3
|
+
> underpost ci/cd cli v3.2.28
|
|
4
4
|
|
|
5
5
|
**Usage:** `underpost [options] [command]`
|
|
6
6
|
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
| [`monitor`](#underpost-monitor) | Manages health server monitoring for specified deployments. |
|
|
41
41
|
| [`ssh`](#underpost-ssh) | Manages SSH credentials and sessions for remote access to cluster nodes or services. |
|
|
42
42
|
| [`run`](#underpost-run) | Runs specified scripts using various runners. |
|
|
43
|
+
| [`docker-compose`](#underpost-docker-compose) | General-purpose Docker Compose development pipeline (mirrors the Kubernetes dev stack). |
|
|
43
44
|
| [`lxd`](#underpost-lxd) | Manages LXD virtual machines as K3s nodes (control plane or workers). |
|
|
44
45
|
| [`baremetal`](#underpost-baremetal) | Manages baremetal server operations, including installation, database setup, commissioning, and user management. |
|
|
45
46
|
| [`release`](#underpost-release) | Release orchestrator for building new versions and deploying releases of the Underpost CLI. |
|
|
@@ -815,7 +816,7 @@ Runs specified scripts using various runners.
|
|
|
815
816
|
|
|
816
817
|
| Argument | Description |
|
|
817
818
|
| --- | --- |
|
|
818
|
-
| `runner-id` | The runner ID to run. Options: dev-cluster,etc-hosts,ipfs-expose,metadata,svc-ls,svc-rm,ssh-deploy-info,dev-hosts-expose,dev-hosts-restore,cluster-build,template-deploy,template-deploy-local,docker-image,clean,pull,release-deploy,ssh-deploy,ide,crypto-policy,sync,stop,ssh-deploy-stop,ssh-deploy-db-rollback,ssh-deploy-db,ssh-deploy-db-status,tz,get-proxy,instance-promote,instance,instance-build-manifest,ls-deployments,host-update,install-crio,dd-container,ip-info,db-client,git-conf,promote,metrics,cluster,deploy,disk-clean,disk-devices,disk-usage,dev,service,sh,log,ps,pid-info,background,ports,deploy-test,tf-vae-test,spark-template,pull-rocky-image,rmi,kill,generate-pass,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job,push-bundle,pull-bundle,build-cluster-deployment-manifests,monitor-ui,shared-dir. |
|
|
819
|
+
| `runner-id` | The runner ID to run. Options: dev-cluster,etc-hosts,ipfs-expose,metadata,svc-ls,svc-rm,ssh-deploy-info,node-move,dev-hosts-expose,dev-hosts-restore,cluster-build,template-deploy,template-deploy-local,docker-image,clean,pull,release-deploy,ssh-deploy,ide,crypto-policy,sync,stop,ssh-deploy-stop,ssh-deploy-db-rollback,ssh-deploy-db,ssh-deploy-db-status,tz,get-proxy,instance-promote,instance,instance-build-manifest,ls-deployments,host-update,install-crio,dd-container,ip-info,db-client,git-conf,promote,metrics,cluster,deploy,disk-clean,disk-devices,disk-usage,dev,service,sh,log,ps,pid-info,background,ports,deploy-test,tf-vae-test,spark-template,pull-rocky-image,rmi,kill,generate-pass,secret,underpost-config,gpu-env,tf-gpu-test,deploy-job,push-bundle,pull-bundle,build-cluster-deployment-manifests,monitor-ui,shared-dir,shared-dir-add-user. |
|
|
819
820
|
| `path` | The input value, identifier, or path for the operation. |
|
|
820
821
|
|
|
821
822
|
#### Options
|
|
@@ -894,6 +895,45 @@ Runs specified scripts using various runners.
|
|
|
894
895
|
|
|
895
896
|
---
|
|
896
897
|
|
|
898
|
+
### underpost docker-compose
|
|
899
|
+
|
|
900
|
+
General-purpose Docker Compose development pipeline (mirrors the Kubernetes dev stack).
|
|
901
|
+
|
|
902
|
+
**Usage:** `underpost docker-compose [options] [target]`
|
|
903
|
+
|
|
904
|
+
#### Arguments
|
|
905
|
+
|
|
906
|
+
| Argument | Description |
|
|
907
|
+
| --- | --- |
|
|
908
|
+
| `target` | Optional service name for --logs, --shell, --restart, or --build. |
|
|
909
|
+
|
|
910
|
+
#### Options
|
|
911
|
+
|
|
912
|
+
| Option | Description |
|
|
913
|
+
| --- | --- |
|
|
914
|
+
| `--install` | Install Docker Engine and the Compose v2 plugin on RHEL/Rocky hosts. |
|
|
915
|
+
| `--reset` | Comprehensive teardown (equivalent to cluster --reset): removes all stack containers, the network, named volumes (destroys data), orphans, and generated artifacts. |
|
|
916
|
+
| `--force` | Force reinstall (--install), remove volumes (--down), or also drop the env-file (--reset). |
|
|
917
|
+
| `--deploy-id <deploy-id>` | Deployment to run as the app container (default: dd-default). 'dd-default' self-bootstraps a fresh engine; any other id runs the standard 'underpost start' command (mirrors src/cli/deploy.js). |
|
|
918
|
+
| `--env <env>` | Deployment environment for non-default deploy ids (default: development). |
|
|
919
|
+
| `--generate` | Render dynamic supporting files (nginx router config, env-file, app-command override). |
|
|
920
|
+
| `--up` | Start the full stack detached (regenerates config first). |
|
|
921
|
+
| `--down` | Stop and remove containers (and orphans). |
|
|
922
|
+
| `--volumes` | With --down, also remove named volumes (destroys persisted data). |
|
|
923
|
+
| `--restart` | Restart services (optionally a single [target]). |
|
|
924
|
+
| `--build` | With --up rebuild images; alone, rebuilds images with --no-cache. |
|
|
925
|
+
| `--pull` | Pull upstream images for all services. |
|
|
926
|
+
| `--logs` | Follow logs for all services (optionally a single [target]). |
|
|
927
|
+
| `--status` | Show a formatted status table of services. |
|
|
928
|
+
| `--shell` | Open an interactive shell in [target] (default: app). |
|
|
929
|
+
| `--exec <subcommand>` | General-purpose passthrough docker compose subcommand. |
|
|
930
|
+
| `--compose-file <path>` | Path to the compose file (default: docker-compose.yml). |
|
|
931
|
+
| `--env-file <path>` | Path to the compose env-file (default: docker/compose.env). |
|
|
932
|
+
| `--nginx-conf <path>` | Path to the generated nginx config (default: docker/nginx/default.conf). |
|
|
933
|
+
| `-h, --help` | display help for command |
|
|
934
|
+
|
|
935
|
+
---
|
|
936
|
+
|
|
897
937
|
### underpost lxd
|
|
898
938
|
|
|
899
939
|
Manages LXD virtual machines as K3s nodes (control plane or workers).
|
|
@@ -976,6 +1016,18 @@ Manages baremetal server operations, including installation, database setup, com
|
|
|
976
1016
|
| `--remove-machines <system-ids>` | Removes baremetal machines by comma-separated system IDs, or use "all" |
|
|
977
1017
|
| `--clear-discovered` | Clears all discovered baremetal machines from the database. |
|
|
978
1018
|
| `--commission` | Init workflow for commissioning a physical machine. |
|
|
1019
|
+
| `--install-disk [device]` | Explicit target install disk for Rocky deployment (e.g. /dev/nvme0n1). Omit or leave empty to auto-detect the internal disk. |
|
|
1020
|
+
| `--no-auto-install` | Disables the ephemeral runtime AUTO_INSTALL fallback (controller must trigger install). |
|
|
1021
|
+
| `--no-remote-install` | Skips the controller-side remote install orchestration over SSH. |
|
|
1022
|
+
| `--worker` | Post-install infra role: join the deployed node as a Kubernetes worker (requires --control <ip>). Without this flag the node is set up as a control-plane. |
|
|
1023
|
+
| `--control <ip>` | Control-plane IP the worker node joins (used with --worker for kubeadm infra setup). |
|
|
1024
|
+
| `--ssh-key-dir <dir>` | Directory holding the SSH key pair used for commissioning/orchestration (expects <dir>/id_rsa and <dir>/id_rsa.pub). Overrides the workflow "sshKeyDir"; defaults to engine-private/deploy. Supports a leading ~. |
|
|
1025
|
+
| `--deploy-id <deploy-id>` | Deployment ID whose user key pair is used for SSH (key from engine-private/conf/<deploy-id>/users/<user>/id_rsa). Same user↔deployId↔key convention as the ssh command. |
|
|
1026
|
+
| `--user <user>` | SSH user paired with --deploy-id for key resolution and the login user on an existing control-plane (defaults to root). Mirrors the ssh command --user. |
|
|
1027
|
+
| `--engine-repo <url>` | Custom engine repo cloned + normalized to /home/dd/engine on the node (default: <GITHUB_USERNAME>/engine). |
|
|
1028
|
+
| `--engine-branch <branch>` | Branch of the engine repo to clone on the node. |
|
|
1029
|
+
| `--engine-private-repo <url>` | Custom private repo cloned + normalized to /home/dd/engine/engine-private on the node (default: <GITHUB_USERNAME>/engine-<id>-private). |
|
|
1030
|
+
| `--engine-private-branch <branch>` | Branch of the engine-private repo to clone on the node. |
|
|
979
1031
|
| `--bootstrap-http-server-run` | Runs a temporary bootstrap HTTP server for generic purposes such as serving iPXE scripts or ISO images during commissioning. |
|
|
980
1032
|
| `--bootstrap-http-server-path <path>` | Sets a custom bootstrap HTTP server path for baremetal commissioning. |
|
|
981
1033
|
| `--bootstrap-http-server-port <port>` | Sets a custom bootstrap HTTP server port for baremetal commissioning. |
|
|
@@ -997,6 +1049,8 @@ Manages baremetal server operations, including installation, database setup, com
|
|
|
997
1049
|
| `--logs <log-id>` | Displays logs for log id: dhcp,dhcp-lease,dhcp-lan,cloud-init,cloud-init-machine,cloud-init-config |
|
|
998
1050
|
| `--dev` | Sets the development context environment for baremetal operations. |
|
|
999
1051
|
| `--ls` | Lists available boot resources and machines. |
|
|
1052
|
+
| `--resume-infra-setup` | Skip commissioning, OS install, and all bootstrapping; resume only the SSH-based infra setup (kubeadm join/init) on a node that already has the OS installed and is reachable via SSH. |
|
|
1053
|
+
| `--resume-join` | Skip everything except the kubeadm join command. Assumes engine, Node.js, CRI-O, kubelet, and kubeadm are already installed. Only retrieves a fresh join token from the control-plane and runs kubeadm join. |
|
|
1000
1054
|
| `-h, --help` | display help for command |
|
|
1001
1055
|
|
|
1002
1056
|
---
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
<div align="center">
|
|
18
18
|
|
|
19
|
-
[](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://www.jsdelivr.com/package/npm/underpost) [](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://www.jsdelivr.com/package/npm/underpost) [](https://socket.dev/npm/package/underpost/overview/3.2.28) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](https://www.npmjs.com/package/underpost)
|
|
20
20
|
|
|
21
21
|
</div>
|
|
22
22
|
|
|
@@ -88,7 +88,7 @@ npm run dev
|
|
|
88
88
|
<!-- cli-index-start -->
|
|
89
89
|
## Underpost CLI
|
|
90
90
|
|
|
91
|
-
> underpost ci/cd cli v3.2.
|
|
91
|
+
> underpost ci/cd cli v3.2.28
|
|
92
92
|
|
|
93
93
|
**Usage:** `underpost [options] [command]`
|
|
94
94
|
|
|
@@ -128,6 +128,7 @@ npm run dev
|
|
|
128
128
|
| [`monitor`](CLI-HELP.md#underpost-monitor) | Manages health server monitoring for specified deployments. |
|
|
129
129
|
| [`ssh`](CLI-HELP.md#underpost-ssh) | Manages SSH credentials and sessions for remote access to cluster nodes or services. |
|
|
130
130
|
| [`run`](CLI-HELP.md#underpost-run) | Runs specified scripts using various runners. |
|
|
131
|
+
| [`docker-compose`](CLI-HELP.md#underpost-docker-compose) | General-purpose Docker Compose development pipeline (mirrors the Kubernetes dev stack). |
|
|
131
132
|
| [`lxd`](CLI-HELP.md#underpost-lxd) | Manages LXD virtual machines as K3s nodes (control plane or workers). |
|
|
132
133
|
| [`baremetal`](CLI-HELP.md#underpost-baremetal) | Manages baremetal server operations, including installation, database setup, commissioning, and user management. |
|
|
133
134
|
| [`release`](CLI-HELP.md#underpost-release) | Release orchestrator for building new versions and deploying releases of the Underpost CLI. |
|
|
@@ -174,6 +174,7 @@
|
|
|
174
174
|
"type": "iso-ram",
|
|
175
175
|
"osIdLike": "rhel centos fedora",
|
|
176
176
|
"architecture": "amd64",
|
|
177
|
+
"infraSetup": "underpost-kubeadm-contour",
|
|
177
178
|
"isoUrl": "https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9-latest-x86_64-boot.iso",
|
|
178
179
|
"tftpPrefix": "envy-rocky9",
|
|
179
180
|
"bootstrapHttpServerPort": 8888,
|
package/bin/build.js
CHANGED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# Production-style Docker Compose stack mirroring the Kubernetes development
|
|
2
|
+
# environment defined under manifests/{mongodb,valkey,deployment/dd-default-development}.
|
|
3
|
+
#
|
|
4
|
+
# Mapping summary (K8s -> Compose):
|
|
5
|
+
# StatefulSet mongodb (replSet rs0, keyFile auth) -> mongodb + mongodb-keyfile-init + mongodb-rs-init
|
|
6
|
+
# StatefulSet valkey-service -> valkey-service
|
|
7
|
+
# Deployment dd-default-development-blue -> app
|
|
8
|
+
# HTTPProxy default.net / www.default.net (Contour) -> proxy (nginx reverse proxy)
|
|
9
|
+
# Service type LoadBalancer / NodePort -> published host ports via the proxy
|
|
10
|
+
# Secret mongodb-secret / mongodb-keyfile -> .env values + generated keyfile volume
|
|
11
|
+
# PVC mongodb-storage / volumeClaimTemplates -> named volumes
|
|
12
|
+
|
|
13
|
+
name: dd-default-development
|
|
14
|
+
|
|
15
|
+
services:
|
|
16
|
+
# --- MongoDB -------------------------------------------------------------
|
|
17
|
+
# Mirrors manifests/mongodb/statefulset.yaml: replSet rs0, keyFile cluster
|
|
18
|
+
# auth, --auth, bind to all interfaces. Single-node replica set for local dev.
|
|
19
|
+
#
|
|
20
|
+
# Bootstrap follows src/db/mongo/MongoBootstrap.js rather than the image's
|
|
21
|
+
# MONGO_INITDB_ROOT_USERNAME auto-init (whose temp server + keyFile combination
|
|
22
|
+
# is unreliable). The generated entrypoint (docker/mongodb/entrypoint.sh)
|
|
23
|
+
# generates the keyfile, starts mongod, and bootstraps the replica set + root
|
|
24
|
+
# user over the loopback localhost exception. The healthcheck gates readiness
|
|
25
|
+
# on an authenticated writable primary.
|
|
26
|
+
mongodb:
|
|
27
|
+
image: ${MONGO_IMAGE:-mongo:latest}
|
|
28
|
+
container_name: dd-mongodb
|
|
29
|
+
entrypoint: ["bash", "/docker-init/entrypoint.sh"]
|
|
30
|
+
environment:
|
|
31
|
+
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME:?set MONGO_INITDB_ROOT_USERNAME in docker/compose.env}
|
|
32
|
+
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:?set MONGO_INITDB_ROOT_PASSWORD in docker/compose.env}
|
|
33
|
+
DB_REPLICA_SET: ${DB_REPLICA_SET:-rs0}
|
|
34
|
+
volumes:
|
|
35
|
+
- ./docker/mongodb:/docker-init:ro
|
|
36
|
+
- mongodb-keyfile:/opt/keyfile
|
|
37
|
+
- mongodb-data:/data/db
|
|
38
|
+
networks:
|
|
39
|
+
- dd-internal
|
|
40
|
+
expose:
|
|
41
|
+
- "27017"
|
|
42
|
+
ports:
|
|
43
|
+
- "${MONGO_HOST_PORT:-27017}:27017"
|
|
44
|
+
healthcheck:
|
|
45
|
+
test:
|
|
46
|
+
- CMD-SHELL
|
|
47
|
+
- >
|
|
48
|
+
mongosh --quiet -u "$$MONGO_INITDB_ROOT_USERNAME" -p "$$MONGO_INITDB_ROOT_PASSWORD"
|
|
49
|
+
--authenticationDatabase admin --eval "db.hello().isWritablePrimary" | grep -q true
|
|
50
|
+
interval: 10s
|
|
51
|
+
timeout: 5s
|
|
52
|
+
retries: 20
|
|
53
|
+
start_period: 60s
|
|
54
|
+
restart: unless-stopped
|
|
55
|
+
|
|
56
|
+
# --- Valkey --------------------------------------------------------------
|
|
57
|
+
# Mirrors manifests/valkey/statefulset.yaml.
|
|
58
|
+
valkey-service:
|
|
59
|
+
image: ${VALKEY_IMAGE:-valkey/valkey:latest}
|
|
60
|
+
container_name: dd-valkey
|
|
61
|
+
command: ["valkey-server", "--port", "6379", "--bind", "0.0.0.0", "--protected-mode", "no"]
|
|
62
|
+
volumes:
|
|
63
|
+
- valkey-data:/data
|
|
64
|
+
networks:
|
|
65
|
+
- dd-internal
|
|
66
|
+
expose:
|
|
67
|
+
- "6379"
|
|
68
|
+
# NodePort equivalent (manifests/valkey/valkey-nodeport.yaml nodePort 32079).
|
|
69
|
+
ports:
|
|
70
|
+
- "${VALKEY_NODEPORT:-32079}:6379"
|
|
71
|
+
healthcheck:
|
|
72
|
+
test: ["CMD", "valkey-cli", "-p", "6379", "ping"]
|
|
73
|
+
interval: 10s
|
|
74
|
+
timeout: 5s
|
|
75
|
+
retries: 10
|
|
76
|
+
start_period: 10s
|
|
77
|
+
restart: unless-stopped
|
|
78
|
+
|
|
79
|
+
# --- Application ---------------------------------------------------------
|
|
80
|
+
# Mirrors manifests/deployment/dd-default-development/deployment.yaml
|
|
81
|
+
# (dd-default-development-blue). Connection targets use Docker service
|
|
82
|
+
# discovery instead of hardcoded localhost.
|
|
83
|
+
app:
|
|
84
|
+
image: ${APP_IMAGE:-underpost/underpost-engine}:${APP_TAG:-v3.2.22}
|
|
85
|
+
container_name: dd-app
|
|
86
|
+
# The start command is supplied by the generated override docker/compose.app.yml
|
|
87
|
+
# (see `underpost docker-compose --generate --deploy-id <id>`), keeping this
|
|
88
|
+
# file deployment-agnostic.
|
|
89
|
+
environment:
|
|
90
|
+
NODE_ENV: ${NODE_ENV:-development}
|
|
91
|
+
DB_PROVIDER: ${DB_PROVIDER:-mongoose}
|
|
92
|
+
DB_HOST: ${DB_HOST:-mongodb://mongodb:27017}
|
|
93
|
+
DB_NAME: ${DB_NAME:-default}
|
|
94
|
+
DB_REPLICA_SET: ${DB_REPLICA_SET:-rs0}
|
|
95
|
+
DB_AUTH_SOURCE: ${DB_AUTH_SOURCE:-admin}
|
|
96
|
+
DB_USER: ${MONGO_INITDB_ROOT_USERNAME:?}
|
|
97
|
+
DB_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:?}
|
|
98
|
+
VALKEY_HOST: ${VALKEY_HOST:-valkey-service}
|
|
99
|
+
VALKEY_PORT: ${VALKEY_PORT:-6379}
|
|
100
|
+
networks:
|
|
101
|
+
- dd-internal
|
|
102
|
+
expose:
|
|
103
|
+
- "4001"
|
|
104
|
+
- "4002"
|
|
105
|
+
- "4003"
|
|
106
|
+
- "4004"
|
|
107
|
+
# Direct access to the LoadBalancer-equivalent ports (manifest 4001-4004).
|
|
108
|
+
ports:
|
|
109
|
+
- "${APP_PORT_4001:-4001}:4001"
|
|
110
|
+
- "${APP_PORT_4002:-4002}:4002"
|
|
111
|
+
- "${APP_PORT_4003:-4003}:4003"
|
|
112
|
+
- "${APP_PORT_4004:-4004}:4004"
|
|
113
|
+
healthcheck:
|
|
114
|
+
test: ["CMD-SHELL", "timeout 2 bash -c '</dev/tcp/127.0.0.1/4001' || exit 1"]
|
|
115
|
+
interval: 15s
|
|
116
|
+
timeout: 5s
|
|
117
|
+
retries: 5
|
|
118
|
+
start_period: 60s
|
|
119
|
+
depends_on:
|
|
120
|
+
mongodb:
|
|
121
|
+
condition: service_healthy
|
|
122
|
+
valkey-service:
|
|
123
|
+
condition: service_healthy
|
|
124
|
+
restart: unless-stopped
|
|
125
|
+
|
|
126
|
+
# --- Reverse proxy / NodePort-equivalent load balancer -------------------
|
|
127
|
+
# Mirrors manifests/deployment/dd-default-development/proxy.yaml (Contour
|
|
128
|
+
# HTTPProxy) using nginx with websocket upgrade support.
|
|
129
|
+
proxy:
|
|
130
|
+
image: ${PROXY_IMAGE:-nginx:stable-alpine}
|
|
131
|
+
container_name: dd-proxy
|
|
132
|
+
volumes:
|
|
133
|
+
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
134
|
+
networks:
|
|
135
|
+
- dd-internal
|
|
136
|
+
ports:
|
|
137
|
+
- "${PROXY_HTTP_PORT:-80}:80"
|
|
138
|
+
healthcheck:
|
|
139
|
+
test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1/healthz"]
|
|
140
|
+
interval: 15s
|
|
141
|
+
timeout: 5s
|
|
142
|
+
retries: 5
|
|
143
|
+
start_period: 10s
|
|
144
|
+
depends_on:
|
|
145
|
+
app:
|
|
146
|
+
condition: service_started
|
|
147
|
+
restart: unless-stopped
|
|
148
|
+
|
|
149
|
+
# --- Monitoring: Prometheus ----------------------------------------------
|
|
150
|
+
# Mirrors manifests/prometheus/deployment.yaml. Scrapes the app's /metrics
|
|
151
|
+
# endpoint (prom-client) over the internal network. Config is generated by
|
|
152
|
+
# `underpost docker-compose --generate` into docker/prometheus/prometheus.yml.
|
|
153
|
+
prometheus:
|
|
154
|
+
image: ${PROMETHEUS_IMAGE:-prom/prometheus:latest}
|
|
155
|
+
container_name: dd-prometheus
|
|
156
|
+
command:
|
|
157
|
+
- --config.file=/etc/prometheus/prometheus.yml
|
|
158
|
+
- --storage.tsdb.path=/prometheus
|
|
159
|
+
volumes:
|
|
160
|
+
- ./docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
161
|
+
- prometheus-data:/prometheus
|
|
162
|
+
networks:
|
|
163
|
+
- dd-internal
|
|
164
|
+
expose:
|
|
165
|
+
- "9090"
|
|
166
|
+
ports:
|
|
167
|
+
- "${PROMETHEUS_PORT:-9090}:9090"
|
|
168
|
+
healthcheck:
|
|
169
|
+
test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:9090/-/healthy"]
|
|
170
|
+
interval: 15s
|
|
171
|
+
timeout: 5s
|
|
172
|
+
retries: 5
|
|
173
|
+
start_period: 15s
|
|
174
|
+
depends_on:
|
|
175
|
+
app:
|
|
176
|
+
condition: service_started
|
|
177
|
+
restart: unless-stopped
|
|
178
|
+
|
|
179
|
+
# --- Monitoring: Grafana -------------------------------------------------
|
|
180
|
+
# Mirrors manifests/grafana/deployment.yaml. Prometheus datasource is
|
|
181
|
+
# pre-provisioned (generated) so dashboards work out of the box.
|
|
182
|
+
grafana:
|
|
183
|
+
image: ${GRAFANA_IMAGE:-grafana/grafana:latest}
|
|
184
|
+
container_name: dd-grafana
|
|
185
|
+
environment:
|
|
186
|
+
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-admin}
|
|
187
|
+
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:-admin}
|
|
188
|
+
GF_USERS_ALLOW_SIGN_UP: "false"
|
|
189
|
+
volumes:
|
|
190
|
+
- ./docker/grafana/provisioning:/etc/grafana/provisioning:ro
|
|
191
|
+
- grafana-data:/var/lib/grafana
|
|
192
|
+
networks:
|
|
193
|
+
- dd-internal
|
|
194
|
+
expose:
|
|
195
|
+
- "3000"
|
|
196
|
+
ports:
|
|
197
|
+
- "${GRAFANA_PORT:-3000}:3000"
|
|
198
|
+
healthcheck:
|
|
199
|
+
test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:3000/api/health"]
|
|
200
|
+
interval: 15s
|
|
201
|
+
timeout: 5s
|
|
202
|
+
retries: 5
|
|
203
|
+
start_period: 15s
|
|
204
|
+
depends_on:
|
|
205
|
+
prometheus:
|
|
206
|
+
condition: service_started
|
|
207
|
+
restart: unless-stopped
|
|
208
|
+
|
|
209
|
+
networks:
|
|
210
|
+
dd-internal:
|
|
211
|
+
name: dd-internal
|
|
212
|
+
driver: bridge
|
|
213
|
+
|
|
214
|
+
volumes:
|
|
215
|
+
mongodb-data:
|
|
216
|
+
name: dd-mongodb-data
|
|
217
|
+
mongodb-keyfile:
|
|
218
|
+
name: dd-mongodb-keyfile
|
|
219
|
+
valkey-data:
|
|
220
|
+
name: dd-valkey-data
|
|
221
|
+
prometheus-data:
|
|
222
|
+
name: dd-prometheus-data
|
|
223
|
+
grafana-data:
|
|
224
|
+
name: dd-grafana-data
|
|
@@ -17,7 +17,7 @@ spec:
|
|
|
17
17
|
spec:
|
|
18
18
|
containers:
|
|
19
19
|
- name: dd-default-development-blue
|
|
20
|
-
image: underpost/underpost-engine:v3.2.
|
|
20
|
+
image: underpost/underpost-engine:v3.2.28
|
|
21
21
|
# resources:
|
|
22
22
|
# requests:
|
|
23
23
|
# memory: "124Ki"
|
|
@@ -98,7 +98,7 @@ spec:
|
|
|
98
98
|
spec:
|
|
99
99
|
containers:
|
|
100
100
|
- name: dd-default-development-green
|
|
101
|
-
image: underpost/underpost-engine:v3.2.
|
|
101
|
+
image: underpost/underpost-engine:v3.2.28
|
|
102
102
|
# resources:
|
|
103
103
|
# requests:
|
|
104
104
|
# memory: "124Ki"
|