From f0bba6eb3172251700c2514ee70f3b10b6bd3f56 Mon Sep 17 00:00:00 2001 From: Robert Walter Date: Fri, 12 Apr 2024 11:49:26 +0000 Subject: [PATCH] introduced config file --- .gitignore | 1 + config.yml.example | 2 ++ pdns-tsig-from-catalog.py | 22 +++++++++++++--------- requirements.txt | 1 + 4 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 config.yml.example diff --git a/.gitignore b/.gitignore index 1d17dae..3686a34 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .venv +config.yml diff --git a/config.yml.example b/config.yml.example new file mode 100644 index 0000000..8292a99 --- /dev/null +++ b/config.yml.example @@ -0,0 +1,2 @@ +--- +configfile: "/etc/powerdns/pdns.d/mysql.conf" # Path to pdns configuration file with mysql login diff --git a/pdns-tsig-from-catalog.py b/pdns-tsig-from-catalog.py index 0b13e50..9e0374a 100644 --- a/pdns-tsig-from-catalog.py +++ b/pdns-tsig-from-catalog.py @@ -2,6 +2,7 @@ import argparse import configparser import mysql.connector import os +import yaml parser = argparse.ArgumentParser( prog='pdns-tsig-from-catalog for PowerDNS', @@ -10,21 +11,24 @@ parser = argparse.ArgumentParser( parser.add_argument( '--config', dest='config', - required=True, - help='powerdns config file, that inlcudes mysql login') + default="config.yml", + help='config file for this tool') args = parser.parse_args() +with open(args.config, "r") as yamlfile: + config = yaml.safe_load(yamlfile) -config = configparser.ConfigParser() -with open(args.config, 'r') as f: + +pdnsconfig = configparser.ConfigParser() +with open(config["configfile"], 'r') as f: config_string = '[default]\n' + f.read() -config.read_string(config_string) +pdnsconfig.read_string(config_string) mydb = mysql.connector.connect( - host=config["default"]["gmysql-host"], - user=config["default"]["gmysql-user"], - password=config["default"]["gmysql-password"], - database=config["default"]["gmysql-dbname"] + host=pdnsconfig["default"]["gmysql-host"], + user=pdnsconfig["default"]["gmysql-user"], + password=pdnsconfig["default"]["gmysql-password"], + database=pdnsconfig["default"]["gmysql-dbname"] ) mycursor = mydb.cursor(dictionary=True) diff --git a/requirements.txt b/requirements.txt index 4d99bcc..96be903 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ configparser mysql-connector-python +PyYAML