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
* 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.
* feat: Add `uc service start/stop` commands
* Add nolint:dupl for service start/stop commands
Co-authored-by: Pasha Sviderski <me@psviderski.name>
* Add --signal and --timeout options to uc service stop
* Check whether service stop --timeout flag was used to set options properly
---------
Co-authored-by: Pasha Sviderski <me@psviderski.name>
* feat(caddy): expose 443/udp port for HTTP3
* expose udp port 443 for caddy to support new HTTP3
* chore: Add comment for HTTP/3 (QUIC) port configuration
Added a comment to clarify the purpose of the UDP port configuration.
---------
Co-authored-by: Anton Ovchinnikov <anton@tonyo.info>
* 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>