26f222e6db
Fixes #1666 1. Remove custom validation of Args, use cobra-provided validators. 2. Always use errors to stop the execution flow, don't rely on `log.Fatal` and `panic` for normal flows. This makes sure `defer` always has a chance to run, connection is shut down in a clean way. 3. Command `docs` is hidden, as it's not for users. 4. Global variable `globalCtx` is removed, `WithClient` is used to pass context to the command. 5. `setupClientE` renamed to `WithClient`, `setupClient` removed. 6. Code from `cmd/root.go` moved to `pkg/helpers` when possible. Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>