[libvirt] [jenkins-ci PATCH 10/20] quayadmin: Read configuration from file
Daniel P. Berrangé
berrange at redhat.com
Wed Jul 17 12:03:17 UTC 2019
On Wed, Jul 17, 2019 at 01:53:59PM +0200, Andrea Bolognani wrote:
> We don't want sensitive information such as the API token to
> be stored into the script, both because it could lead to them
> being leaked by mistake and because it makes it needlessly
> complicated for users to take advantage of the tool.
We arguably don't want the token stored cleartext in a
config file either. How about making use of the system
keyring - there's a python module that looks to make
this fairly easy
https://pypi.org/project/keyring/
>
> Signed-off-by: Andrea Bolognani <abologna at redhat.com>
> ---
> guests/quayadmin | 25 +++++++++++++++++++++----
> 1 file changed, 21 insertions(+), 4 deletions(-)
>
> diff --git a/guests/quayadmin b/guests/quayadmin
> index 25128e5..4e60653 100755
> --- a/guests/quayadmin
> +++ b/guests/quayadmin
> @@ -19,15 +19,32 @@
> # with this program. If not, see <https://www.gnu.org/licenses/>.
>
> import argparse
> +import configparser
> +import os
> import pprint
> import requests
> import sys
>
> def get_config():
> - config = {
> - "baseurl": "https://quay.io/api/v1",
> - "token": "xxx",
> - }
> + try:
> + path = os.environ["XDG_CONFIG_HOME"]
> + except KeyError:
> + path = os.path.join(os.environ["HOME"], ".config")
> + path = os.path.join(os.path.join(path, "quayadmin"), "config.ini")
> +
> + try:
> + parser = configparser.ConfigParser()
> + parser.read_file(open(path))
> + except Exception as ex:
> + raise Exception("Cannot load config: {}".format(ex))
> +
> + try:
> + config = {
> + "baseurl": "https://quay.io/api/v1",
> + "token": parser["DEFAULT"]["token"],
> + }
> + except KeyError:
> + raise Exception("Token not found in {}".format(path))
>
> return config
>
> --
> 2.21.0
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list