* 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
* 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>
* 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
* 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
* feat: Interactive uc command to select preferred cluster connection
https://github.com/psviderski/uncloud/issues/125
* Simplify connection selection and reordering by using the index instead of a pointer
* Move connection reordering logic to a new SetDefaultConnection on context
* 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.