Description
Currently kafkactl stores passwords (for sasl or maybe tls certs in the future) inside config file. It is not secure because passwords available for any application running from current user.
I want to discuss about integration with special credential storage. I.e. Docker uses https://github.com/docker/docker-credential-helpers to interact with keychain, wincred, etc.
I propose to use https://github.com/99designs/keyring library because it has integration with many system storages and truly cross-platform encrypted-file based storage. But kafkactl built with disabled cgo and keychain backend requires it. User can specify global storage backends settings in config.
Flow may look like this: when something requires passwords kafkactl attempts to find it by "context key" (context name+auth method type or certificate fingerprint). If credentials was not found user will be prompted for them. Credentials may be reset with commandline flag.
Any thoughs?