onedns/onedns/cli.py

39 lines
1.8 KiB
Python
Raw Normal View History

2016-07-14 16:56:32 +03:00
import argparse
from onedns import monitor
from onedns import logger
def main():
2016-07-15 05:28:22 +03:00
parser = argparse.ArgumentParser(
description='OneDNS - Dynamic DNS for OpenNebula')
parser.add_argument('-d', '--debug', required=False,
default=False, action='store_true',
help='ONE controller host address')
2016-07-15 05:34:20 +03:00
parser.add_argument('-i', '--interval', required=False,
type=int, default=60,
help="how often in seconds to poll ONE and update DNS")
2016-07-14 16:56:32 +03:00
parser.add_argument('--one-address', required=False,
help='ONE controller host address')
parser.add_argument('--one-secret', required=False,
help='ONE credentials to use (e.g. user:key)')
parser.add_argument('--one-proxy', required=False,
help='proxy host to use to connect to ONE controller')
parser.add_argument('--etcd-host', required=False,
help='etcd host to connect to')
parser.add_argument('--etcd-port', required=False, type=int, default=4001,
help='etcd port to connect to')
parser.add_argument('--etcd-cert', required=False, type=int,
help='path to etcd client ssl cert')
parser.add_argument('domain', help='DNS domain to use')
2016-07-14 16:56:32 +03:00
args = parser.parse_args()
2016-07-15 05:28:22 +03:00
logger.configure_onedns_logging(debug=args.debug)
2016-07-14 16:56:32 +03:00
args_dict = vars(args)
one_args = dict((i.replace('one_', ''), args_dict[i])
for i in args_dict.keys() if i.startswith('one_'))
etcd_args = dict((i.replace('etcd_', ''), args_dict[i])
for i in args_dict.keys() if i.startswith('etcd_'))
mon = monitor.OneMonitor(args.domain, one_kwargs=one_args,
etcd_kwargs=etcd_args)
2016-07-15 05:34:20 +03:00
mon.run(args.interval)