v0.12.2

psviderski/uncloudv0.12.2Sep 22, 2025by psviderski

AI Summary

Adds multiple connection support with automatic fallback, auto-confirmation for deployments, skip machine provisioning option, and environment variable configuration support.

Key Highlights

  • Multiple connection support with fallback
  • Auto-confirmation for deployment (-y/--yes flag)
  • Skip machine provisioning (--no-install flag)
  • Environment variables (UNCLOUD_CONFIG, UNCLOUD_CONNECT)

New Features

  • Multiple connection retry with spinner
  • Auto-confirm deploy with --yes flag
  • --no-install flag for machine init/add
  • UNCLOUD_CONFIG and UNCLOUD_CONNECT env vars

Full Release Notes

## What's new

### Multiple connection support

When connecting to a cluster, the CLI will now try each connection in the Uncloud config (`~/.config/uncloud/config.yaml`) until one succeeds. A progress spinner indicates what connection it is trying.

```yaml
current_context: default
contexts:
  default:
    connections:
      - ssh: ubuntu@152.67.101.198
      - ssh: root@1.2.3.4
      - ssh: ubuntu@137.123.45.67
```

https://github.com/user-attachments/assets/5db92bd8-39e5-458c-8006-b4b7227d1e5b

### Auto-confirmation for deployment

You can auto-confirm the deployment plan either locally or on CI with `-y|--yes` flag or `UNCLOUD_AUTO_CONFIRM=true` environment variable:

```bash
uc deploy --yes
# or
UNCLOUD_AUTO_CONFIRM=true uc deploy
```

### Skip machine provisioning

New `--no-install` flag for `machine init` and `machine add` commands allows you to skip the automatic installation of Docker, Uncloud daemon, and dependencies on the machine. Useful when you want to use your own method for installing Uncloud daemon on the machine. See https://github.com/psviderski/uncloud/issues/122.

```bash
uc machine init user@server --no-install
```

### Env vars

Instead of the `--uncloud-config` and `--connect` flags, you can now use the following environment variables:

- `UNCLOUD_CONFIG` - Override the default config file path (`~/.config/uncloud/config.yaml`)
- `UNCLOUD_CONNECT` - Connect to a remote machine without using a config file


## Changelog
* 6d0b1dc1eecd5546d0952191f1df3f6730ecb5c2 chore bump mise version on CI to 2025.9.6
* e1734a1aa65d2b531b1e0c4061191a34cc8e4ff1 chore: bump Go to 1.25.1
* 51840e03663362d88c4da85b3dfd74d84f9b7d78 chore: bump golangci-lint to 2.4.0
* 375bb385a2ff963d92bb1b8646c1b3d9400996bd chore: bump golangci-lint to 2.4.0 on CI
* 84376bb34cf1b710bec270bfaa13e795d85aed63 chore: mise.lock include checksums for linux-x64
* 8a273dbf63893159569865ea20cfcd9a845f4c44 chore: rename cluster -> context option in commands for consistency
* 1f62e30a081398e70bbcef09e394b7ed6c96a6e5 chore: update mise checksums for linux-x64
* 88f05ffd752e1880229f237990441d72b2e1935d chore: update mise checksums for macos-arm64
* f8fe3c7af3ef12caefcc5c02dbebafd7cf476c7f feat: --no-install flag for 'machine init/add' to skip installing Uncloud daemon and dependencies #122
* bc078472d4c00926de51d12124de556da051b0fe feat: add -y|--yes flag for 'us deploy' to auto-confirm deployment plan
* 3db07ca2d44407cc3fc9d3b1366a16101e3b06f2 feat: allow setting config and connection with UNCLOUD_CONFIG and UNCLOUD_CONNECT env vars
* 831c581e0f5c9897a08a18e9545bbc60d23c38e3 feat: try each cluster connection in order until one succeeds, add progress spinner
* 8f906cfd95a358c877d666ca8a39808746eab197 fix: do not auto-confirm deploy plan on CI (no TTY), require explicit --yes or UNCLOUD_AUTO_CONFIRM=true
* b6e9766f40e7441b58ef643b7b2b14ca8b323e3f lint: gRPC status.Error for static error messages