Pasha Sviderski
fab2a20242
refactor(grpc-proxy): use Metadata.Err() method to get upstream error for a broadcasted request
2026-10-27 10:05:35 +10:00
Pasha Sviderski
bb8fb3a380
feat(images): include all tags and digest references when listing images
2026-10-26 20:00:46 +10:00
Pasha Sviderski
e50c7a0cf6
move deploy.operation package to operation
2026-10-26 15:19:38 +10:00
Pasha Sviderski
c16e452439
fix: handle output redirect and NO_COLOR for 'uc caddy config'
2026-10-19 12:15:01 +10:00
Pasha Sviderski
409dc3bfe3
fix(logs): show all matched logs when --since filter specified
2026-10-07 13:30:25 +10:00
Pasha Sviderski
5fa236871f
fix(logs): resolve time ranges using client local time zone for logs commands
2026-10-07 13:30:25 +10:00
Pasha Sviderski
9c21ae6b08
feat(caddy): CLI command to list certificates stored in the Uncloud cluster storage for Caddy
2026-10-01 14:19:53 +10:00
Pasha Sviderski
af277639dd
chore(dns): require minimum server version 0.21.0 for 'uc dns set' command
2026-09-30 19:21:59 +10:00
Pasha Sviderski
930e7ea637
feat(caddy): add ListCertificates method, refactor Caddy client layout ( #31 )
2026-09-30 16:43:46 +10:00
Pasha Sviderski
ebecf334d7
chore(dns): require minimum server version 0.21
2026-09-25 17:24:13 +10:00
417e402c73
feat(dns): allow setting an externally managed cluster domain (uc dns set)
...
* feat: add uc dns set
This allows manual setting of the cluster's domain name. I use this to
make the local cluster admin aware that this has been done.
(and then manually update the external dns)
```
% uc dns set ctrl.u.science.ru.nl
Set cluster domain: ctrl.u.science.ru.nl
Deploy the Caddy reverse proxy service ('uc caddy deploy') to enable internet access to your services via the reserved or your custom domain.
% uc dns show
ctrl.u.science.ru.nl
% uc dns set ctrl.u.science.ru.nl
Error: domain already reserved
% uc dns release
Released cluster domain: ctrl.u.science.ru.nl
```
See: #37
Signed-off-by: Miek Gieben <miek@miek.nl >
* docs
Signed-off-by: Miek Gieben <miek@miek.nl >
* check validatity
Signed-off-by: Miek Gieben <miek@miek.nl >
* No need to call out to update anything, as set doesnt use uncloud dns
Signed-off-by: Miek Gieben <miek@miek.nl >
* Ignore domain when there is no endpoint
Prevents this error, when you know what you're doing:
Error: failed to update DNS records pointing to caddy service: create cluster domain records in Uncloud DNS: rpc error: code = Unknown desc = Post "/domains/ctrl.u.science.ru.nl/records": unsupported protocol scheme ""
Signed-off-by: Miek Gieben <miek@miek.nl >
* from main
Signed-off-by: Miek Gieben <miek@miek.nl >
* mise proto && make cli-docs
Signed-off-by: Miek Gieben <miek@miek.nl >
* Rebase and and generate protos again
Signed-off-by: Miek Gieben <miek@miek.nl >
* Rebase and fix
Signed-off-by: Miek Gieben <miek@miek.nl >
* feat(dns): allow setting an externally managed cluster domain
---------
Signed-off-by: Miek Gieben <miek@miek.nl >
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-09-25 16:36:01 +10:00
Pasha Sviderski
9ee3ca15eb
feat(dns): allow setting an externally managed cluster domain
2026-09-25 16:20:54 +10:00
Pasha Sviderski
ace8cbf974
fix(caddyconfig): custom global Caddy config is preserved on regeneration,warn about last load error in 'uc caddy config' ( fixes #412 )
2026-09-24 22:24:42 +10:00
Pasha Sviderski
5c33e4be86
feat(runtime-templates): add support for runtime templates in bind mounts ( #412 )
2026-09-23 15:12:10 +10:00
Pasha Sviderski
f68c9859d9
BREAKING CHANGE: move Uncloud API socket to /run/uncloud/api/uncloud.sock, activate it by systemd socket unit
2026-09-17 15:23:38 +10:00
Miek Gieben
b28c458029
Rebase and fix
...
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-09-15 14:39:48 +02:00
Miek Gieben
81d36edc66
No need to call out to update anything, as set doesnt use uncloud dns
...
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-09-15 14:35:33 +02:00
Miek Gieben
5fb80e2071
check validatity
...
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-09-15 14:35:33 +02:00
Miek Gieben
cec3c75a10
feat: add uc dns set
...
This allows manual setting of the cluster's domain name. I use this to
make the local cluster admin aware that this has been done.
(and then manually update the external dns)
```
% uc dns set ctrl.u.science.ru.nl
Set cluster domain: ctrl.u.science.ru.nl
Deploy the Caddy reverse proxy service ('uc caddy deploy') to enable internet access to your services via the reserved or your custom domain.
% uc dns show
ctrl.u.science.ru.nl
% uc dns set ctrl.u.science.ru.nl
Error: domain already reserved
% uc dns release
Released cluster domain: ctrl.u.science.ru.nl
```
See: #37
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-09-15 14:35:31 +02:00
Pasha Sviderski
8aedc2bf19
refactor(proto): move protobuf generated API to the top-level api/pb package
2026-09-04 10:50:30 +10:00
Pasha Sviderski
00d68d9465
refactor(client): make ProxySingleMachineContext and ProxyMachinesContext package functions as well
2026-08-28 20:37:50 +10:00
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
Anton Ovchinnikov and GitHub
7c4fcde88d
feat(cli): support env var UNCLOUD_DAEMON_VERSION to specify daemon version for "uc machine add/init" ( #409 )
2026-07-06 10:47:56 +10:00
Miek Gieben and GitHub
6b41340f1d
chore(cli): use cli.Cancelled when cancellikng the command to return non-zero exit code in all cases ( #406 )
...
Use `cli.Cancelled` in all cases where we cancel an operation instead of Printf && return nil
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-06-30 19:49:11 +10:00
Pasha Sviderski
4b9ea43402
docs(cli): update machine init/add help with info about installing Docker and uncloudd
2026-06-29 21:03:11 +10:00
Pasha Sviderski
a5d73fe4d7
refactor(cli): move cmd/uncloud to cmd/uc, change the artifact name uncloud_* -> uc_*
2026-06-26 20:07:15 +10:00
Pasha Sviderski and GitHub
925695a44a
feat(secrets): initial support for 'x-command' and 'driver: exec' secrets, referenced as secret://name in environment ( #403 )
2026-06-26 12:00:16 +10:00
Pasha Sviderski
1d5c71730f
feat(cli): add JSON output format for 'uc machine ls', remove MACHINE ID column from table output
2026-06-24 20:02:56 +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
8aa0a96c23
feat(machine ls): add ARCH, VERSION, DOCKER columns in the output table
2026-06-22 19:49:11 +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
e3823c29bf
cli: strip ANSI sequences (colors, styles) from table output when stdout is not a TTY
2026-06-18 20:29:22 +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
7bac40ae3e
client: refactor ListImages to return an error per machine
2026-06-17 16:32:09 +10:00
Miek Gieben and GitHub
73d515bb40
cli: add -m/--machine flag completion for 'uc machine logs' ( #352 )
...
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-06-17 13:18:53 +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
Miek Gieben and GitHub
cccb8635e1
ucind: add command aliases rm/delete ( #396 )
...
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-06-08 16:34:42 +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
3586a32987
feat: add 'uc proxy' command to proxy a service port to a local port ( #384 )
...
Signed-off-by: Miek Gieben <miek@miek.nl >
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-06-02 18:56:16 +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
Miek Gieben and GitHub
11df8e4a75
feat: add 'uc caddy logs' alias for 'uc logs caddy' ( #381 )
2026-05-28 19:45:39 +10:00
Immanuel Tikhonov and GitHub
7616f1365a
fix: reject extra args in context commands ( #376 )
2026-05-26 09:22:50 +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
2f159157cc
feat(version): replace --version with 'version' command to print build information for uc and uncloudd
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