#!/usr/bin/env python """ Gathers domain names to give to certbot, and then execs certbot. "Required" to send multiple domain names File managed by Puppet """ # Script should be compatible with both Python2 and Python3 from __future__ import print_function import sys import os if len(sys.argv) != 2: print('Takes exactly one argument: the certificates name', file=sys.stderr) os.exit(1) cert_name = sys.argv[1] here = os.path.dirname(sys.argv[0]) cmdline = ['certbot', '--config', os.path.join(here, cert_name + ".ini")] with open(os.path.join(here, cert_name + '.domains')) as f: for line in f: if not line: continue if line[0] == '#': continue cmdline += ['-d', line.strip()] cmdline += ['certonly'] os.execvp('certbot', cmdline)