Commit Graph
100 Commits
Author SHA1 Message Date
Pavel Sviderski 1fb8a3d7a0 add ListServices method and ls CLI command 2024-12-05 17:21:54 +10:00
Pavel Sviderski 3ce9c8be04 fix run command, support 1 replica and global mode 2024-12-05 16:24:04 +10:00
Pavel Sviderski 3ac166e6cb move common api types to api package 2024-12-05 15:17:36 +10:00
Pavel Sviderski 88ce2d5181 implement RunService for replicated mode with only 1 replica 2024-12-05 14:01:56 +10:00
Pavel Sviderski 8bddbec7bd wait for test cluster to be ready (all machines up) 2024-12-05 13:45:46 +10:00
Pavel Sviderski a40fd613e8 refactor RemoveService using InspectService 2024-12-05 12:27:51 +10:00
Pavel Sviderski 99c9aabdfd implement more consistent InspectService that broadcasts Docker requests to all machines 2024-12-05 12:13:17 +10:00
Pavel Sviderski 5504951a8a add e2e test for global service creation and removal 2024-12-04 18:28:22 +10:00
Pavel Sviderski 2727c3c97e implement RunService in global mode and RemoveService 2024-12-04 18:26:59 +10:00
Pavel Sviderski 7d47d274a0 minor 2024-12-04 18:24:47 +10:00
Pavel Sviderski a4247b0097 refactor grpc proxy backends to use machine management IP in metadata, including local responses 2024-12-04 18:23:51 +10:00
Pavel Sviderski 11612a802c forward NotFound errors from StartContainer and RemoveContainer 2024-12-04 16:29:04 +10:00
Pavel Sviderski d7bad5ed46 add todo 2024-12-04 15:39:13 +10:00
Pavel Sviderski c0dff56378 fix filter unmarshalling for list containers 2024-12-04 15:37:52 +10:00
Pavel Sviderski 00dbbec62b refactor grpc-proxy backends to enhance responses from local backends with metadata in one2many mode 2024-12-04 14:47:31 +10:00
Pavel Sviderski 9755a6973d allow one2many for ListContainers 2024-12-04 12:43:52 +10:00
Pavel Sviderski 16120b80ba add ListContainers and RemoveContainer methods to Docker service 2024-12-04 12:15:55 +10:00
Pavel Sviderski 386e4e25f3 fix context in PullImage 2024-12-03 18:33:48 +10:00
Pavel Sviderski 43ddb5c363 add PullImage method to gRPC Docker service 2024-12-03 18:07:00 +10:00
Pavel Sviderski 417427b4d5 remove duplicate ErrNotFound in client 2024-12-03 15:47:33 +10:00
Pavel Sviderski 5da1fc5387 support providing TEST_CLUSTER_NAME for e2e tests 2024-12-03 15:46:19 +10:00
Pavel Sviderski 5621a84e99 add Mode to Service entity 2024-12-03 11:37:13 +10:00
Pavel Sviderski 8db7ac84a0 add subprocess corrosion service runner 2024-12-03 11:07:09 +10:00
Pavel Sviderski 77890b8a8a strip one proto layer in ListMachines method 2024-12-03 11:05:58 +10:00
Pavel Sviderski daada3bbe9 add service inspect command, introduce squirrel for sql query building 2024-12-03 10:56:29 +10:00
Pavel Sviderski 21d55dc69a minor refactor e2e cluster test 2024-12-02 20:37:01 +10:00
Pavel Sviderski 6eb373e4de init InspectService method 2024-12-02 20:36:31 +10:00
Pavel Sviderski 6a4a7f2e6a update e2e lifecycle test to test store reconciliation on every node 2024-12-02 17:21:06 +10:00
Pavel Sviderski 349dd0d2ef add basic e2e cluster lifecycle test 2024-11-29 20:40:49 +10:00
Pavel Sviderski cf5818d963 merge ucind cluster configuration to the user’s uncloud config 2024-11-29 13:30:15 +10:00
Pavel Sviderski faf3378659 ucind: wait for machine to become ready through polling API 2024-11-29 12:08:57 +10:00
Pavel Sviderski bb967461d0 add logging for starting/restarting corrosion service 2024-11-29 12:08:05 +10:00
Pavel Sviderski 0b5dd2f7ba fix network peer configuration when just joining the cluster before store is synced 2024-11-29 11:27:51 +10:00
Pavel Sviderski d5f0bca4a0 ucind: call cleanup on exit as well, e.g. main process crash 2024-11-29 09:53:20 +10:00
Pavel Sviderski bdd034d169 proper terminate all background processes in ucind containers 2024-11-29 09:46:29 +10:00
Pavel Sviderski 48767125f4 ucind: init cluster with created machines 2024-11-28 19:57:51 +10:00
Pavel Sviderski 035f44896d refactor cluster network related constants 2024-11-28 19:57:26 +10:00
Pavel Sviderski 3d5fe0a824 add support for tcp cluster connections in uncloud config 2024-11-28 18:53:47 +10:00
Pavel Sviderski 6d1c3aa5b2 add basic client TCPConnector to directly connect to a gRPC endpoint 2024-11-28 18:53:03 +10:00
Pavel Sviderski cd60d5178f ucind: create machines in containers with published API ports 2024-11-28 16:15:57 +10:00
Pavel Sviderski 7aa7a9fea1 init ucind CLI commands 2024-11-28 13:54:37 +10:00
Pavel Sviderski 73785007cb init ucind (Uncloud in Docker) provisioner 2024-11-28 13:54:10 +10:00
Pavel Sviderski 24a824b890 add make targets to build and push ucind image 2024-11-27 17:14:41 +10:00
Pavel Sviderski 085ee285e8 add make targets to build and push corrosion image 2024-11-27 16:53:57 +10:00
Pavel Sviderski 6daa1291b5 update TODO 2024-11-27 16:41:20 +10:00
Pavel Sviderski c3d3a4242e run corrosion in Docker as uncloud user, bind mount data dir 2024-11-27 16:35:35 +10:00
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