Pasha Sviderski
5308c87651
chore: update 'uc machine init/add' to wait for cluster readiness, confirm caddy deployment on added machine
2025-12-23 19:47:26 +10:00
Pasha Sviderski
5acf557675
chore: add --yes flag to 'uc machine init/add' to auto-confirm machine reset
2025-12-17 17:36:54 +10:00
Pasha Sviderski
425b974331
fix: panic when initialising new cluster with --connect
2025-12-16 11:28:11 +10:00
Pasha Sviderski
5707c37b63
docs: replace managed DNS domain: cluster.uncloud.run -> uncld.dev
2025-12-12 18:21:11 +10:00
Pasha Sviderski and Evgenii Orlov
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
76b4369aa6
feat: store machine id on connection entries in Uncloud config so it can be removed with machine ( #182 )
...
* fix: Store machine id on connection entries so it can be removed when machine is
* Add "GetContextOverrideOrCurrent" helper method to cli and use in `uc machine rm` to clean up connections
2025-11-20 16:49:37 +10:00
Justin Bradford
939645e144
refactor: Make --context cli flag a global option ( #174 )
...
* Make `--context` flag a global option and remove duplication
* Remove unused dns showOptions struct
* First pass of refactoring "active context" determination and validation
* Undo some refactoring in cli.go to keep diff more focused
2025-11-19 20:30:32 +10:00
Luis Lavena
eea81723b8
feat(ssh+cli): Support SSH CLI on machine init and add commands ( #173 )
...
* Add SSHCLIRemote type with buildSSHArgs
Implement's Executor interface (Run, Stream, Close)
* Add UseSSHCLI field to RemoteMachine struct
Allow us to differentiate regular ssh from ssh+cli.
* Parse ssh+cli:// scheme on machine init/add
* Support SSH CLI when provisioning
* Update docs to reflect ssh+cli:// support
* Revert removal of `init` examples
Fixes copy & pasta mistake when documenting the new ssh+cli connection
methods.
2025-11-17 20:11:31 +10:00
Justin Bradford
2d361d3ee6
Adding machine.service.internal dns entries ( #123 )
2025-09-24 20:06:54 +10:00
Pasha Sviderski
7239cd3a6b
docs: clarify 'machine init' help, --context flag description, add examples
2025-09-17 15:10:59 +10:00
Pasha Sviderski
f8fe3c7af3
feat: --no-install flag for 'machine init/add' to skip installing Uncloud daemon and dependencies #122
2025-09-15 20:44:35 +10:00
Pasha Sviderski
d25864e52f
feat: automatically generate a unique 'default-N' context name for new cluster ( fixes #113 )
2025-09-08 20:35:17 +10:00
Pasha Sviderski
3cda5cc564
chore: caddy client to get caddy config
2025-08-22 15:58:21 +10:00
Pasha Sviderski
2c02139369
fix: add ssh_key_path for connections in uncloud config only when using SSH key explicitly (not SSH agent)
2025-08-06 16:49:57 +10:00
Pasha Sviderski
6c244bb8f9
fix: do not try to reset machine when removing unreachable machine
2025-08-06 15:11:27 +10:00
Pasha Sviderski
0bd42b2fca
chore: do not allow to remove a machine the client is connected to, add --no-reset flag
2025-07-29 19:54:16 +10:00
Pasha Sviderski
65f5a714dd
feat: machine rm command to remove a machine from the cluster and reset it
2025-07-25 19:32:02 +10:00
Evgenii Orlov
2c3bea64e5
feat: impl of functionality for renaming and updating machines ( #91 )
2025-07-22 18:45:19 +10:00
da3634b690
E2E tests use repeated strings for test data where constants add no value ( #97 )
...
---------
Co-authored-by: Pasha Sviderski <me@psviderski.name >
Co-authored-by: Anton Ovchinnikov <anton@tonyo.info >
2025-07-21 19:30:02 +02:00
Evgenii Orlov
31cd4c77e9
feat: support x-machines placement constraints in compose files ( #90 )
2025-07-10 16:46:29 +10:00
Pasha Sviderski
a73cbfd691
chore: hide incomplete machine rm command from help output
2025-07-09 11:28:14 +10:00
Pasha Sviderski
0f38b128fa
chore: fail 'machine rm' as not fully implemented
2025-07-03 21:30:09 +10:00
Pasha Sviderski
be8b4f079f
feat: remove containers on machine before removing it
2025-07-02 11:14:31 +10:00
Pasha Sviderski
59b96cc01f
feat: init 'machine rm' command that outputs service containers that will be removed
2025-07-01 19:51:57 +10:00
Pavel Sviderski
4590a516ad
chore: set default ssh key path to ~/.ssh/id_ed25519 and handle home expansion
2025-05-29 15:00:33 +10:00
Pavel Sviderski
12c86f1dd4
fix: use existing cluster client when deploying caddy after adding new machine #65
2025-05-23 16:31:07 +10:00
Pavel Sviderski
7edd8f2976
chore: add m alias for machine command
2025-05-21 15:46:31 +10:00
Pavel Sviderski
02a418aafb
chore: add --version flag for 'machine init|add' to specify uncloud daemon version
2025-04-23 14:40:04 +10:00
Pavel Sviderski
f3cb6657ae
chore: replace machine filter with placement constraint in service spec
2025-04-16 22:04:37 +10:00
Pavel Sviderski
87331a9265
chore: add filter to ListMachines
2025-04-11 21:26:40 +10:00
Pavel Sviderski
b3885b0888
chore: activate the context of a newly initialised cluster
2025-04-03 13:38:48 +10:00
Pavel Sviderski
1bbefdd0d2
feat: add 'ctx ls' command to list available cluster contexts in config
2025-04-02 09:25:12 +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
58b51b974c
refactor: postpone spec resolver initialisation when creating Deployment
2025-03-24 21:56:30 +10:00
Pavel Sviderski
3910101a88
refactor: embed ServiceSpecResolver into Deployment to handle spec only there
2025-03-24 20:10:28 +10:00
Pavel Sviderski
042dd594e0
refactor: decouple deploy and compose packages from client dependency
2025-03-24 14:38:16 +10:00
Pavel Sviderski
b1abd07dde
refactor: move api, client, compose packages to pkg
2025-03-22 18:43:00 +10:00
Pavel Sviderski
3757813b20
refactor: rename main module to github.com/psviderski/uncloud
2025-03-22 18:25:08 +10:00
Pavel Sviderski
a0a66f34c4
feat(connect): add --connect flag to connect to remote cluster machine without using config
2025-03-18 14:01:38 +10:00
Pavel Sviderski
c3bb0c9f49
chore(readme): add Quick demo section with video, update how it works outputs
2025-03-06 16:49:58 +10:00
Pavel Sviderski
805afd0d28
fix(dns): update cluster domain DNS records when adding a new machine to cluster
2025-03-04 20:49:41 +10:00
Pavel Sviderski
69d3a511d6
feat(dns): reserve cluster domain when initialising cluster by default + update dns records
2025-03-03 19:12:21 +10:00
Pavel Sviderski
5e9b883ad5
fix: increase wait time for machine to 5 min, discard unknown when decoding json to proto
2025-02-26 12:19:04 +10:00
Pavel Sviderski
1046396edc
feat(dns): configure and store public IP when adding new machine
2025-02-26 11:16:13 +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
bcb5a2a173
feat: deploy caddy service when adding new machine to cluster
2025-02-18 21:35:36 +10:00
Pavel Sviderski
c3b88077ac
feat: deploy caddy service when initialising new cluster on remote machine
2025-02-18 18:38:38 +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
77890b8a8a
strip one proto layer in ListMachines method
2024-12-03 11:05:58 +10:00