v0.16.0
This page mirrors the GitHub release, which also includes the full list of commits.
This is a smaller release focused on reliability improvements, with a new WireGuard network inspection command and expanded Compose spec support for container capabilities and sysctls.
✨ Highlights
WireGuard network inspection
PR: #161. Thanks to @jabr for the contribution ❤️
The new uc wg show command displays the WireGuard network configuration for a machine, including the interface details and all configured peers. This is useful for debugging network connectivity issues and understanding the mesh topology.
Use the -m/--machine flag to inspect the configuration of a specific machine in the cluster or the global --connect user@host flag to inspect the machine that has issues connecting to the cluster.
uc wg show
uc wg show -m machine-1
uc wg show --connect user@host
Kernel capabilities and sysctls support
PRs: #238, #239. Thanks to @4ndv for the contribution ❤️
You can now use cap_add, cap_drop, and sysctls attribute in your Compose files to add or remove Linux capabilities and configure kernel parameters for service containers. This allows fine-grained control over container privileges and behaviour.
services:
app:
image: myapp
cap_drop:
- ALL
cap_add:
- NET_ADMIN
sysctls:
net.core.somaxconn: 65535
net.ipv4.tcp_syncookies: 1
Improved cluster initialisation reliability
Machine initialisation and joining with uc machine init/add have been made more reliable that fixed WireGuard peer misconfiguration for machines joining the cluster:
- The daemon now waits for the initial Corrosion state sync and cluster components before serving gRPC requests
uc machine initanduc machine addcommands wait for cluster readiness- gRPC auto-retries with exponential backoff for transient connection failures (up to ~8 seconds)
You have to upgrade both the local uc CLI and the Uncloud daemon on all your current machines to v0.16.0 to benefit from this improvement.
Other improvements
- Added
--yesflag touc machine init/addto auto-confirm machine reset - Added
ctx connalias foruc ctx connectioncommand - Reduced gRPC connection timeout to proxied machines from 20s to 10s
- Machine state file is now saved atomically to prevent corruption
- Config mounts are now creating non-existent parent directories (#233)
Upgrade to 0.16.0
Uncloud CLI locally
To upgrade the Uncloud CLI (uc) locally:
# Homebrew (macOS, Linux)
brew upgrade uncloud
# Install script (macOS, Linux)
curl -fsS https://get.uncloud.run/install.sh | sh
Machine daemon
To upgrade the Uncloud daemon on your machines, run the following commands on each machine:
# AMD64
curl -fsSL -o uncloudd.tar.gz https://github.com/psviderski/uncloud/releases/download/v0.16.0/uncloudd_linux_amd64.tar.gz
# ARM64
# curl -fsSL -o uncloudd.tar.gz https://github.com/psviderski/uncloud/releases/download/v0.16.0/uncloudd_linux_arm64.tar.gz
tar -xf uncloudd.tar.gz
sudo install uncloudd /usr/local/bin/uncloudd
rm uncloudd uncloudd.tar.gz
sudo systemctl restart uncloud