Pasha Sviderski
e6705599b3
chore: rename env var UNCLOUD_DEFAULT_HEALTH_MONITOR_PERIOD_MS -> UNCLOUD_HEALTH_MONITOR_PERIOD_MS
2026-02-28 16:03:36 +10:00
Pasha Sviderski
7b88040c73
fix: rolling container replacement: if new container fails, rollback and run old container only if it was running
2026-02-28 14:29:48 +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
17c1bb5c21
feat: add WaitContainerHealthy client method and health check utilities
2026-02-27 21:28:11 +10:00
Pasha Sviderski
a5a9ef5444
chore: init container healthcheck const
2026-02-26 19:39:49 +10:00
Pasha Sviderski
2940965e31
fix: recreate container on ulimit changes, add test
2026-02-25 16:38:44 +10:00
Pasha Sviderski
185cf19a0c
chore: minor full-spec test change
2026-02-25 16:03:28 +10:00
Pasha Sviderski
4443fa9e0e
chore: update full-spec test to include latest implemented Compose attributes
2026-02-25 16:01:31 +10:00
Pasha Sviderski
3056e2af11
feat: add support for healthcheck in Compose
2026-02-25 14:54:24 +10:00
Pasha Sviderski
7bfaf31138
fix: image tag template formatting in docs
2026-02-24 16:42:55 +10:00
Pasha Sviderski
f8d1945544
chore: add TODO for ReplaceContainerOperation
2026-02-24 15:30:23 +10:00
Pasha Sviderski
93d7f29d31
chore: remove TODO about encapsulating Client in deploy operations
2026-02-24 13:17:59 +10:00
Pasha Sviderski
18ebd29032
chore: split deploy operations into separate files in operation package
2026-02-24 11:42:47 +10:00
Pasha Sviderski
fe56d6d708
chore: always run proxy to virtualised Docker on macOS for 'image push' except OrbStack
2026-02-23 20:06:23 +10:00
14056cc584
fix: format IPv6 addr correclty for HTTP URL ( #254 )
...
* fix: format IPv6 addr correclty for HTTP URL
* test: cover changes
* test: refactor
---------
Co-authored-by: gm0stache <gm0stache@noreply.codeberg.org >
2026-02-16 21:19:52 +01:00
Dimitar Dimitrov and GitHub
d3ee7399eb
fix: support image push when using Rancher Desktop locally ( #251 )
...
Rancher Desktop is a free alternative to Docker Desktop (which prohibits
commercial use) and has gained significant popularity. When running
Rancher Desktop on non-native Docker platforms such as macOS and
Windows, the secondary tunnel from the host OS to the Docker's Linux
machine is necessary. At the moment, the check for this seems to be
based on the vhost name of the docker engine's VM.
For Rancher Desktop it seemms to be `lima-rancher-desktop`:
$ docker info --format 'json' | jq .Name
This might not be the best approach but is simple and should save a lot
of headaches for a lot of people until a potentially better solution is
devised.
See also: https://github.com/psviderski/unregistry/issues/62
2026-02-15 23:04:57 +01: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
Pasha Sviderski
6e59657fe2
chore: global reconciliation: stop all running conflicting containers, not only replace the first one
2026-02-09 22:29:25 +00:00
Pasha Sviderski
215f21439d
chore: lint and fix e2e deploy tests with ReplaceContainerOperation
2026-02-09 09:53:51 +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
Pasha Sviderski
2588279e52
chore: rename AI.md to AGENTS.md
2026-02-03 18:32:12 +01:00
Pasha Sviderski
f48dc250a9
chore: fix landing navbar github/discord buttons wrap on mobile
2026-02-03 17:23:38 +01:00
Zasda Yusuf Mikail and GitHub
15d9ceb4d1
feat: auto-provision volumes on all machines for global services ( #243 )
...
* feat: auto-provision volumes on all machines for global services
* fix: schedule global service volumes only on machines that need them
* fix: use union of eligible machines for volumes shared by global services
* test: restore global with missing volume fails test
* refactor: simplify volume scheduler by removing redundant check
Move isVolumeSharedBetweenGlobalAndReplicated check earlier to fail
fast, then use isVolumeForGlobalService instead of the now-redundant
isVolumeOnlyForGlobalServices function.
2026-02-02 12:30:57 +01:00
Pasha Sviderski
a4a8e70f9c
fix: sshcli tests
2026-01-28 19:00:53 +10:00
Pasha Sviderski
1d4dbd96ce
chore: minor sshcli refactgor
2026-01-28 18:17:55 +10:00
Pasha Sviderski
476a2d57ca
fix: reset already initialised machine on 'uc machine init' when using ssh+cli connection
2026-01-28 18:08:57 +10:00
Pasha Sviderski
ce46a67d6d
fix: ssh args for machine init/add when using ssh+cli
2026-01-28 17:44:54 +10:00
Pasha Sviderski
87e49dfb62
chore: label temporary socat proxy containers created by 'uc image push' with uncloud.managed
2026-01-28 17:40:15 +10:00
Pasha Sviderski
808bda67d4
chore: remove unused constants
2026-01-28 17:28:35 +10:00
Pasha Sviderski
c91a964513
chore: make ssh+cli connections reuse one SSH connection via control socket. Fix image push
2026-01-28 16:49:08 +10:00
Pasha Sviderski
e0a63a3f49
chore: typo
2026-01-27 11:32:18 +10:00
Pasha Sviderski
0b2e1bb7a2
chore: update newsletter form to substack
2026-01-26 21:10:40 +10:00
Pasha Sviderski
7c4f739d07
chore: specify machines to deploy website to
2026-01-26 18:03:46 +10: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
Pasha Sviderski
1caa5ccf0e
docs: generate CLI reference docs for wg commands
v0.16.0
2026-01-10 18:37:40 +11:00
Pasha Sviderski
76affeb6b2
chore: minor formatting for 'wg show' command, enrich Unimplemented error with >=0.16 requirement
2026-01-10 18:36:56 +11:00
Justin Bradford and GitHub
a945291371
feat: Add uc wg show command to inspect a machine's uncloud wireguard network ( #161 )
...
* feat: Add `uc wg show` command to inspect a machine's uncloud wireguard network (draft / work in progress)
* Compile proto files with `make proto-mise`
* Fix lint errors
* Output peers in tabwriter table
* Lookup machine name for wireguard peer public key
* Add --machine flag to `uc wg show` to proxy call to specific machine
* Small refactor to move wg show logic out into a separate function
2026-01-10 16:49:35 +11: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
Pasha Sviderski
7e739dd2f0
docs: update compose matrix 'build' supported, link capabilities man page
2026-01-10 15:27:42 +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
Pasha Sviderski
1ea1d15845
docs: update README subtitle
2026-01-04 16:22:46 +10:00
Anton Ovchinnikov and GitHub
5e0d4d0f05
build: Generate CLI docs in GHA ( #236 )
...
* build: Generate CLI docs in GHA
* fix: Move no-tty logic outside cobra definitions
2026-01-02 10:23:42 +10:00
Anton Ovchinnikov and GitHub
9a1d2e0d46
fix: Equals and Clone for configs ( #235 )
2025-12-30 20:32:19 +10:00
Anton Ovchinnikov
878f96a4b7
Revert "build: Generate CLI docs in GHA"
...
This reverts commit 9efaab2beb .
2025-12-30 01:51:31 +01:00
Anton Ovchinnikov
9efaab2beb
build: Generate CLI docs in GHA
2025-12-30 01:22:56 +01:00
Anton Ovchinnikov and GitHub
2c34ba7eff
fix(configs): Create non-existent parent directories automatically ( #233 )
2025-12-29 11:38:06 +01:00
Anton Ovchinnikov
57e2e22266
docs: Add missing docs for uc start/stop
2025-12-28 17:01:01 +01:00
Anton Ovchinnikov and GitHub
4ec5c15254
docs: Link to iximiuz Labs tutorials ( #230 )
2025-12-27 15:33:12 +10:00
Anton Ovchinnikov
33a3683196
chore: Regenerate CLI docs
2025-12-26 12:23:59 +01:00