mirror of
https://github.com/psviderski/uncloud.git
synced 2026-11-10 20:54:17 +00:00
97 lines
3.7 KiB
Markdown
97 lines
3.7 KiB
Markdown
---
|
|
sidebar_position: -16.0
|
|
sidebar_label: v0.16.0
|
|
---
|
|
|
|
# v0.16.0
|
|
|
|
This page mirrors the [GitHub release](https://github.com/psviderski/uncloud/releases/tag/v0.16.0), 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 {#highlights}
|
|
|
|
### WireGuard network inspection
|
|
|
|
PR: [#161](https://github.com/psviderski/uncloud/issues/161). Thanks to [@jabr](https://github.com/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.
|
|
|
|
```bash
|
|
uc wg show
|
|
uc wg show -m machine-1
|
|
uc wg show --connect user@host
|
|
```
|
|
|
|
### Kernel capabilities and `sysctls` support
|
|
|
|
PRs: [#238](https://github.com/psviderski/uncloud/issues/238), [#239](https://github.com/psviderski/uncloud/issues/239). Thanks to [@4ndv](https://github.com/4ndv) for the contribution ❤️
|
|
|
|
You can now use [`cap_add`](https://github.com/compose-spec/compose-spec/blob/main/spec.md#cap_add), [`cap_drop`](https://github.com/compose-spec/compose-spec/blob/main/spec.md#cap_drop), and [`sysctls`](https://github.com/compose-spec/compose-spec/blob/main/spec.md#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.
|
|
|
|
```yaml
|
|
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 init` and `uc machine add` commands wait for cluster readiness
|
|
- gRPC auto-retries with exponential backoff for transient connection failures (up to ~8 seconds)
|
|
|
|
:::note
|
|
|
|
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 `--yes` flag to `uc machine init/add` to auto-confirm machine reset
|
|
- Added `ctx conn` alias for `uc ctx connection` command
|
|
- 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:
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
# 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
|
|
```
|