From a386ac668b1039294e4af2f1b0718982c5a4c244 Mon Sep 17 00:00:00 2001 From: Jonathan Adami Date: Sun, 26 Apr 2020 18:04:58 +1000 Subject: [PATCH] Turns out I had to create a folder :/ remove the loop script and bugfix --- Procfile | 2 +- mergeswarm.py | 5 +++++ swarm.stack.yml | 2 +- swarmloop.sh | 4 ---- 4 files changed, 7 insertions(+), 6 deletions(-) delete mode 100755 swarmloop.sh diff --git a/Procfile b/Procfile index a04686b..a73caa5 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,3 @@ -swarmmerge: /app/swarmloop.sh +swarmmerge: while true; do ls -d /etc/nginx/node.conf.d/*.conf | entr -d python3 /app/mergeswarm.py; done dockergen: docker-gen -watch /app/nginx.tmpl /etc/nginx/node.conf.d/`hostname`.conf nginx: nginx diff --git a/mergeswarm.py b/mergeswarm.py index fe2e99c..e122952 100644 --- a/mergeswarm.py +++ b/mergeswarm.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- +import os import subprocess import sys from crossplane import parse, build @@ -8,6 +9,10 @@ SWARM_CONFIG_FILE = '/etc/nginx/node.conf.d/swarm.conf' NGINX_OUTPUT = '/etc/nginx/conf.d/default.conf' NGINX_RELOAD = 'nginx -s reload' +if not os.path.isfile(SWARM_CONFIG_FILE): + with open(SWARM_CONFIG_FILE, 'w') as f: + f.write("http { include ./*.conf; }") + nginx_config = [] swarm_config = parse(SWARM_CONFIG_FILE)['config'] nodes = [f['parsed'] for f in swarm_config[1:-1]] diff --git a/swarm.stack.yml b/swarm.stack.yml index 835f721..9059c47 100644 --- a/swarm.stack.yml +++ b/swarm.stack.yml @@ -14,7 +14,7 @@ services: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - - /tmp/proxyconf:/var/nginx/node.conf.d/ + - /tmp/proxyconf/:/etc/nginx/node.conf.d/ whoami1: deploy: diff --git a/swarmloop.sh b/swarmloop.sh deleted file mode 100755 index 8cf949f..0000000 --- a/swarmloop.sh +++ /dev/null @@ -1,4 +0,0 @@ -while true; -do - ls -d /etc/nginx/node.conf.d/*.conf | entr -d python3 /app/mergeswarm.py; -done \ No newline at end of file