#!/usr/bin/lua function replace_patterns(value, subst) for k, v in pairs(subst) do value = value:gsub(k, v) end return value end local site_dir = os.getenv('GLUON_SITEDIR') dofile(site_dir .. '/extra/domains.conf') dofile(site_dir .. '/extra/groups.conf') local template = io.open(site_dir .. '/domain.tmpl'):read('*a') os.execute('mkdir -p ' .. site_dir .. '/domains') os.execute('rm -f ' .. site_dir .. '/domains/*') for _, domain in pairs(domains) do local file = site_dir .. '/domains/' .. domain.domain_code .. '.conf' local subst = { ['%%DC'] = domain.domain_code, ['%%DN'] = domain.domain_name, ['%%MI'] = domain.group, ['%%HI'] = domain.hide_domain and 'true' or 'false', } local config = replace_patterns(template, subst) config = replace_patterns(config, domain.subst) config = replace_patterns(config, groups[domain.group].subst) io.open(file, 'w'):write(config) end