Pavel Sviderski
|
ee580df6af
|
automatically rotate WG peer endpoints if can't establish a connection
|
2024-10-07 17:24:18 +10:00 |
|
Pavel Sviderski
|
2c0cf28509
|
fix peer status persistence, update status every second
|
2024-10-07 15:35:15 +10:00 |
|
Pavel Sviderski
|
7b98ed34df
|
calculate WG peer connection status
|
2024-10-07 14:58:21 +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
|
2fd1ee203a
|
fix: access to /run/uncloud.sock for a non-root user when initialising a fresh machine
|
2024-10-04 20:31:23 +10:00 |
|
Pavel Sviderski
|
336bdf9f4b
|
add minor log
|
2024-10-04 18:46:52 +10:00 |
|
Pavel Sviderski
|
c80c75e4e1
|
install.sh: download corrosion binary from github release
|
2024-10-04 18:37:24 +10:00 |
|
Pavel Sviderski
|
e5bda92ec6
|
add opptimistic sleep on corrosion service start to wait for schema initialisation
|
2024-10-04 16:19:07 +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
|
94186b2ae7
|
allow to subscribe to machine changes in the cluster store
|
2024-10-04 16:14:59 +10:00 |
|
Pavel Sviderski
|
1bcb8836ef
|
auto resubscribe a corrosion subscription if an error occurs
|
2024-10-03 16:13:03 +10:00 |
|
Pavel Sviderski
|
840943b3b0
|
split corrosion client subscription in a separate file
|
2024-10-03 14:10:09 +10:00 |
|
Pavel Sviderski
|
518eae9bd2
|
split corrosion queries in a separate file, make subscription more consistent with queries
|
2024-10-03 14:07:25 +10:00 |
|
Pavel Sviderski
|
06a4001080
|
refactor corrosion client to accept custom http client, fix backoff for every request
|
2024-10-03 13:58:28 +10:00 |
|
Pavel Sviderski
|
b73577e1a0
|
implement subscription in corrosion client
|
2024-10-02 18:28:54 +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
|
c275273617
|
fix install.sh to start uncloud.service after installing all systemd units
|
2024-10-02 12:44:38 +10:00 |
|
Pavel Sviderski
|
b688742e5a
|
remove the concept of cluster user (at least the current implementation)
|
2024-10-02 11:50:40 +10:00 |
|
Pavel Sviderski
|
4ec87db8e8
|
add init machine to store when initialising a cluster
|
2024-10-02 11:34:54 +10:00 |
|
Pavel Sviderski
|
c6358474ac
|
add comments
|
2024-10-02 09:25:12 +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
|
e123f7214e
|
add exponential backoff for network errors in corrosion client
|
2024-10-01 23:15:36 +10:00 |
|
Pavel Sviderski
|
3287691a31
|
start corrosion service even when machine is not initialised to be able to init cluster
|
2024-10-01 15:04:20 +10:00 |
|
Pavel Sviderski
|
6f9fc69c2e
|
fix corrosion data dir, add reload to systemd unit
|
2024-10-01 13:33:54 +10:00 |
|
Pavel Sviderski
|
0effba0adb
|
create corrosion store when initialising machine
|
2024-09-30 23:10:56 +10:00 |
|
Pavel Sviderski
|
667ecadd30
|
init cluster store backed by corrosion
|
2024-09-30 20:46:41 +10:00 |
|
Pavel Sviderski
|
68845e7607
|
refactor corrosion service init for machine
|
2024-09-30 20:46:29 +10:00 |
|
Pavel Sviderski
|
6d4698fc1d
|
implement Query in corrosion API client
|
2024-09-30 19:00:51 +10:00 |
|
Pavel Sviderski
|
708e14a4e0
|
add Exec and ExecMulti methods to corrosion API client
|
2024-09-29 10:25:54 +10:00 |
|
Pavel Sviderski
|
c80de16ebe
|
init corrosion API client
|
2024-09-28 20:42:57 +10:00 |
|
Pavel Sviderski
|
3e9718f08c
|
update store schema when configuring corrosion, create machines table
|
2024-09-27 20:10:05 +10:00 |
|
Pavel Sviderski
|
69c9167355
|
configure corrosion bootstrap peers when initialising a machine
|
2024-09-26 20:36:13 +10:00 |
|
Pavel Sviderski
|
b25938acc1
|
clean up corrosion systemd service
|
2024-09-26 19:14:25 +10:00 |
|
Pavel Sviderski
|
1ec3376be5
|
remove indentations from corrosion config
|
2024-09-26 18:06:45 +10:00 |
|
Pavel Sviderski
|
aa236aac10
|
do not init corrosion data dir in install.sh
|
2024-09-26 17:00:48 +10:00 |
|
Pavel Sviderski
|
9fcc319c3a
|
create corrosion config
|
2024-09-26 17:00:30 +10:00 |
|
Pavel Sviderski
|
2f7463ebe3
|
refactor corrosion into interface service
|
2024-09-25 23:59:56 +10:00 |
|
Pavel Sviderski
|
498d35e866
|
install.sh: install corrosion systemd service
|
2024-09-25 22:10:01 +10:00 |
|
Pavel Sviderski
|
ba67b96734
|
update install.sh to download uncloudd binary from the latest GitHub release
|
2024-09-23 21:39:51 +10:00 |
|
Pavel Sviderski
|
cc7b4dcc8d
|
add .env file to mise
|
2024-09-23 21:21:45 +10:00 |
|
Pavel Sviderski
|
ca14e2b2b1
|
update goreleases: release 2 binaries
|
2024-09-23 21:11:11 +10:00 |
|
Pavel Sviderski
|
28c73d9f0f
|
add .goreleaser.yaml config
|
2024-09-23 19:33:58 +10:00 |
|
Pavel Sviderski
|
c77c34fc6c
|
update .gitignore
|
2024-09-23 19:30:32 +10:00 |
|
Pavel Sviderski
|
da0c9bb16e
|
add expriment with using talos discovery service
|
2024-09-23 19:30:22 +10:00 |
|
Pavel Sviderski
|
5f790b7715
|
update .gitignore
|
2024-09-23 19:26:28 +10:00 |
|
Pavel Sviderski
|
93a9e322f4
|
provision machine when adding it to the cluster
|
2024-09-23 14:50:35 +10:00 |
|
Pavel Sviderski
|
d66818ea77
|
detect if the machine is already initialised
|
2024-09-23 14:21:06 +10:00 |
|
Pavel Sviderski
|
43e2bf86fb
|
fix concurrent output in install.sh
|
2024-09-21 00:46:58 +10:00 |
|
Pavel Sviderski
|
d735d568b3
|
run install.sh script when initialising a cluster on the init machine
|
2024-09-21 00:43:33 +10:00 |
|
Pavel Sviderski
|
18d5680863
|
temporary disable green
|
2024-09-21 00:39:06 +10:00 |
|
Pavel Sviderski
|
fdb277c2df
|
fix internal/machine package to build on darwin
|
2024-09-20 23:18:58 +10:00 |
|
Pavel Sviderski
|
7ef7475dc2
|
remove redundant logging in install.sh
|
2024-09-20 23:14:08 +10:00 |
|
Pavel Sviderski
|
73be824f30
|
convert systemd unit to Type=notify and report readiness
|
2024-09-20 23:11:00 +10:00 |
|
Pavel Sviderski
|
ea8dfca14c
|
delete old unused ClusterClient
|
2024-09-20 23:04:40 +10:00 |
|
Pavel Sviderski
|
08bbca3985
|
update README
|
2024-09-20 18:04:57 +10:00 |
|
Pavel Sviderski
|
84dd57a07c
|
minor install.sh
|
2024-09-20 17:06:58 +10:00 |
|
Pavel Sviderski
|
c37b1f7d95
|
add comment
|
2024-09-20 16:55:08 +10:00 |
|
Pavel Sviderski
|
a980cb7941
|
create uncloud Linux group in install script
|
2024-09-20 16:54:02 +10:00 |
|
Pavel Sviderski
|
6856a77b56
|
minor
|
2024-09-20 16:20:24 +10:00 |
|
Pavel Sviderski
|
c103b6ed6d
|
add install.sh script to install uncloudd daemon on a machine
|
2024-09-20 15:57:00 +10:00 |
|
Pavel Sviderski
|
1a5a78e4b3
|
setup Docker network and iptables forwarding when starting machine
|
2024-09-19 17:15:33 +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
|
bd53e3f20e
|
machine add: configure remote machine to join the cluster network
|
2024-09-12 17:03:23 +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
|
a64caf34a7
|
add Token RPC endpoint to grab a machine token for adding it to a cluster
|
2024-09-12 09:55:02 +10:00 |
|
Pavel Sviderski
|
fb236fb922
|
establish SSH connection when adding a new machine
|
2024-09-11 20:46:43 +10:00 |
|
Pavel Sviderski
|
03c2c0df39
|
refactor cluster connection in CLI
|
2024-09-11 18:40:06 +10:00 |
|
Pavel Sviderski
|
c56f81bac2
|
add TODO
|
2024-09-11 16:10:36 +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
|
676f22a935
|
start WG network when the machine is initialised via RPC call
|
2024-09-10 18:23:55 +10:00 |
|
Pavel Sviderski
|
4e2640bbd2
|
rename machines to connections in config
|
2024-09-10 16:20:00 +10:00 |
|
Pavel Sviderski
|
ddf7d23351
|
set uncloud group on the unix socket to allow configured non-root users to access it
|
2024-09-10 16:13:20 +10:00 |
|
Pavel Sviderski
|
9e44d30328
|
implement CLI init cluster, add SSH and WireGuard cluster connectors
|
2024-09-10 13:48:14 +10:00 |
|
Pavel Sviderski
|
fd314bcf65
|
add ssh destination to connection config
|
2024-09-10 13:46:17 +10:00 |
|
Pavel Sviderski
|
2514c804dc
|
update init command to send RPC calls over SSH tunnel
|
2024-09-10 13:45:49 +10:00 |
|
Pavel Sviderski
|
86d949ae48
|
refactor Machine to run gRPC server to init cluster
|
2024-09-10 13:44:12 +10:00 |
|
Pavel Sviderski
|
e9f4ad7083
|
add Machine gRPC service
|
2024-09-10 13:41:52 +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
|
f49e91b41f
|
fix parse token, return out in cmdexec run
|
2024-09-06 15:52:27 +10:00 |
|
Pavel Sviderski
|
cfa2105684
|
add public IP to the end of endpoint list
|
2024-09-06 15:06:50 +10:00 |
|
Pavel Sviderski
|
7e93abb972
|
move InitCluster to Machine
|
2024-09-06 13:03:45 +10:00 |
|
Pavel Sviderski
|
31e2b8456f
|
refactor daemon to use Machine to manage all components
|
2024-09-06 11:00:33 +10:00 |
|
Pavel Sviderski
|
a59950631b
|
reduce log level for WG tunnel
|
2024-09-06 10:02:52 +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
|
69c259aa8d
|
move daemon pkg to top level
|
2024-09-06 09:28:22 +10:00 |
|
Pavel Sviderski
|
c58c99e061
|
rename machine config to state
|
2024-09-06 09:26:45 +10:00 |
|
Pavel Sviderski
|
945eff471b
|
add uncloud machine token command to print machine token to add machine to cluster
|
2024-09-05 16:13:27 +10:00 |
|
Pavel Sviderski
|
4656bdd132
|
minor config refactor and management IP
|
2024-09-05 12:22:53 +10:00 |
|
Pavel Sviderski
|
3f71aec275
|
add uncloud machine init command to initialise a new cluster on local machine
|
2024-09-05 12:21:01 +10:00 |
|
Pavel Sviderski
|
58fb3105cd
|
Cluster service implementation with basic local state and IPAM manager
|
2024-09-05 12:16:42 +10:00 |
|
Pavel Sviderski
|
aad2ac2085
|
refactor Cluster gRPC service, add common type converters from/to netip
|
2024-09-05 12:15:39 +10:00 |
|
Pavel Sviderski
|
fd396dd91f
|
add management IP to machine and peer configs, update daemon to listen on it
|
2024-08-30 18:33:37 +10:00 |
|
Pavel Sviderski
|
c93206e6d1
|
add network/tunnel package to establish user space WG tunnel to a machine
|
2024-08-29 22:38:23 +10:00 |
|
Pavel Sviderski
|
41098d00b8
|
assign ipv6 address to each machine derived from their public keys
|
2024-08-29 22:37:49 +10:00 |
|
Pavel Sviderski
|
eed2c8809c
|
generate user key for new cluster and add it to peers on bootstrap machine
|
2024-08-29 15:38:13 +10:00 |
|
Pavel Sviderski
|
afe9c13283
|
Implement grpc server in the daemon to receive cluster requests
|
2024-08-29 10:17:16 +10:00 |
|
Pavel Sviderski
|
e074b6855f
|
implement uncloudd daemon that starts a WireGuard network without peer probing
|
2024-08-26 17:09:54 +10:00 |
|