From 5cea1dbbf310b974b32a03bddc28dc1436be3f4c Mon Sep 17 00:00:00 2001 From: Nick Vyzas Date: Mon, 14 Jan 2019 23:06:04 +0200 Subject: [PATCH] Fixes for systemd & "proxysql" user service --- docker-compose.yml | 22 +++++++-------- .../proxysql/deb-compliant/ctl/proxysql.ctl | 8 +++--- .../pre-systemd/ctl/proxysql.ctl | 28 +++++++++++++++++++ etc/init.d/proxysql | 4 ++- 4 files changed, 46 insertions(+), 16 deletions(-) mode change 100644 => 100755 docker-compose.yml create mode 100644 docker/images/proxysql/deb-compliant/pre-systemd/ctl/proxysql.ctl diff --git a/docker-compose.yml b/docker-compose.yml old mode 100644 new mode 100755 index d08c4170d..b31c4dea8 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -211,7 +211,7 @@ services: debian7_build: image: proxysql/packaging:build-debian7 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -224,7 +224,7 @@ services: debian7_dbg_build: image: proxysql/packaging:build-debian7 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/dbg-entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -237,7 +237,7 @@ services: debian8_build: image: proxysql/packaging:build-debian8 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -250,7 +250,7 @@ services: debian8_dbg_build: image: proxysql/packaging:build-debian8 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/dbg-entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -341,7 +341,7 @@ services: ubuntu12_build: image: proxysql/packaging:build-ubuntu12 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -354,7 +354,7 @@ services: ubuntu12_dbg_build: image: proxysql/packaging:build-ubuntu12 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/dbg-entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -367,7 +367,7 @@ services: ubuntu14_build: image: proxysql/packaging:build-ubuntu14 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -380,7 +380,7 @@ services: ubuntu14_dbg_build: image: proxysql/packaging:build-ubuntu14 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/dbg-entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -393,7 +393,7 @@ services: ubuntu16_build: image: proxysql/packaging:build-ubuntu16 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -406,7 +406,7 @@ services: ubuntu16_dbg_build: image: proxysql/packaging:build-ubuntu16 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/dbg-entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: @@ -419,7 +419,7 @@ services: ubuntu16_ch_build: image: proxysql/packaging:build-ubuntu16 volumes: - - ./docker/images/proxysql/deb-compliant/ctl/:/root/ctl/ + - ./docker/images/proxysql/deb-compliant/pre-systemd/ctl/:/root/ctl/ - ./docker/images/proxysql/deb-compliant/ch-entrypoint/:/opt/entrypoint/ - ./:/opt/proxysql/ environment: diff --git a/docker/images/proxysql/deb-compliant/ctl/proxysql.ctl b/docker/images/proxysql/deb-compliant/ctl/proxysql.ctl index 032c036b7..1672ed54d 100644 --- a/docker/images/proxysql/deb-compliant/ctl/proxysql.ctl +++ b/docker/images/proxysql/deb-compliant/ctl/proxysql.ctl @@ -10,10 +10,10 @@ Architecture: amd64 # Changelog: CHANGELOG.md # Readme: README.md Files: proxysql /usr/bin/ - etc/proxysql.cnf / - systemd/system/proxysql.service /lib/ - tools/proxysql_galera_checker.sh /usr/share/proxysql/ - tools/proxysql_galera_writer.pl /usr/share/proxysql/ + etc/proxysql.cnf /etc/ + systemd/system/proxysql.service /lib/systemd/system/ + tools/proxysql_galera_checker.sh /usr/share/proxysql/tools/ + tools/proxysql_galera_writer.pl /usr/share/proxysql/tools/ Description: High performance MySQL proxy ProxySQL is a fast, reliable MySQL proxy with advanced runtime configuration management (virtually no configuration change requires a restart). . diff --git a/docker/images/proxysql/deb-compliant/pre-systemd/ctl/proxysql.ctl b/docker/images/proxysql/deb-compliant/pre-systemd/ctl/proxysql.ctl new file mode 100644 index 000000000..f8138a918 --- /dev/null +++ b/docker/images/proxysql/deb-compliant/pre-systemd/ctl/proxysql.ctl @@ -0,0 +1,28 @@ +Section: misc +Priority: optional +Homepage: http://www.proxysql.com +Standards-Version: 3.9.2 + +Package: proxysql +Version: 2.0.0 +Maintainer: Rene Cannao +Architecture: amd64 +# Changelog: CHANGELOG.md +# Readme: README.md +Files: proxysql /usr/bin/ + etc/proxysql.cnf / + etc/init.d/proxysql / + tools/proxysql_galera_checker.sh /usr/share/proxysql/ + tools/proxysql_galera_writer.pl /usr/share/proxysql/ +Description: High performance MySQL proxy + ProxySQL is a fast, reliable MySQL proxy with advanced runtime configuration management (virtually no configuration change requires a restart). + . + It features query routing, query caching, query rewriting (for queries generated by ORMs, for example) and is most of the time a drop-in replacement for mysqld from the point of view of the application. It can be configured and remote controlled through an SQL-compatible admin interface. +File: postinst + #!/bin/sh -e + if [ ! -d /var/lib/proxysql ]; then mkdir /var/lib/proxysql ; fi + if ! id -u proxysql > /dev/null 2>&1; then useradd -r -U -s /bin/false -d /var/lib/proxysql -c "ProxySQL Server" proxysql; fi + chown -R proxysql: /var/lib/proxysql + chown root:proxysql /etc/proxysql.cnf + update-rc.d proxysql defaults + chmod 640 /etc/proxysql.cnf diff --git a/etc/init.d/proxysql b/etc/init.d/proxysql index ab764e9a5..6c93a795e 100755 --- a/etc/init.d/proxysql +++ b/etc/init.d/proxysql @@ -20,6 +20,7 @@ OLDDATADIR="/var/run/proxysql" DATADIR="/var/lib/proxysql" OPTS="-c /etc/proxysql.cnf -D $DATADIR" PIDFILE="$DATADIR/proxysql.pid" +USER="proxysql" ulimit -n 102400 ulimit -c 1073741824 @@ -79,9 +80,10 @@ start() { if [ ! -f $DATADIR/proxysql.db ] then mv -iv $OLDDATADIR/proxysql.db $DATADIR/proxysql.db + chown proxysql $DATADIR/proxysql.db fi fi - proxysql $OPTS + su - $USER -s /bin/bash -c "proxysql $OPTS" if [ "$?" = "0" ]; then echo "DONE!" return 0