Justin Bradford and GitHub
a945291371
feat: Add uc wg show command to inspect a machine's uncloud wireguard network ( #161 )
...
* feat: Add `uc wg show` command to inspect a machine's uncloud wireguard network (draft / work in progress)
* Compile proto files with `make proto-mise`
* Fix lint errors
* Output peers in tabwriter table
* Lookup machine name for wireguard peer public key
* Add --machine flag to `uc wg show` to proxy call to specific machine
* Small refactor to move wg show logic out into a separate function
2026-01-10 16:49:35 +11:00
Pasha Sviderski
fc847093d2
chore: new InspectMachine gRPC method that to return store DB version (lamport time)
2025-12-19 16:29:14 +10:00
79dc05cb66
feat: service logs command to stream service logs ( #196 )
...
* chore: fix landing logo shadow
* feat: implement service logs command with colored output and strict ordering
* revert Makefile
* fix after rebase
* move logs command under services with root shortcut
* simplify server options for streaming logs and CLI flags
* refactor ContainerLogs grpc server
* update --tail flag
* minor docker.proto
* refactor client ServiceLogs and ContainerLogs
* move ProxyMachinesContext from api to client pkg
* minor refactor proto Stream
* add api/logs
* implement LogMerger
* fix LogMerger to correctly use semaphore
* increate inflish entries to 100 per stream
* send heartbeats
* refactor ContainerLogs to synchronise Send of entries and heartbeats to the steram
* minor logmerege
* remove ContainerName form ServiceLogEntryMetadata
* refactor ContainerLogs into docker.Service
* detect stalled container logs streams
* update logmerger tests
* fix comment in test
* refactor LogMerger with options
* uc logs: format one or multiple services
* make LogMerger emit heartbeats, emit entries <= watermark, rewrite tests
* update uc logs with new LogMerger
* go mod tidy
* fix after merge
---------
Co-authored-by: Evgenii Orlov <evgenii.orlov@semrush.com >
2025-12-02 19:50:48 +10:00
Anton Ovchinnikov and GitHub
abea3e229e
feat: "exec" command to start processes inside remote containers ( #139 )
2025-11-05 23:47:24 +01:00
Pasha Sviderski
a30ed600b6
chore: update docker and compose Go dependencies to the latest versions
2025-10-08 13:56:58 +10:00
Pasha Sviderski
cce81ecaad
chore(images): simplifies ListImages service, server, and client to only list Docker images and not directly access containerd
2025-10-03 18:25:39 +10:00
Pasha Sviderski
cdff036935
feat(images): gRPC client and server for ListImages
2025-10-03 14:23:18 +10:00
Pasha Sviderski
92975eec51
feat(images): add gRPC proto ListImages
2025-10-02 12:50:53 +10:00
Pasha Sviderski
e99e769455
chore: add Caddy gRPC service to retrieve Caddyfile config from machines
2025-08-21 17:04:42 +10:00
Pasha Sviderski
2714587ec5
feat: add RemoveMachine API endpoint to remove a machine from the cluster
2025-07-25 19:30:59 +10:00
Pasha Sviderski
2acfafe218
chore: regenerate proto
2025-07-24 19:34:05 +10:00
Evgenii Orlov and GitHub
2c3bea64e5
feat: impl of functionality for renaming and updating machines ( #91 )
2025-07-22 18:45:19 +10:00
Pasha Sviderski
535b91fe52
feat: add stub for Reset method in machine API
2025-07-03 21:28:05 +10:00
Anton Ovchinnikov and GitHub
638f320959
build: Install protobuf tools via mise ( #77 )
2025-06-22 11:23:56 +02:00
Pavel Sviderski
769f5e47c3
feat(dns-server): check system prerequisites when init/add machine: DNS port is not in use by another DNS server
2025-04-30 20:46:10 +10:00
Pavel Sviderski
13dea92311
chore(volumes): gRPC methods for managing Docker volumes
2025-04-08 16:33:35 +10:00
Pavel Sviderski
64f6a4f3d3
chore: use original service spec instead of deriving from container, fixes diff for scale
2025-03-30 12:54:36 +10:00
Pavel Sviderski
0975cbab66
chore: handle RemoveContainer server-side that deletes container from machine db
2025-03-29 20:06:49 +10:00
Pavel Sviderski
1cba1eef0a
refactor: handle CreateContainer server-side
2025-03-28 19:01:19 +10:00
Pavel Sviderski
c42968c812
feat(compose): add InspectRemoteImage api endpoint to inspect images in registry
2025-03-26 20:37:53 +10:00
Pavel Sviderski
874af1ba10
feat(compose): implement InspectImage rpc with broadcast support
2025-03-21 19:43:58 +10:00
Pavel Sviderski
2ad098c612
feat(deploy): introduce proto for InspectImage and InspectRemoteImage methods
2025-03-20 21:36:41 +10:00
Pavel Sviderski
b799b7518e
feat(compose): add TODO to address deployment idempotency
2025-03-17 20:32:14 +10:00
Pavel Sviderski
289d964b2a
feat(dns): configure and store public IP when initialising machine
2025-02-25 21:21:37 +10:00
Pavel Sviderski
ecec42ea60
feat(dns): cluster API for creating DNS records for cluster domain
2025-02-24 20:32:30 +10:00
Pavel Sviderski
f6cf5cc250
feat(dns): cluster API for reserving/releasing cluster domain in Uncloud DNS
2025-02-24 17:35:19 +10:00
Pavel Sviderski
f37bfd01fe
feat: init cluster API for updating domain records in Uncloud DNS
2025-02-22 21:20:16 +10:00
Pavel Sviderski
5e2b2ac836
refactor: api.Container to use the detailed ContainerJSON struct instead of Container (Summary)
2025-02-14 16:37:40 +10:00
Pavel Sviderski
4da51636fd
refactor: remove service with StopContainer and RemoveContainer
2025-02-11 20:43:31 +10:00
Pavel Sviderski
a477db6b16
refactor: client CreateContainer and StartContainer methods
2025-02-11 15:59:36 +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
43ddb5c363
add PullImage method to gRPC Docker service
2024-12-03 18:07:00 +10:00
Pavel Sviderski
5621a84e99
add Mode to Service entity
2024-12-03 11:37:13 +10:00
Pavel Sviderski
6eb373e4de
init InspectService method
2024-12-02 20:36:31 +10:00
Pavel Sviderski
913fb2da0c
update ListMachines to include machine state from Corrosion membership
2024-11-13 16:48:55 +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
5cb765d286
add Docker gRPC service to create and start a Docker container on machine
2024-11-01 15:04:06 +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
b688742e5a
remove the concept of cluster user (at least the current implementation)
2024-10-02 11:50:40 +10:00
Pavel Sviderski
d66818ea77
detect if the machine is already initialised
2024-09-23 14:21:06 +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
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
aad2ac2085
refactor Cluster gRPC service, add common type converters from/to netip
2024-09-05 12:15:39 +10:00
Pavel Sviderski
afe9c13283
Implement grpc server in the daemon to receive cluster requests
2024-08-29 10:17:16 +10:00