47 lines
1 KiB
Bash
47 lines
1 KiB
Bash
|
#!/venv/bin/python
|
||
|
|
||
|
import os.path
|
||
|
|
||
|
import yaml
|
||
|
import jinja2
|
||
|
|
||
|
|
||
|
def generate_nginx_config():
|
||
|
"""
|
||
|
Generates nginx config from the app config
|
||
|
"""
|
||
|
use_https = os.path.exists('conf/stack/ssl.key')
|
||
|
|
||
|
with open("conf/nginx/nginx.conf.jnj") as f:
|
||
|
template = jinja2.Template(f.read())
|
||
|
rendered = template.render(
|
||
|
use_https=use_https,
|
||
|
)
|
||
|
|
||
|
with open('conf/nginx/nginx.conf', 'w') as f:
|
||
|
f.write(rendered)
|
||
|
|
||
|
|
||
|
def generate_server_config(config):
|
||
|
"""
|
||
|
Generates server config from the app config
|
||
|
"""
|
||
|
tuf_server = config.get('TUF_SERVER', None)
|
||
|
signing_enabled = tuf_server is not None
|
||
|
|
||
|
with open("conf/nginx/server-base.conf.jnj") as f:
|
||
|
template = jinja2.Template(f.read())
|
||
|
rendered = template.render(
|
||
|
signing_enabled=signing_enabled,
|
||
|
tuf_server=tuf_server,
|
||
|
)
|
||
|
|
||
|
with open('conf/nginx/server-base.conf', 'w') as f:
|
||
|
f.write(rendered)
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
config = yaml.load(file('conf/stack/config.yaml', 'r'))
|
||
|
generate_server_config(config)
|
||
|
generate_nginx_config()
|