From 861ddd2db4b060fd9ad785d0e22cbc1a89fca0fd Mon Sep 17 00:00:00 2001 From: Daniel Oetken Date: Fri, 23 Oct 2015 23:35:05 +0200 Subject: [PATCH] manage xcache.ini in pillar --- README.rst | 10 +++++ php/ng/map.jinja | 54 +++++++++++++++++++++++ php/ng/xcache/ini.sls | 15 +++++++ php/ng/xcache/init.sls | 11 +++++ php/ng/{xcache.sls => xcache/install.sls} | 0 5 files changed, 90 insertions(+) create mode 100644 php/ng/xcache/ini.sls create mode 100644 php/ng/xcache/init.sls rename php/ng/{xcache.sls => xcache/install.sls} (100%) diff --git a/README.rst b/README.rst index 603a634..b9dbb1c 100644 --- a/README.rst +++ b/README.rst @@ -422,6 +422,16 @@ Installs the php-suhosin package. ``php.ng.xcache`` --------------- +Meta-state that combines `php.ng.xcache.install`_ and `php.ng.xcache.ini`_. + +``php.ng.xcache.ini`` +--------------- + +Manages the php-xcache ini file + +``php.ng.xcache.install`` +--------------- + Installs the php-xcache package. Disabled on opensuse need server:php:extensions repo diff --git a/php/ng/map.jinja b/php/ng/map.jinja index a7c1f6b..7598d3f 100644 --- a/php/ng/map.jinja +++ b/php/ng/map.jinja @@ -82,6 +82,10 @@ 'apache2': { 'ini': '/etc/php5/apache2/php.ini', }, + 'xcache': { + 'ini': '/etc/php5/mods-available/xcache.ini', + 'defaults': {}, + }, }, 'RedHat': { 'pkgs': { @@ -131,6 +135,9 @@ 'cli': { 'ini': '/etc/php.ini', }, + 'xcache': { + 'ini': '/etc/php.d/xcache.ini', + }, }, 'Suse': { 'pkgs': { @@ -207,6 +214,9 @@ 'cli': { 'ini': '/etc/php.ini', }, + 'xcache': { + 'ini': '/etc/php/conf.d/xcache.ini', + }, }, }), 'fpm': { @@ -254,6 +264,50 @@ 'settings': {}, } }, + 'xcache': { + 'ini': { + 'defaults': { + 'xcache-common': { + 'extension': 'xcache.so', + }, + 'xcache.admin': { + 'xcache.admin.enable_auth': 'On', + }, + 'xcache': { + 'xcache.shm_scheme': '"mmap"', + 'xcache.size': '60M', + 'xcache.count': '1', + 'xcache.slots': '8K', + 'xcache.ttl': '0', + 'xcache.gc_interval': '0', + 'xcache.var_size': '4M', + 'xcache.var_count': '1', + 'xcache.var_slots': '8K', + 'xcache.var_ttl': '0', + 'xcache.var_maxttl': '0', + 'xcache.var_gc_interval': '300', + 'xcache.var_namespace_mode': '0', + 'xcache.var_namespace': '""', + 'xcache.readonly_protection': 'Off', + 'xcache.mmap_path': '"/dev/zero"', + 'xcache.coredump_directory': '""', + 'xcache.coredump_type': '0', + 'xcache.disable_on_crash': 'Off', + 'xcache.experimental': 'Off', + 'xcache.cacher': 'On', + 'xcache.stat': 'On', + 'xcache.optimizer': 'Off', + }, + 'xcache.coverager': { + 'xcache.coverager': 'Off', + 'xcache.coverager_autostart': 'On', + 'xcache.coveragedump_directory': '""', + }, + }, + 'opts': {}, + 'settings': {}, + } + }, 'ini': { 'defaults': { 'PHP': { diff --git a/php/ng/xcache/ini.sls b/php/ng/xcache/ini.sls new file mode 100644 index 0000000..efed11d --- /dev/null +++ b/php/ng/xcache/ini.sls @@ -0,0 +1,15 @@ +# Manages the php cli main ini file +{% from 'php/ng/map.jinja' import php with context %} +{% from "php/ng/ini.jinja" import php_ini %} + +{% set settings = php.xcache.ini.defaults %} +{% for key, value in php.xcache.ini.settings.iteritems() %} + {% if settings[key] is defined %} + {% do settings[key].update(value) %} + {% else %} + {% do settings.update({key: value}) %} + {% endif %} +{% endfor %} + +php_xcache_ini: + {{ php_ini(php.lookup.xcache.ini, php.xcache.ini.opts, settings) }} diff --git a/php/ng/xcache/init.sls b/php/ng/xcache/init.sls new file mode 100644 index 0000000..fb6e07f --- /dev/null +++ b/php/ng/xcache/init.sls @@ -0,0 +1,11 @@ +# Installs php-xcache and manages the associated xcache.ini + +include: + - php.ng.xcache.install + - php.ng.xcache.ini + +extend: + php_xcache_ini: + file: + - require: + - sls: php.ng.xcache.install diff --git a/php/ng/xcache.sls b/php/ng/xcache/install.sls similarity index 100% rename from php/ng/xcache.sls rename to php/ng/xcache/install.sls