Pasha Sviderski
351698c280
fix(cli): completion with direct connections (--connect, --context, --uncloud-config) ( fixes #377 )
2026-07-21 17:01:21 +10:00
Pasha Sviderski
fa77edf53e
fix(proxy): don't shutdown 'uc proxy' when a client connection aborts
2026-07-21 14:16:46 +10:00
Pasha Sviderski
dc721e511e
fix(daemon): extend systemd service start timeout when pulling Docker image for corrosion service
2026-07-10 20:42:27 +10:00
Pasha Sviderski
15e3e32b47
chore(grpc): update min client/server versions to 0.20.0
2026-06-26 20:53:42 +10:00
Pasha Sviderski
ad43569fe5
feat(machine): add OS and kernel version information to machine info, show in 'machine ls'
2026-06-24 17:57:20 +10:00
Pasha Sviderski
9ea30e6ee9
refactor(corrosion): reduce transport retry time for corrosion 10s->2s, move some logs to error level
2026-06-24 16:06:00 +10:00
Pasha Sviderski
a040ce5f8e
chore: make retry log debug
2026-06-24 14:50:45 +10:00
Pasha Sviderski
328d17599b
fix(machine): improve context cancellation handling during watch and sync operations
2026-06-24 13:41:14 +10:00
Pasha Sviderski
83256b5bf7
fix(corrosion): handle 404 errors during resubscription and stop retrying
2026-06-24 12:03:45 +10:00
Pasha Sviderski
35191c00e0
fix(cluster): improve error handling on failed machine subscription in cluster store
2026-06-23 20:54:25 +10:00
Pasha Sviderski
b08cee03e3
refactor(machine): improve startup and shuitdown logic, shutdown corrosion in one place
2026-06-23 16:03:04 +10:00
Pasha Sviderski
99e1ae0edb
fix(corrosion): handle resubscription with from_change=0 that streams rows in new corrosion version
2026-06-23 09:34:45 +10:00
Pasha Sviderski
5f07bc5832
fix(machine): correctly recreate machine in store if missing, improve context handling
2026-06-23 09:29:04 +10:00
Pasha Sviderski
8b95db66d1
feat(machine): sync machine arch, daemon and docker versions to store, sync machine info on schedule
2026-06-22 19:47:35 +10:00
Pasha Sviderski
23d6b4409a
machine: make each machine the source of truth for its configuration, sync it to cluster store
2026-06-19 20:51:19 +10:00
Pasha Sviderski
0c42a7df65
cluster: derive default machine name from its hostname when adding to cluster
2026-06-19 16:54:59 +10:00
Pasha Sviderski
2f717a10a7
cli: do not use interactive TUI elements when control terminal (tty) is not available ( fixes #386 )
2026-06-18 18:22:48 +10:00
Pasha Sviderski
7bb3cb9682
logs: stream corrosion logs with 'uc machine logs corrosion' from container instead of journal ( fixes #392 )
2026-06-17 18:28:25 +10:00
Pasha Sviderski
d36ff67409
unregistry: change the listening port on each machine 5000 -> 51500
2026-06-17 16:32:09 +10:00
Pasha Sviderski
0c3b8b122f
network: add auto-detection of optimal MTU for WireGuard interface, --wg-mtu flag, set max_mtu for Corrosion to 1232
2026-06-16 21:36:12 +10:00
Pasha Sviderski
2f76187bf5
corrosion: use Corrosion 2026.6.15 with fixed API authz for CLI query/exec commands
2026-06-15 16:34:06 +10:00
1247f961c2
feat: allow to bind to multiple host IP addresses specified as CIDR prefix in x-ports ( #358 )
...
Signed-off-by: Miek Gieben <miek@miek.nl >
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-06-04 20:07:58 +10:00
24b81af43c
feat: add :51090/metrics endpoint with Prometheus metrics listening on machine IP ( #304 )
...
Signed-off-by: Miek Gieben <miek@miek.nl >
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-05-29 18:23:07 +10:00
Pasha Sviderski
9424daff28
feat: enable auth for local requests to Corrosion API ( resolves #110 )
2026-05-26 10:07:12 +10:00
Pasha Sviderski
26951773d1
feat: add created_at/updated_at columns to cluster and machines store tables
2026-05-26 10:07:12 +10:00
Pasha Sviderski
442b5c62bf
refactor: cleanup Corrosion container on reset, move admin socket to runtime dir
2026-05-25 21:41:35 +10:00
Pasha Sviderski
71da32549a
refactor: migrate to run Corrosion service as managed container instead of systemd unit, automatically migrate data to v1
2026-05-25 17:15:44 +10:00
Pasha Sviderski
9236aa341a
refactor: migrate to latest Corrosion version 2026.5.14 for ucind (compare versions vector for store sync)
2026-05-25 14:09:51 +10:00
Pasha Sviderski
0dd4bc9d36
chore: build a use new corrosion image 2026.5.14 (pointing to v1.0.0 upstream) for ucind
2026-05-22 19:36:07 +10:00
Pasha Sviderski
07acb31bf3
fix: do not include outdated containers from the removed machine in DNS and Caddy configs
2026-05-21 19:33:28 +10:00
Pasha Sviderski
a26af3b2ae
feat: make machine init/add upgrade installed daemon binary to latest or specified version
2026-05-21 15:58:04 +10:00
Pasha Sviderski
2f159157cc
feat(version): replace --version with 'version' command to print build information for uc and uncloudd
2026-05-21 15:14:08 +10:00
Pasha Sviderski
28c88e4e10
feat(version): collect build-time metadata for uncloud binaries in version pkg
2026-05-21 15:14:08 +10:00
Pasha Sviderski
7f7d091429
chore: make the reset machine prompt a bit clearer
2026-05-21 15:14:08 +10:00
Aaron Echols and GitHub
424263bdd4
feat: allow to customise WireGuard listen port with --wg-port for machine init/add ( #366 )
2026-05-19 16:55:55 +10:00
c95136eae6
BREAKING CHANGE: resolve gRPC API proxy targets (machines) on server instead of client, needs upgrade to v0.20 ( #247 )
...
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-05-19 15:22:50 +10:00
Pasha Sviderski
5ecd09aa2b
fix: return non-exit code when uc commands cancelled by not confirming prompt ( fixes #354 )
2026-05-05 10:41:53 +10:00
Miek Gieben and GitHub
dd68079005
feat: add shell completion for ucind CLI ( #344 )
...
For feature parity with uc. Only _really_ usefull for ucind cluster rm,
but still useful, and not many lines of code.
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-05-04 13:42:23 +10:00
Miek Gieben and GitHub
d23f1bdc00
refactor: manually modernize Go ( #349 )
...
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-05-04 13:20:48 +10:00
Miek Gieben and GitHub
4a12217e65
feat: add uc CLI argument completion for machines, services, volumes ( #309 )
...
* Allow for argument completion
This shows for a single command on how to complete service names in the
cluster: `uc inspect <TAB>` will complete using ListServices
See: #307
Signed-off-by: Miek Gieben <miek@miek.nl >
* All cluster interactions can be completed
Signed-off-by: Miek Gieben <miek@miek.nl >
* Machines -m flag completion
Signed-off-by: Miek Gieben <miek@miek.nl >
* Add completion for "ctx use"
Signed-off-by: Miek Gieben <miek@miek.nl >
* Complete from compose file too
Signed-off-by: Miek Gieben <miek@miek.nl >
* Allow for argument completion
This shows for a single command on how to complete service names in the
cluster: `uc inspect <TAB>` will complete using ListServices
See: #307
Signed-off-by: Miek Gieben <miek@miek.nl >
* All cluster interactions can be completed
Signed-off-by: Miek Gieben <miek@miek.nl >
* Machines -m flag completion
Signed-off-by: Miek Gieben <miek@miek.nl >
* Add completion for "ctx use"
Signed-off-by: Miek Gieben <miek@miek.nl >
* Complete from compose file too
Signed-off-by: Miek Gieben <miek@miek.nl >
* Move to better place
Signed-off-by: Miek Gieben <miek@miek.nl >
* Adjust imports
Signed-off-by: Miek Gieben <miek@miek.nl >
* prefix match for context too
Signed-off-by: Miek Gieben <miek@miek.nl >
---------
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-04-29 12:18:05 +10:00
Pasha Sviderski
3310b478a1
chore: do not log too noisy 'Sent log stream heartbeat.' log line for machine logs
2026-04-24 14:22:25 +10:00
Pasha Sviderski
8384d4162c
lint
2026-04-24 13:24:17 +10:00
Pasha Sviderski
fe829efbf5
refactor: embed install.sh script in uc CLI to not curl | sh and version together with CLI
2026-04-24 11:37:12 +10:00
Pasha Sviderski
45cf87a0cb
feat(caddy): order local machine upstreams first in generated Caddyfile
2026-04-23 19:42:33 +10:00
Pasha Sviderski
50057c42e0
fix: machine logs timestamp parsing and streaming for systemd <v255
2026-04-23 17:31:31 +10:00
Pasha Sviderski
7b554cd703
chore: style the machine reset prompt in red and fix the padding for [y/N]
2026-04-22 19:00:38 +10:00
Miek Gieben and GitHub
6fb68c22c5
fix: correctly wait for journalctl processes to not leave zombies when streaming machine logs ( #325 )
...
* fix: call cmd.Wait()
Even though the context is cancelled we still need to call cmd.Wait()
after a cmd.Start() to clean up the child (reap) process. Not doing so
results in a zombie journalctl.
I have manually tested this, as I'm still not sure how to e2e test for
this in a simple manner.
Before:
```
root@uncloud2:~# ps aux|grep jou
root 313 0.0 1.2 42272 23352 ? S<s Apr20 0:10 /usr/lib/systemd/systemd-journald
root 15751 0.0 0.0 0 0 pts/0 Z+ 07:02 0:00 [journalctl] <defunct>
root 15754 0.0 0.0 0 0 pts/0 Z+ 07:02 0:00 [journalctl] <defunct>
```
After:
```
root 313 0.0 1.2 42272 23592 ? S<s Apr20 0:10 /usr/lib/systemd/systemd-journald
```
* follow() doesnt need wait
We can keep the wait function more contraint, as follow does not need it
Signed-off-by: Miek Gieben <miek@miek.nl >
---------
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-04-22 19:00:15 +10:00
Pasha Sviderski
b1897ce719
fix(nightly): inject correct semver 0.<next-minor>.0-nightly-abc1234 for nightly builds
2026-04-22 15:41:55 +10:00
Pasha Sviderski
47199c36ce
fix: containerd socket detection and unregistry startup on machine reboot
2026-04-22 15:31:18 +10:00
Pasha Sviderski
56a54ab3fd
feat(logs): include hook information in log entry formatting
2026-04-22 13:55:42 +10:00