Pavel Sviderski
|
871fd8c035
|
proxy uncloud.sock socket to tcp port when running machine in container
|
2024-11-27 16:33:05 +10:00 |
|
Pavel Sviderski
|
a6ccd6055a
|
move fs and file ownership related funcs to fs package
|
2024-11-27 14:30:08 +10:00 |
|
Pavel Sviderski
|
ca607ee82d
|
pull corrosion image if doesn't exist
|
2024-11-27 13:37:22 +10:00 |
|
Pavel Sviderski
|
1c8e60aac0
|
workaround cgroup race in dind
|
2024-11-27 13:18:16 +10:00 |
|
Pavel Sviderski
|
d02fc4d981
|
update Makefile to remove built binary
|
2024-11-27 10:38:25 +10:00 |
|
Pavel Sviderski
|
410f74425c
|
update dind machine image to run dockerd in background
|
2024-11-27 10:35:49 +10:00 |
|
Pavel Sviderski
|
6e0df53f13
|
add in docker service runner for corrosion
|
2024-11-27 10:34:42 +10:00 |
|
Pavel Sviderski
|
e9d07687f2
|
build corrosion image based on wolfi]
|
2024-11-26 20:15:31 +10:00 |
|
Pavel Sviderski
|
95175d10c5
|
init Dockerfile to run machine in container
|
2024-11-25 19:49:59 +10:00 |
|
Pavel Sviderski
|
df25b0d098
|
add --mode flag to run command
|
2024-11-23 15:56:03 +10:00 |
|
Pavel Sviderski
|
5c1a3dd694
|
move generic docker types to top level docker package
|
2024-11-23 15:35:26 +10:00 |
|
Pavel Sviderski
|
6d39174b51
|
add Healthy method to Container that derives it from status string
|
2024-11-21 20:50:55 +10:00 |
|
Pavel Sviderski
|
e851f25b12
|
delete removed Docker containers from store, sync only uncloud labeled
|
2024-11-19 19:38:11 +10:00 |
|
Pavel Sviderski
|
3c1d2201ce
|
add methods to create, update, list, delete containers in store
|
2024-11-19 19:35:38 +10:00 |
|
Pavel Sviderski
|
b4c2ec3a2a
|
sync new and updated containers to cluster store, no deletion yet
|
2024-11-19 16:06:16 +10:00 |
|
Pavel Sviderski
|
bf10b21da5
|
minor comment
|
2024-11-18 20:07:51 +10:00 |
|
Pavel Sviderski
|
2819ba63aa
|
add sync_status field to containers table
|
2024-11-18 19:50:40 +10:00 |
|
Pavel Sviderski
|
54a8b09c9f
|
subscribe to Docker container events with backoff
|
2024-11-18 14:43:42 +10:00 |
|
Pavel Sviderski
|
24371eb401
|
move Docker manager to docker package
|
2024-11-17 19:41:47 +10:00 |
|
Pavel Sviderski
|
9c9e143dc8
|
minor rename
|
2024-11-16 20:28:32 +10:00 |
|
Pavel Sviderski
|
19d53c4f67
|
move Docker management from network controller to standalone DockerManager
|
2024-11-16 20:25:34 +10:00 |
|
Pavel Sviderski
|
40f929847c
|
add updated_at field to containers table
|
2024-11-16 07:37:43 +10:00 |
|
Pavel Sviderski
|
e73e38957a
|
add index on containers.machine_id
|
2024-11-16 07:00:09 +10:00 |
|
Pavel Sviderski
|
e82b78df49
|
comment DB schema
|
2024-11-16 06:43:24 +10:00 |
|
Pavel Sviderski
|
741378d0b7
|
create containers table in Corrosion store
|
2024-11-15 21:35:33 +10:00 |
|
Pavel Sviderski
|
d31595820d
|
run service container in uncloud Docker network
|
2024-11-14 19:19:50 +10:00 |
|
Pavel Sviderski
|
035601d366
|
generate container name and assign service labels to container
|
2024-11-14 12:05:48 +10:00 |
|
Pavel Sviderski
|
5c96f75958
|
generate a name for the service
|
2024-11-14 11:56:29 +10:00 |
|
Pavel Sviderski
|
2c62e1f6df
|
refactor machine name generation using secrets package
|
2024-11-14 11:47:22 +10:00 |
|
Pavel Sviderski
|
22bca16226
|
include alpha-numeric random string generation in secret package
|
2024-11-14 11:45:28 +10:00 |
|
Pavel Sviderski
|
a4be45186d
|
find first available machine for running a service
|
2024-11-14 09:12:25 +10:00 |
|
Pavel Sviderski
|
5e79697505
|
move RunService from CLI to the client, print output in the command
|
2024-11-13 19:52:46 +10:00 |
|
Pavel Sviderski
|
6736839ccb
|
refactor machine ls command: move formatter logic to the command
|
2024-11-13 17:12:02 +10:00 |
|
Pavel Sviderski
|
913fb2da0c
|
update ListMachines to include machine state from Corrosion membership
|
2024-11-13 16:48:55 +10:00 |
|
Pavel Sviderski
|
bd0e7f44b2
|
init corrosion admin client in machine
|
2024-11-12 15:23:02 +10:00 |
|
Pavel Sviderski
|
81cf5f5605
|
refactor corrosion admin client to establish a connection on every command
|
2024-11-12 15:22:47 +10:00 |
|
Pavel Sviderski
|
cedafd069d
|
implement ClusterMembershipStates for corrosion admin client
|
2024-11-12 14:29:29 +10:00 |
|
Pavel Sviderski
|
93dfa5ca9d
|
implement admin client for Corrosion admin API
|
2024-11-11 20:51:11 +10:00 |
|
Pavel Sviderski
|
c70c8a6ec1
|
validate machine info before returning in ListMachine
|
2024-11-10 19:38:55 +10:00 |
|
Pavel Sviderski
|
5c74b09f45
|
allow running a service on a specified machine
|
2024-11-10 19:38:19 +10:00 |
|
Pavel Sviderski
|
1316dd3ffc
|
fix proxy Director usage and close on shutdown
|
2024-11-08 15:50:28 +10:00 |
|
Pavel Sviderski
|
4493bb3c27
|
support gRPC proxy to remote backends
|
2024-11-08 15:49:21 +10:00 |
|
Pavel Sviderski
|
b23699470b
|
add EmptyResponse common message
|
2024-11-08 11:48:58 +10:00 |
|
Pavel Sviderski
|
34316c77cf
|
add helper Empty message
|
2024-11-08 11:32:42 +10:00 |
|
Pavel Sviderski
|
c2b466b046
|
add common Metadata message to be injected in reply messages by gRPC proxy
|
2024-11-08 11:28:04 +10:00 |
|
Pavel Sviderski
|
d36429e6e5
|
replace API server with transparent gRPC proxy that routes requests to local machine API
|
2024-11-05 20:05:31 +10:00 |
|
Pavel Sviderski
|
17b96a8744
|
move default uncloud socket to /run/uncloud/uncloud.sock
|
2024-11-04 20:02:48 +10:00 |
|
Pavel Sviderski
|
a54666a7ac
|
update run command to run a stub service container on the connected node
|
2024-11-01 15:05:07 +10:00 |
|
Pavel Sviderski
|
5cb765d286
|
add Docker gRPC service to create and start a Docker container on machine
|
2024-11-01 15:04:06 +10:00 |
|
Pavel Sviderski
|
5bf3cba2d6
|
sketch run command
|
2024-10-31 20:07:45 +10:00 |
|
Pavel Sviderski
|
8a3f0032ae
|
format machine command flags
|
2024-10-31 20:07:25 +10:00 |
|
Pavel Sviderski
|
5fe77c688b
|
exclude Docker bridge br-[0-9a-f]{12} interfaces from machine routable IPs
|
2024-10-31 18:35:59 +10:00 |
|
Pavel Sviderski
|
61dc97228d
|
use ls command instead of list by default
|
2024-10-31 18:35:12 +10:00 |
|
Pavel Sviderski
|
e6df331fb8
|
fix options for machine list command
|
2024-10-31 18:32:11 +10:00 |
|
Pavel Sviderski
|
9dbcf1e902
|
do not build and deploy uncloud binary to dev machines
|
2024-10-31 18:08:36 +10:00 |
|
Pavel Sviderski
|
2f6c988125
|
do not rotate endpoints on daemon restart, handle endpoint changes on established reverse peer connections
|
2024-10-13 01:15:32 -04:00 |
|
Pavel Sviderski
|
411c3398ce
|
upgrade to Go 1.23
|
2024-10-10 23:06:24 -04:00 |
|
Pavel Sviderski
|
3a644771ca
|
watch for peer endpoint changes and preserve in machine state
|
2024-10-08 16:51:40 +10:00 |
|
Pavel Sviderski
|
2eff7d1e22
|
format
|
2024-10-07 20:06:56 +10:00 |
|
Pavel Sviderski
|
f06dd865fa
|
update existing WG peers instead of replacing to not interrupt and lose track of handshakes
|
2024-10-07 20:06:15 +10:00 |
|
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 |
|