* Check autom if we can connect via Unix socket
When there is no config, but a unix socket does exist, connect via the
unix socket. Prohibit saving the config if this is the case.
Fixes: #148
Use the new CutPrefix to shorten some code.
Signed-off-by: Miek Gieben <miek@miek.nl>
* remove error checking; it can not be hit
Signed-off-by: Miek Gieben <miek@miek.nl>
* Extra error text when logged in locally
Signed-off-by: Miek Gieben <miek@miek.nl>
---------
Signed-off-by: Miek Gieben <miek@miek.nl>
* Add version check mechanism to gRPC calls
* Use semver not semver/v3
* Give dev builds a special "infinite" version number (999.0.0-dev)
* Handle no metadata on grpc call correctly for version check
* Move versioncheck package to root pkg/ from pkg/api/ since it is shared by both pkg/api/ and pkg/client/
* Only show "no daemon version" warning once
* Append version headers to metadata, not overwrite...
* Unit tests on versioncheck logic
* Move SetHeader to the ServerStream in ServerStreamInterceptor
* Go modernizer nits: interface{} -> any
* Use more conventional gRPC header names for version/min-versions
* Add TODO notes on checkDaemonVersionInResponse and related code that can be removed eventually after transition to version checking client/daemons
* Use testify for testing assertions
* Add explanatory comments on MinCLIVersion and MinDaemonVersion
---------
Co-authored-by: Pasha Sviderski <me@psviderski.name>
* Add server side of journal logs
This add the server side and grpc methods to get a journal logs from a
machine. It repurposes ServiceLogEntry for these logs to keep the
changes somewhat to a minimum. And it lets us re-use the merging of the
various logs. In the protobufs ContainerLog has been renamed to just Log
and LogEntry, as these are now also used for journal logs.
It does api.LogOptions in more places to reduce the various logOpts that
were used.
It does not yet plumb it through to the uc client, that needs a follow
up pr. Following logs is also not yet implemented.
Signed-off-by: Miek Gieben <miek@miek.nl>
* Fix test too
Signed-off-by: Miek Gieben <miek@miek.nl>
* remove entire comment
Signed-off-by: Miek Gieben <miek@miek.nl>
* Implement the follow option, untested mind you
Signed-off-by: Miek Gieben <miek@miek.nl>
* update debug line
Signed-off-by: Miek Gieben <miek@miek.nl>
* internal/jounal: First batch of PR comments
Signed-off-by: Miek Gieben <miek@miek.nl>
* internal/journal: code review comments
Signed-off-by: Miek Gieben <miek@miek.nl>
* Manually apply suggestion
Signed-off-by: Miek Gieben <miek@miek.nl>
* apply comment manually
Signed-off-by: Miek Gieben <miek@miek.nl>
* internal/journal: add unit test
Signed-off-by: Miek Gieben <miek@miek.nl>
* Use testify
Signed-off-by: Miek Gieben <miek@miek.nl>
* -amFix scanner.Err checking
Signed-off-by: Miek Gieben <miek@miek.nl>
* Implement code review comments
Signed-off-by: Miek Gieben <miek@miek.nl>
---------
Signed-off-by: Miek Gieben <miek@miek.nl>
This runs:
```
go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix ./...
```
over the codebase, as this is using go 1.26, it can also use the new
new() functionallity so AsPtr and boolPtr is are needed anymore.
Signed-off-by: Miek Gieben <miek@miek.nl>