Pasha Sviderski
f41590157f
chore: make experiments a separate Go module, remove unnecessary dependencies from root module
2026-04-13 16:48:49 +10:00
Pasha Sviderski
0da9df17a4
feat(pre-deploy): correct progress events for pre-deploy hooks, make other container events more aligned with plan
2026-04-08 19:16:42 +10:00
Pasha Sviderski
255448a59c
chore: migrate to hub/v2 and bubbletea/v2
2026-03-10 19:47:25 +10:00
Pasha Sviderski
33fcb2fe74
chore: migrate to lipgloss/v2
2026-03-10 18:54:34 +10:00
Pasha Sviderski
5c54e9d059
chore: refactor device mapping to be compliant with Compose (CDI requests)
2026-02-11 17:44:38 +00:00
Pasha Sviderski
0b32cd2095
chore: upgrade unregistry 0.3.1 -> 0.4.1 with a fix for pushing big images
2025-12-16 20:08:40 +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
Justin Bradford and GitHub
d89bfb8e03
feat: add uc ps command to list all containers in the cluster ( #165 )
...
* feat: Add `uc ps` command to list all containers in the cluster
* Fix indentation
* Improvements to the container state highlights code (use enum, better var naming)
* Add group/sort option by "health"
* Rename `uc ps --group-by` flag to `--sort`. Also, remove `--context` flag.
* Use huh.spinner with standard style/type
* Remove pointless TrimPrefix on container name
* Move machine lookup out of services loop
* Use more efficient `ListServiceContainers`
* Use consistent header other
* Use api.ProxyMachinesContext helper for context to query all machines for service containers
* Make errored MachineServiceContainer entries a warning, not return an error immediately, in `uc ps`
* Use lipgloss table instead of tabwriter for "uc ps" command
* Handle nil metadata in `uc ps` on container when cluster only has one machine
2025-11-27 20:05:58 +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
722615cd9b
chore: go mod tidy
2025-11-04 18:22:29 +10:00
Pasha Sviderski
5c4f49b685
feat: new cbuild (compose build) command using Compose implementation
2025-10-30 20:54:15 +10: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
509c9eb7d3
chore(images): format platforms as pills, sort images by name
2025-10-07 19:14:40 +10:00
Pasha Sviderski
3bac1e61b9
chore: go mod tidy
2025-10-03 20:54:59 +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
59074a275f
chore(images): initialise Docker service with containerd client
2025-10-02 15:51:54 +10:00
Pasha Sviderski
fc3297c7b7
chore: go mod tidy
2025-09-30 19:31:14 +10:00
Pasha Sviderski
b6b8286118
feat: run embedded unregistry on machine IP in uncloudd daemon
2025-09-19 20:43:20 +10:00
Pasha Sviderski
831c581e0f
feat: try each cluster connection in order until one succeeds, add progress spinner
2025-09-13 21:12:20 +10:00
Pasha Sviderski
e1734a1aa6
chore: bump Go to 1.25.1
2025-09-13 21:06:17 +10:00
Pasha Sviderski
bc078472d4
feat: add -y|--yes flag for 'us deploy' to auto-confirm deployment plan
2025-09-12 22:52:06 +10:00
Pasha Sviderski
9f5ca9a33d
feat: add 'uc caddy config' command to show the current Caddyfile
2025-08-22 20:20:02 +10:00
Pasha Sviderski
8bf9fc0c9c
chore: introduce mockery for generating mocks, generate for CaddyfileValidator
2025-08-18 18:50:47 +10:00
Pasha Sviderski
9186d31d12
chore: go mod tidy
2025-08-13 19:31:13 +10:00
Pasha Sviderski
5c8beb8bd3
chore: tidy up go.mod, remove toolchain
2025-07-03 20:57:56 +10:00
Anton Ovchinnikov
26f34df3e6
fix: Improve output for build operations
2025-06-22 19:26:25 +02:00
Anton Ovchinnikov and GitHub
971b21d6c1
feat: Implement basic build & push capabilities for services ( #68 )
...
* wip: Build experiments
* wip: overall structure for build/push
* ref: Split method, add test fixture
* feat: Basic push functionality
* ref: Better structure and output
* feat: Handle registry auth
* feat: Integrate with deploy
* ref: Split into files
* fix: Modernize push options
2025-06-03 21:35:54 +02:00
Pavel Sviderski
c56385602e
chore(dns-server): authoritative responses for internal DNS queries and forwarding to ustream servers
2025-04-29 20:20:55 +10:00
Pavel Sviderski
16c876d83f
fix: compare container specs with equate empty option (nil map == {} map)
2025-04-22 23:31:45 +10:00
Pavel Sviderski
3ada89c4f8
fix: adding ucind cluster with tcp connections to config
2025-04-02 19:45:15 +10:00
Pavel Sviderski
f467fad84c
chore: rename cluster term to context in CLI and config, convert config toml -> yaml
2025-04-01 21:29:32 +10:00
Pavel Sviderski
ecbd4378e4
feat(scale): store container spec in local machine.db sqlite
2025-03-29 15:14:43 +10:00
Pavel Sviderski
1cba1eef0a
refactor: handle CreateContainer server-side
2025-03-28 19:01:19 +10:00
Pavel Sviderski
3757813b20
refactor: rename main module to github.com/psviderski/uncloud
2025-03-22 18:25:08 +10:00
Pavel Sviderski
fb01604d21
fix: recreate containers only if spec changed by comparing spec hash
2025-03-19 13:11:04 +10:00
Pavel Sviderski
e1530bb6f3
feat(deploy): load compose project
2025-03-14 21:41:06 +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
d0e46186ed
feat: look up latest caddy version tag when deploying caddy service
2025-02-16 21:10:06 +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
2b3f325075
generate caddy config with routes from published http(s) ports
2024-12-23 20:41:04 +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
73d41c75b3
add compose-like progress for running service
2024-12-06 15:44:23 +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
6d39174b51
add Healthy method to Container that derives it from status string
2024-11-21 20:50:55 +10:00
Pavel Sviderski
5c96f75958
generate a name for the service
2024-11-14 11:56:29 +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
411c3398ce
upgrade to Go 1.23
2024-10-10 23:06:24 -04:00
Pavel Sviderski
e123f7214e
add exponential backoff for network errors in corrosion client
2024-10-01 23:15:36 +10:00
Pavel Sviderski
d66818ea77
detect if the machine is already initialised
2024-09-23 14:21:06 +10:00