Pavel Sviderski
|
be2a26e626
|
remove example from run command
|
2024-12-19 14:19:11 +10:00 |
|
Pavel Sviderski
|
4479490db2
|
create custom NewSlogTextHandler log handler to override the json one patched by caddy pkg
|
2024-12-19 13:29:58 +10:00 |
|
Pavel Sviderski
|
7556f8cb12
|
generate basic caddy.json with empty http and https servers
|
2024-12-18 22:14:58 +10:00 |
|
Pavel Sviderski
|
bfbcec34e8
|
add caddy/v2 dependency to generate a config
|
2024-12-17 17:52:30 +11:00 |
|
Pavel Sviderski
|
8eea34d8dc
|
remove wrong TODO
|
2024-12-11 16:50:15 +10:00 |
|
Pavel Sviderski
|
6b80ef9db8
|
subscribe to container changes in Caddyfile controller
|
2024-12-11 15:14:32 +10:00 |
|
Pavel Sviderski
|
2134f3c1d9
|
add a stub for Caddyfile controller
|
2024-12-11 12:17:15 +10:00 |
|
Pavel Sviderski
|
0652123bc7
|
encode and decode published ports using container labels
|
2024-12-10 19:21:52 +10:00 |
|
Pavel Sviderski
|
4de7ecd747
|
add String() method for PortSpec to convert to publish format
|
2024-12-10 19:14:26 +10:00 |
|
Pavel Sviderski
|
e8908ced9e
|
parse --publish ports into spec
|
2024-12-10 17:57:26 +10:00 |
|
Pavel Sviderski
|
deedbcb8a9
|
minor validation for port
|
2024-12-10 17:37:42 +10:00 |
|
Pavel Sviderski
|
8bfb3b80ed
|
basic validation for hostname in port publishing
|
2024-12-10 17:24:29 +10:00 |
|
Pavel Sviderski
|
848abbd2f8
|
add validation for PortSpec
|
2024-12-10 16:35:47 +10:00 |
|
Pavel Sviderski
|
9cb4b35546
|
implement PortSpec parsing
|
2024-12-10 15:24:34 +10:00 |
|
Pavel Sviderski
|
26df6740e3
|
define PortSpec type for publishing ports
|
2024-12-09 20:25:34 +10:00 |
|
Pavel Sviderski
|
537789902b
|
update publish flag description with lb and host formats
|
2024-12-09 17:06:33 +10:00 |
|
Pavel Sviderski
|
4088fdfd84
|
print image pull progress when running a service
|
2024-12-06 18:27:26 +10:00 |
|
Pavel Sviderski
|
01a71b4b38
|
run each container in global service in parallel
|
2024-12-06 16:00:10 +10:00 |
|
Pavel Sviderski
|
73d41c75b3
|
add compose-like progress for running service
|
2024-12-06 15:44:23 +10:00 |
|
Pavel Sviderski
|
f85b5dd01d
|
add service rm CLI command
|
2024-12-05 17:32:30 +10:00 |
|
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 |
|