import argparse import logging import os import sys from jinja2 import Environment from jinja2 import FileSystemLoader logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) log = logging.getLogger("connector config") DEFAULT_CONFIG_TEMPLATE = "/tmp/config.json.jinja" DEFAULT_CONFIG_FILE = "/tmp/config.json" if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-c", "--config-template", default=DEFAULT_CONFIG_TEMPLATE) parser.add_argument("-o", "--config-file", default=DEFAULT_CONFIG_FILE) parser.add_argument("-v", "--verbose", action="store_true") args = parser.parse_args() env_variables = os.environ.items() jinja_env = Environment( loader=FileSystemLoader("/"), lstrip_blocks=True, trim_blocks=True ) config_template = jinja_env.get_template(args.config_template) config_file = config_template.render(env_variables) if args.verbose: log.info("\n%s" % config_file) log.info("%s was successfully created" % args.config_file) with open(args.config_file, "w") as f: f.write(config_file)