Pasha Sviderski
07e380b95f
chore(pre-deploy): warn about depends_on: service_completed_successfully to use pre-deploy hook instead
2026-04-10 17:08:38 +10:00
Pasha Sviderski
0e820f9c52
feat(pre-deploy): add support for x-pre_deploy extension in Compose + e2e test
2026-04-08 19:16:42 +10:00
Pasha Sviderski
62976f3338
refactor: print warnings for all detected unsupported Compose features, not only first one
2026-03-31 17:08:53 +10:00
Miek Gieben and GitHub
d38312fec6
feat: print warning on some unsupported compose features ( #288 )
...
* feat: error on unsupported compose features
This implements a check for the unimplemented features of the uncloud
support matrix and points to the matrix in the error.
Fixes : #237
This redos #277 , as I messed up my branch, (basically rebase gone
wrong).
Signed-off-by: Miek Gieben <miek@miek.nl >
* Fix tests by capturing stderr
The error should be nil, but we _do_ want to know if the user saw an
warning. Redirect stderr to capture this as the error is emited by
printing to stderr.
Signed-off-by: Miek Gieben <miek@miek.nl >
---------
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-03-31 16:37:35 +10:00
Pasha Sviderski
30bcb021d2
refactor: move StopGracePeriod from ServiceSpec to ContainerSpec
2026-03-24 18:41:01 +10:00
Pasha Sviderski
ada9bec2d4
refactor: remove docker dependency for Pid container property
2026-03-24 18:29:45 +10:00
98439b7743
feat: support PID namespace mode in Compose ( #276 )
...
This adds `pid: host` compose key support.
Modelled after #238 .
See: #237
Signed-off-by: Miek Gieben <miek@miek.nl >
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-03-24 16:18:53 +10:00
Miek Gieben and GitHub
2ab58d24d4
chore: modernize the codebase using go 1.26 ( #278 )
...
This runs:
```
go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix ./...
```
over the codebase, as this is using go 1.26, it can also use the new
new() functionallity so AsPtr and boolPtr is are needed anymore.
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-03-21 21:16:09 +10:00
Pasha Sviderski
8ae38cfd57
feat: add shm_size support in Compose and --shm-size flag for 'uc run' ( closes #267 )
2026-03-12 22:09:28 +10:00
Pasha Sviderski
d9934b9dba
feat: support compose stop_grace_period to change timeout before sending SIGKILL
2026-03-04 14:07:22 +10:00
Pasha Sviderski
7a9eac593f
feat: implement container health monitoring and rollback during rolling deployment ( closes #24 )
2026-02-27 21:36:40 +10:00
Pasha Sviderski
3056e2af11
feat: add support for healthcheck in Compose
2026-02-25 14:54:24 +10:00
Pasha Sviderski
5c54e9d059
chore: refactor device mapping to be compliant with Compose (CDI requests)
2026-02-11 17:44:38 +00:00
Justin Bradford and GitHub
ab6f856987
feat: Add support for compose devices mappings ( #250 )
...
* feat: Add support for compose `devices` mappings
https://docs.docker.com/reference/compose-file/services/#devices
```
services:
foo:
devices:
- "/dev/ttyUSB0:/dev/ttyUSB0"
- "/dev/sda:/dev/xvda:rwm"
```
* Lint fix
2026-02-11 17:00:18 +00:00
Nick and GitHub
53bf446502
deploy.update_config.order support to start-first or stop-first when replacing containers ( #248 )
2026-02-09 09:31:19 +00:00
Nick and GitHub
3bd9400051
feat: add support for ulimits in compose and container creation ( #221 ) ( #244 )
...
* feat: add support for ulimits in compose and container creation ([#221 ](https://github.com/ipaddicting/uncloud/issues/221 ))
* refactor: move Ulimits to ContainerResources and use map, also removed GEMINI.md.
2026-01-20 16:17:54 +10:00
06c3fba96e
feat: add support for sysctls compose key ( #239 )
...
* feat: add support for `sysctls` compose key
* lint
---------
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-01-10 15:53:56 +11:00
Andrey Viktorov and GitHub
6c2f85d38a
feat: add support for cap_add and cap_drop compose keys ( #238 )
2026-01-10 15:13:03 +11:00
Justin Bradford and GitHub
6373d4097c
fix: volume driver options are not used if driver if not specified [bug #210 ] ( #211 )
2025-12-08 15:58:43 +10:00
Pasha Sviderski
4bc47af05b
refactor: strip project name from volume names without mangling project name
2025-10-30 20:54:15 +10:00
Justin Bradford and GitHub
3b4bcb7932
feat: support service.gpus and reservations.devices ( #156 )
...
* feat: support compose.yaml `service.gpus` and `service.deploy.resources.reservations.devices` DeviceRequests to Docker container
* Fix lint error
* Adjust test comments to work with linter
* Rename DeviceRequests to DeviceReservations to be more consistent with compose nomenclature
* Device reservation changes are immutable and should trigger a container recreate rather than update
2025-10-27 16:49:38 +10:00
Pasha Sviderski
a30ed600b6
chore: update docker and compose Go dependencies to the latest versions
2025-10-08 13:56:58 +10:00
Anton Ovchinnikov and GitHub
63c4de512e
feat: Initial support for Compose configs ( #116 )
2025-09-26 21:24:10 +10:00
Pasha Sviderski
0107363d41
fix: allow host mode x-ports with x-caddy in compose
2025-08-26 19:15:09 +10:00
Pasha Sviderski
12c07812a2
chore: add Caddy config to ServiceSpec, load x-caddy to it
2025-08-13 18:44:38 +10:00
Anton Ovchinnikov
05d0078451
chore: Enable more linters
2025-07-14 00:32:26 +02:00
Evgenii Orlov and GitHub
31cd4c77e9
feat: support x-machines placement constraints in compose files ( #90 )
2025-07-10 16:46:29 +10:00
Pavel Sviderski
938e7d05c0
feat: add support for entrypoint, cpus, mem_limit, mem_reservation, priviliged, user to Compose deployment
2025-04-24 22:40:46 +10:00
Pavel Sviderski
e5957d9d6b
chore: map compose volumes to server spec, initial volume scheduling
2025-04-21 21:25:26 +10:00
Pavel Sviderski
25b173128a
feat(env): support env vars for services (both run command and compose)
2025-04-03 18:14:17 +10:00
Pavel Sviderski
1911e03c82
feat(compose): handle image pull policy
2025-03-27 15:15:57 +10:00
Pavel Sviderski
7a9d0cf9db
refactor: move compose and deploy packages under client
2025-03-24 14:41:50 +10:00