Commit Graph
88 Commits
Author SHA1 Message Date
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
Pavel Sviderski 222edb7647 add machine config 2024-08-24 22:07:05 +10:00
Pavel Sviderski 8e1e85ef77 basic PoC of using Docker networkdb as a general purpose key-value store 2024-08-24 20:17:23 +10:00
Pavel Sviderski d369884f7a uncloud CLI tool and 'machine add' command to bootstrap a new cluster 2024-08-24 20:14:47 +10:00
Pavel Sviderski 3f13f6c0e6 add cmdexec package to execute commands on remote hosts via SSH 2024-08-24 19:55:28 +10:00
Pavel Sviderski 32448381ac add the initial draft of the design doc 2024-08-09 16:54:36 +10:00
Pavel Sviderski 92e3b21589 add -profile flag 2024-08-08 14:17:14 +10:00
Pavel Sviderski 38c0e65ac2 retrieve nodes from remote peers 2024-08-07 20:28:02 +10:00
Pavel Sviderski e6d8a33928 experiment: Serf transport for go-ds-crdt 2024-08-07 13:51:53 +10:00
Pavel Sviderski b4606b939b init machined cli 2024-07-20 21:18:06 +10:00
Pavel SviderskiandGitHub c99cdcd95f Initial commit 2024-07-20 21:13:37 +10:00