Commit Graph
40 Commits
Author SHA1 Message Date
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 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 84990ad692 refactor(rtt): use proto Duration, add tests 2026-04-20 11:36:44 +10:00
Justin BradfordandGitHub 8d023f5c53 feat(rtt): 'machine rtt' command to show round-trip time between macines usign using gossip data (#226)
* Add corrosion admin client function to get RTT to other machines in the cluster

* Add `uc machine rtt` showing all pair-wise RTT stats from corrosion

* Add long description to machine rtt command

* Include machine peer RTTs in InspectMachine instead of adding new gRPC API for it

* Add nil check on InspectMachine's Rtt field to protect from a potential edge case

* Generate docs for machine rtt command

* Handle m.Message being nil when a node is down or unavailble

* Update cli-docs

* Use tui Table instead of tabwriter

* Change reported RTT to the median rather than mean. Still calculate include stddev, as it might be a useful indication of network jitter.

* Show RTT to peers in `wg show` output

* Update cli docs
2026-04-20 08:01:20 +10:00
Pasha Sviderski 1f328e99d5 fix: remove the incorrect e2e test for updating machine endpoints with empty list 2026-03-04 14:04:46 +10:00
Pasha Sviderski 2405b156e4 chore: validate endpoints is not empty in update machine requests 2026-03-03 19:04:41 +10:00
Pasha Sviderski 8d8acd5410 chore: wait for the initial store sync and cluster components before serving cluster gRPC requests 2025-12-23 19:00:09 +10:00
Pasha Sviderski b6e9766f40 lint: gRPC status.Error for static error messages 2025-09-15 17:11:12 +10:00
Pasha Sviderski 2714587ec5 feat: add RemoveMachine API endpoint to remove a machine from the cluster 2025-07-25 19:30:59 +10:00
Evgenii OrlovandGitHub 2c3bea64e5 feat: impl of functionality for renaming and updating machines (#91) 2025-07-22 18:45:19 +10:00
da3634b690 E2E tests use repeated strings for test data where constants add no value (#97)
---------

Co-authored-by: Pasha Sviderski <me@psviderski.name>
Co-authored-by: Anton Ovchinnikov <anton@tonyo.info>
2025-07-21 19:30:02 +02:00
Evgenii OrlovandGitHub 31cd4c77e9 feat: support x-machines placement constraints in compose files (#90) 2025-07-10 16:46:29 +10:00
Pavel Sviderski 3757813b20 refactor: rename main module to github.com/psviderski/uncloud 2025-03-22 18:25:08 +10:00
Pavel Sviderski 289d964b2a feat(dns): configure and store public IP when initialising machine 2025-02-25 21:21:37 +10:00
Pavel Sviderski ecec42ea60 feat(dns): cluster API for creating DNS records for cluster domain 2025-02-24 20:32:30 +10:00
Pavel Sviderski f6cf5cc250 feat(dns): cluster API for reserving/releasing cluster domain in Uncloud DNS 2025-02-24 17:35:19 +10:00
Pavel Sviderski bcb5a2a173 feat: deploy caddy service when adding new machine to cluster 2025-02-18 21:35:36 +10:00
Pavel Sviderski 43f28284f1 feat: rolling deploy strategy for global service, always recreate 2025-02-13 21:32:08 +10:00
Pavel Sviderski 035f44896d refactor cluster network related constants 2024-11-28 19:57:26 +10:00
Pavel Sviderski 2c62e1f6df refactor machine name generation using secrets package 2024-11-14 11:47:22 +10:00
Pavel Sviderski 913fb2da0c update ListMachines to include machine state from Corrosion membership 2024-11-13 16:48:55 +10:00
Pavel Sviderski 5094149406 improve error message for adding machine that already exists in the cluster 2024-10-04 20:45:54 +10:00
Pavel Sviderski fd3ad91136 update network controller to reconfigure network peers on machine changes 2024-10-04 16:18:08 +10:00
Pavel Sviderski c3ba43a8fa delete old non-distributed cluster state, fix storing endpoints in store 2024-10-02 13:03:17 +10:00
Pavel Sviderski 4ec87db8e8 add init machine to store when initialising a cluster 2024-10-02 11:34:54 +10:00
Pavel Sviderski 8fbf406007 relax relationship between corrosion service, init cluster with new store 2024-10-01 23:37:07 +10:00
Pavel Sviderski 0effba0adb create corrosion store when initialising machine 2024-09-30 23:10:56 +10:00
Pavel Sviderski 9fcc319c3a create corrosion config 2024-09-26 17:00:30 +10:00
Pavel Sviderski 5dc0832449 refactor network operations into networkController to start/stop when joining/leaving cluster 2024-09-18 15:55:02 +10:00
Pavel Sviderski 3f497b5e58 add couple TODOs 2024-09-12 17:45:31 +10:00
Pavel Sviderski 4e042be7b7 add machine list command and corresponding RPC endpoint 2024-09-12 14:52:07 +10:00
Pavel Sviderski 47073f017f update network peers when new machine added 2024-09-12 13:40:10 +10:00
Pavel Sviderski da72c0515a refactor cluster server to initialise state when initialising cluster, allow machine to be reinitialised 2024-09-11 14:50:52 +10:00
Pavel Sviderski 86d949ae48 refactor Machine to run gRPC server to init cluster 2024-09-10 13:44:12 +10:00
Pavel Sviderski 45cacfa6f5 rename Machine message to MachineInfo to not conflict with the service name 2024-09-08 13:40:43 +10:00
Pavel Sviderski 7e93abb972 move InitCluster to Machine 2024-09-06 13:03:45 +10:00
Pavel Sviderski 160a15fe8f split cluster Server into Machine and Server 2024-09-06 10:02:36 +10:00
Pavel Sviderski 2c46c0a7d5 rename Cluster to Server 2024-09-06 09:34:29 +10:00
Pavel Sviderski c58c99e061 rename machine config to state 2024-09-06 09:26:45 +10:00
Pavel Sviderski 58fb3105cd Cluster service implementation with basic local state and IPAM manager 2024-09-05 12:16:42 +10:00