* Allow for argument completion
This shows for a single command on how to complete service names in the
cluster: `uc inspect <TAB>` will complete using ListServices
See: #307
Signed-off-by: Miek Gieben <miek@miek.nl>
* All cluster interactions can be completed
Signed-off-by: Miek Gieben <miek@miek.nl>
* Machines -m flag completion
Signed-off-by: Miek Gieben <miek@miek.nl>
* Add completion for "ctx use"
Signed-off-by: Miek Gieben <miek@miek.nl>
* Complete from compose file too
Signed-off-by: Miek Gieben <miek@miek.nl>
* Allow for argument completion
This shows for a single command on how to complete service names in the
cluster: `uc inspect <TAB>` will complete using ListServices
See: #307
Signed-off-by: Miek Gieben <miek@miek.nl>
* All cluster interactions can be completed
Signed-off-by: Miek Gieben <miek@miek.nl>
* Machines -m flag completion
Signed-off-by: Miek Gieben <miek@miek.nl>
* Add completion for "ctx use"
Signed-off-by: Miek Gieben <miek@miek.nl>
* Complete from compose file too
Signed-off-by: Miek Gieben <miek@miek.nl>
* Move to better place
Signed-off-by: Miek Gieben <miek@miek.nl>
* Adjust imports
Signed-off-by: Miek Gieben <miek@miek.nl>
* prefix match for context too
Signed-off-by: Miek Gieben <miek@miek.nl>
---------
Signed-off-by: Miek Gieben <miek@miek.nl>
* 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