Pasha Sviderski
2045819735
feat(logs): update 'uc logs' command to support filtering by service/container
2026-04-22 11:23:21 +10:00
Pasha Sviderski
1c8b77054a
feat(pre-deploy): add support for pre-deploy hook containers in service management, sync *all* containers to store
2026-04-08 19:16:28 +10:00
Pasha Sviderski
f4581eac11
feat(pre-deploy): add pre-deploy hook to service spec
2026-04-01 19:24:53 +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
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
Anton Ovchinnikov and GitHub
9a1d2e0d46
fix: Equals and Clone for configs ( #235 )
2025-12-30 20:32:19 +10:00
79dc05cb66
feat: service logs command to stream service logs ( #196 )
...
* chore: fix landing logo shadow
* feat: implement service logs command with colored output and strict ordering
* revert Makefile
* fix after rebase
* move logs command under services with root shortcut
* simplify server options for streaming logs and CLI flags
* refactor ContainerLogs grpc server
* update --tail flag
* minor docker.proto
* refactor client ServiceLogs and ContainerLogs
* move ProxyMachinesContext from api to client pkg
* minor refactor proto Stream
* add api/logs
* implement LogMerger
* fix LogMerger to correctly use semaphore
* increate inflish entries to 100 per stream
* send heartbeats
* refactor ContainerLogs to synchronise Send of entries and heartbeats to the steram
* minor logmerege
* remove ContainerName form ServiceLogEntryMetadata
* refactor ContainerLogs into docker.Service
* detect stalled container logs streams
* update logmerger tests
* fix comment in test
* refactor LogMerger with options
* uc logs: format one or multiple services
* make LogMerger emit heartbeats, emit entries <= watermark, rewrite tests
* update uc logs with new LogMerger
* go mod tidy
* fix after merge
---------
Co-authored-by: Evgenii Orlov <evgenii.orlov@semrush.com >
2025-12-02 19:50:48 +10:00
Anton Ovchinnikov and GitHub
63c4de512e
feat: Initial support for Compose configs ( #116 )
2025-09-26 21:24:10 +10:00
Pasha Sviderski
60926f64cc
feat: show IMAGE column when listing services (uc ls) #13
2025-09-22 14:03:45 +10:00
Pasha Sviderski
75fdbaf2f4
chore: relax ports+Caddy spec validation to allow host mode ports
2025-08-22 15:34:59 +10:00
Pasha Sviderski
03970862ab
feat: concatenate custom Caddy configs for services into final Caddyfile (no upstream interpolation)
2025-08-19 22:01:48 +10:00
Pasha Sviderski
12c07812a2
chore: add Caddy config to ServiceSpec, load x-caddy to it
2025-08-13 18:44:38 +10:00
Zasda Yusuf Mikail and GitHub
1abadaef50
feat: set default log driver for service containers to 'local' ( #83 )
2025-06-27 16:42:26 +10:00
Pasha Sviderski and GitHub
bb97537df7
fix: format error message
2025-05-07 15:59:53 +10:00
Tova-Rozovsky
9f4b8179b5
valid service name
2025-05-06 17:43:05 +03:00
Tova-Rozovsky
469d6fadcd
Fix: restrict validation to RFC1123 label name
2025-05-04 16:14:17 +03:00
Tova-Rozovsky
5f214247ca
added validition for service name
2025-05-02 10:00:16 +03:00
Pavel Sviderski
7db8bba6ea
refactor: cpu and memory under Resources struct
2025-04-24 16:40:26 +10:00
Pavel Sviderski
badb8ecd3c
chore: implement EvalContainerSpecChange for new container properties
2025-04-24 15:51:47 +10:00
Pavel Sviderski
9413f1c0b1
feat: define essential container spec parameters
2025-04-24 13:37:25 +10:00
Pavel Sviderski
16c876d83f
fix: compare container specs with equate empty option (nil map == {} map)
2025-04-22 23:31:45 +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
45497fd20c
chore: update api.ServiceClient interface to include service creation and removal
2025-04-21 12:48:21 +10:00
Pavel Sviderski
948201cb6f
add VolumeScheduler with one flaky test
2025-04-20 11:13:30 +10:00
Pavel Sviderski
1acb0ff110
chore: implement VolumesConstraint to only schedule on machines with required volumes
2025-04-17 21:34:52 +10:00
Pavel Sviderski
f3cb6657ae
chore: replace machine filter with placement constraint in service spec
2025-04-16 22:04:37 +10:00
Pavel Sviderski
f8ebd94a79
feat(volumes): create and mount data volumes when running service with 'uc run' command
2025-04-11 21:28:36 +10:00
Pavel Sviderski
c6205d4f57
chore(volumes): map volume specs to container config, diff specs with volumes
2025-04-09 21:51:20 +10:00
Pavel Sviderski
9100c22e7f
chore: new specs for defining service volumes
2025-04-07 21:00:26 +10:00
Pavel Sviderski
6125553a97
chore: introduce VolumeSpec supporting different volume types (bind, volume, tmpfs)
2025-04-04 21:22:54 +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
0e80f2e5b2
chore: replace immutable hash with container spec comparison
2025-03-31 15:58:02 +10:00
Pavel Sviderski
64f6a4f3d3
chore: use original service spec instead of deriving from container, fixes diff for scale
2025-03-30 12:54:36 +10:00
Pavel Sviderski
1cba1eef0a
refactor: handle CreateContainer server-side
2025-03-28 19:01:19 +10:00
Pavel Sviderski
7c7530f977
chore: add comments and TODOs about the disabled image digest resolver
2025-03-27 14:12:20 +10:00
Pavel Sviderski
ffef41081b
feat(compose): add ContainerSpec.PullPolicy field to define when to pull image from registry
2025-03-25 11:03:19 +10:00
Pavel Sviderski
3910101a88
refactor: embed ServiceSpecResolver into Deployment to handle spec only there
2025-03-24 20:10:28 +10:00
Pavel Sviderski
b1abd07dde
refactor: move api, client, compose packages to pkg
2025-03-22 18:43:00 +10:00