Pasha Sviderski
|
25ca0a57e8
|
lint
|
2026-09-30 18:49:53 +10:00 |
|
Pasha Sviderski
|
4dae187aa5
|
chore(caddystorage): move storage module code to a separate unlabs-dev/caddy-uncloud repo
|
2026-09-30 16:43:46 +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
|
e50c5fbe57
|
refactor(api): replace map[string]uint64 with api.StoreVersion for store version handling
|
2026-09-30 16:43:46 +10:00 |
|
Pasha Sviderski
|
3482eeefab
|
chore: go mod tidy
|
2026-09-24 22:34:47 +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
|
45d33d87dd
|
docs(runtime-templates): add 'Added in v0.21.0' note
|
2026-09-23 19:12:58 +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
|
88dda435e7
|
chore(gitignore): ignore /research dir
|
2026-09-23 09:49:37 +10:00 |
|
Pasha Sviderski
|
ae940c3003
|
fix(test): flaky distributed lock tests by waiting for WG mesh to become ready
|
2026-09-22 15:21:18 +10:00 |
|
Pasha Sviderski
|
e525bdeb7c
|
chore(website): update discord members
|
2026-09-18 21:04:53 +10:00 |
|
Pasha Sviderski
|
bc09954cbd
|
feat(caddy): mount uncloud API socket for storage module (#31)
|
2026-09-17 16:50:26 +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 |
|
Pasha Sviderski
|
c65f352250
|
test(connector): test UnixConnector reconnects after socket replacement
|
2026-09-17 11:28:46 +10:00 |
|
Pasha Sviderski
|
751ea97f47
|
fix(caddystorage): error formatting
|
2026-09-15 14:55:43 +10:00 |
|
Pasha Sviderski
|
abb85f8734
|
chore(AGENTS): do not emphasize the importance of table driven tests
|
2026-09-15 13:27:33 +10:00 |
|
Pasha Sviderski
|
37f817aa58
|
chore(caddystorage): adjust log levels
|
2026-09-15 13:26:27 +10:00 |
|
Pasha Sviderski
|
db55df64a2
|
chore: bump caddy Go pkg dependency to v2.11.4
|
2026-09-14 19:38:49 +10:00 |
|
Pasha Sviderski
|
e9e7b3a61e
|
chore: move legacy unused WG tunnel and client connector to experiment/wg
|
2026-09-14 19:22:42 +10:00 |
|
Pasha Sviderski
|
e81e130544
|
chore: go mod tidy
|
2026-09-12 07:48:18 +10:00 |
|
Pasha Sviderski
|
1e471d3ec4
|
feat(caddystorage): lint
|
2026-09-11 20:25:03 +10:00 |
|
Pasha Sviderski
|
f7be7c55c9
|
feat(caddystorage): minor logging formatting
|
2026-09-11 20:17:41 +10:00 |
|
Pasha Sviderski
|
6ab02f95fe
|
feat(caddystorage): simplify active locks tracking and cleanup
|
2026-09-11 20:14:35 +10:00 |
|
Pasha Sviderski
|
9a4098694c
|
feat(caddystorage): init Caddy storage module backed by an Uncloud cluster
|
2026-09-09 20:11:09 +10:00 |
|
Pasha Sviderski
|
992b819f5b
|
feat(caddystorage): simplify CaddyStorage gRPC API to allow only one2one calls
|
2026-09-08 14:36:43 +10:00 |
|
Pasha Sviderski
|
842f796e38
|
refactor(store): unify logic and enhance logging for initial store sync (waitStoreSync)
|
2026-09-08 12:04:26 +10:00 |
|
Pasha Sviderski
|
0f6c03240b
|
feat(store): add WaitForStoreVersion API to wait for cluster store replication up to target version
|
2026-09-08 10:52:53 +10:00 |
|
Pasha Sviderski
|
c6d0371f15
|
feat(caddystorage): integrate CaddyStorage gRPC service in machine API
|
2026-09-07 10:44:08 +10:00 |
|
Pasha Sviderski
|
5e01db5e20
|
fix(compose): remove unnecessary warning validating deploy.mode that is error
|
2026-09-04 11:00:05 +10: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
|
7a88865f64
|
feat(caddystorage): implement the machine-local CaddyStorage gRPC service
|
2026-09-04 10:50:30 +10:00 |
|
Pasha Sviderski
|
a24fc11caf
|
feat(caddystorage): generic namespace-scoped key-value storage using cluster table in Corrosion
|
2026-09-04 10:50:30 +10:00 |
|
Pasha Sviderski
|
c7e0e36daa
|
feat(caddystorage): define CaddyStorage gRPC service API for distributed Caddy storage
|
2026-09-04 10:50:30 +10:00 |
|
Pasha Sviderski
|
01426ca03d
|
feat(distlock): add smoke e2e test for distributed lock (lease) in cluster
|
2026-09-04 10:50:30 +10:00 |
|
Pasha Sviderski
|
3f86b3de44
|
feat(distlock): add integration tests for grpc transport
|
2026-09-04 10:50:30 +10:00 |
|
Pasha Sviderski
|
1c29d4d5d0
|
feat(distlock): integrate distributed lease management into Machine API
|
2026-08-28 20:59:10 +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
|
43bf2baaf7
|
feat(distlock): implement distributed Locker based on Redlock algorithm
|
2026-08-28 20:34:06 +10:00 |
|
Pasha Sviderski
|
613cd6e418
|
feat(distlock): refactor into a standalone package
|
2026-08-27 15:49:59 +10:00 |
|
Pasha Sviderski
|
7a7a313426
|
feat(distlock): add gRPC Lease server that adapts a machine-local Store
|
2026-08-27 12:27:54 +10:00 |
|
Pasha Sviderski
|
a5ab6e3788
|
feat(distlock): implement in-memory lease store
|
2026-08-26 16:53:21 +10:00 |
|
Pasha Sviderski
|
5a956e72de
|
feat(distlock): declare Lease gRPC service API for distributed locks
|
2026-08-26 16:06:47 +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 |
|
Pasha Sviderski
|
b99abb7c39
|
website: update docs social card and favicons
|
2026-07-14 12:54:44 +10:00 |
|
Pasha Sviderski
|
c2ae11a293
|
docs(cluster): add section about SSH user permissions when connection to the cluster
|
2026-07-14 12:54:44 +10:00 |
|
Pasha Sviderski
|
f1555259de
|
chore(docs): update command outputs in Deploy demo app doc, add section to view logs
|
2026-07-14 12:54:44 +10:00 |
|
Pasha Sviderski
|
50f8fbcfda
|
fix(install): correctly compare installed nightly daemon version to upgrade to latest
|
2026-07-14 12:54:44 +10:00 |
|
Pasha Sviderski
|
73f29092ff
|
docs: update use cases on the Overview page
|
2026-07-14 12:54:44 +10:00 |
|
Pasha Sviderski
|
08b24af341
|
website: split newsletter subscription into a separate section
|
2026-07-14 12:54:43 +10:00 |
|
Pasha Sviderski
|
b9c54f1ff5
|
chore(website): configure ingress Caddy as trusted proxy to forward client IPs
|
2026-07-14 12:54:43 +10:00 |
|
Pasha Sviderski
|
4d76dd601c
|
website: refine faq open source question, update og image
|
2026-07-14 12:54:43 +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
|
054b3b8fd4
|
website: change CTA link to getting started docs
|
2026-07-09 19:07:25 +10:00 |
|
Pasha Sviderski
|
b3896ff642
|
website: minor
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
5b2823de1e
|
website: update meta/og tags and images
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
0007f76d09
|
website: serve hub as /hub
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
f8e6d1caaa
|
website: send Hub early access form submission to posthog
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
e684795aee
|
website: refine styles for index and hub
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
7964273552
|
chore(experiments): go mod tidy
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
4ad4bce29d
|
website: refine FAQ and form on hub page
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
d670d18810
|
website: add new Hub page
|
2026-07-09 18:56:46 +10:00 |
|
Pasha Sviderski
|
a1957a156e
|
docs(install): update machine init/add output that doesn't install corrosion systemd service
|
2026-07-09 18:56:45 +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
|
e5f23a9189
|
fix(install): allow to install uc CLI version <0.20 after the artifact renaming
|
2026-06-26 21:39:39 +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
|
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
|
e01c8d3cc7
|
docs(secrets): add new Concepts/Secrets doc about passing sensitive data to services, including x-command extension
|
2026-06-26 19:36:42 +10:00 |
|
Pasha Sviderski
|
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
|
e5b205391e
|
fix(install): install curl on machine init/add if missing (fixes #402)
|
2026-06-25 10:52:22 +10:00 |
|
Pasha Sviderski
|
e9762dda21
|
chore(api): add TODO to refactor Machine* domain types in api/client packages
|
2026-06-25 07:13:47 +10:00 |
|
Pasha Sviderski
|
5bfdbd5c8f
|
docs: regenerate CLI reference
|
2026-06-24 20:09:15 +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
|
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
|
8aa0a96c23
|
feat(machine ls): add ARCH, VERSION, DOCKER columns in the output table
|
2026-06-22 19:49:11 +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
|
69acf6f58e
|
docs: regenerate CLI reference
|
2026-06-19 20:55:48 +10:00 |
|
Pasha Sviderski
|
18b4112a33
|
ucind: use corrosion image tag 2026.6.15
|
2026-06-19 20:51:59 +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
|
247154eeb3
|
cli: use forked bubbletea with a fix to drain pending TTY input on shutdown (#286)
|
2026-06-17 16:32:09 +10:00 |
|
Pasha Sviderski
|
7bac40ae3e
|
client: refactor ListImages to return an error per machine
|
2026-06-17 16:32:09 +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
|
3841da9e1d
|
website: node instead of machine in header, cut subheader
|
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 |
|
Pasha Sviderski
|
f275a31096
|
website: include js in the image
|
2026-06-12 13:41:32 +10:00 |
|
Pasha Sviderski
|
e622c06ca6
|
website: landing update: Multi-machine Docker Compose for production with terminal examples
|
2026-06-11 19:07:16 +10:00 |
|
Pasha Sviderski
|
fffc6a8b8a
|
website: landing revamp with deploy demo and testimonial
|
2026-06-10 19:53:28 +10:00 |
|