diff --git a/templates/redis.socketed.template.yml b/templates/redis.socketed.template.yml new file mode 100644 index 000000000..2d6178076 --- /dev/null +++ b/templates/redis.socketed.template.yml @@ -0,0 +1,84 @@ +run: + - file: + path: /etc/service/redis/run + chmod: "+x" + contents: | + #!/bin/sh + exec 2>&1 + exec thpoff chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf + - file: + path: /etc/service/redis/log/run + chmod: "+x" + contents: | + #!/bin/sh + mkdir -p /var/log/redis + exec svlogd /var/log/redis + - file: + path: /etc/runit/3.d/10-redis + chmod: "+x" + contents: | + #!/bin/bash + sv stop redis + - replace: + filename: "/etc/redis/redis.conf" + from: "port 6379" + to: "port 0" + - replace: + filename: "/etc/redis/redis.conf" + from: "# unixsocket /tmp/redis.sock" + to: "unixsocket /shared/tmp/redis.sock" + - replace: + filename: "/etc/redis/redis.conf" + from: "# unixsocketperm 700" + to: "unixsocketperm 777" + - replace: + filename: "/etc/redis/redis.conf" + from: /^pidfile.*$/ + to: "" + + - exec: + cmd: + - install -d -m 0755 -o redis -g redis /shared/redis_data + + - replace: + filename: "/etc/redis/redis.conf" + from: /^logfile.*$/ + to: 'logfile ""' + + - replace: + filename: "/etc/redis/redis.conf" + from: /^bind .*$/ + to: "" + + - replace: + filename: "/etc/redis/redis.conf" + from: /^dir .*$/ + to: "dir /shared/redis_data" + + - replace: + filename: "/etc/redis/redis.conf" + from: /^protected-mode yes/ + to: "protected-mode no" + + - exec: + cmd: echo redis installed + hook: redis + - exec: cat /etc/redis/redis.conf | grep logfile + + - exec: + background: true + cmd: exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf + + - exec: sleep 10 + +# we can not migrate without redis, launch it if needed +hooks: + before_code: + - exec: + background: true + cmd: exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf + after_code: + - replace: + filename: /etc/service/unicorn/run + from: "# redis" + to: sv start redis || exit 1