php-formula/pillar.example
Andreas Thienemann 956cee6f69 Enable Softwarecollections on RHEL and CentOS
As RHEL and CentOS are both longer-lived enterprise-class operating
systems the software versions are usually lagging a bit behind.

In case one wants the longevity of an Enterprise Linux together with
more modern software the Softwarecollections project exists which
offers amongst others more modern PHP releases.

This commit adds a pillar toggle to use the SCL repo and the ability
to select which php version to install.
2018-10-21 01:02:27 +02:00

184 lines
6.0 KiB
Plaintext

## php.ng pillar examples
php:
# Use external repository instead the default (only Ubuntu family)
use_external_repo: True
# Set the external repository name (valid only if use_external_repo is not none)
external_repo_name: 'ondrej/php'
# Use Software Collections Repository offering PHP 5.4, 5.5, 5.6, 7.0 and 7.1
# https://www.softwarecollections.org/en/ for more information.
# SCL is only supported on RHEL and CentOS and only active when using php.ng
use_scl_repo: True
# Which PHP version from the SCL repos to use
scl_php_version: 71
# Set the MongoDB driver version. You can specify (optionally) the driver version
# when you add the php.mongo formula to your execution list
mongo_version: "1.5.5"
ng:
# this section contains mostly grain filtered data, while overrides
# are possible in the pillar for unique cases, if your OS is not
# represented, please consider adding it to the map.jinja for
# upstream inclusion
lookup:
# package definitions, these can be strings, lists of strings, or
# lists of dictionaries
pkgs:
memcached: php5-memcached
# ensures both will be installed
curl:
- php-common
- curl
# a dictionary can be used in more complex cases where you want
# to pass forward special arguments to the pkg.installed call
# you MUST include the name argument for this to work
cli:
-
name: php-cli
fromrepo: my-specialrepo
-
name: php-common
skip_verify: True
# php-fpm os-specific settings
fpm:
conf: /location/of/php-fpm/config.conf
ini: /location/of/php-fpm/php.ini
pools: /location/of/php-fpm/pool.d
service: name-of-php5-fpm-service
# the default content of the php5-fpm main config file
defaults:
global:
pid: /var/run/php5-fpm.pid
# php-cli os-specific settings
cli:
ini: /location/of/php-cli/php.ini
# php-fpm settings
fpm:
# settings for the php-fpm service
service:
# if True, enables the php-fpm service, if False disables it
enabled: True
# additional arguments passed forward to
# service.enabled/disabled
opts:
reload: True
# settings for the relevant php-fpm configuration files
config:
# options to manage the php.ini file used by php-fpm
ini:
# arguments passed through to file.managed
opts:
recurse: True
# php.ini file contents that will be merged with the
# defaults in php.ng.ini.defaults. See php.ng.ini.defaults for
# syntax guidelines.
settings:
PHP:
engine: 'Off'
extension_dir: '/usr/lib/php/modules/'
extension: [pdo_mysql.so, iconv.so, openssl.so]
# options to manage the php-fpm conf file
conf:
# arguments passed through to file.managed
opts:
recurse: True
# php-fpm conf file contents that will be merged with
# php.ng.lookup.fpm.defaults. See php.ng.ini.defaults for
# ini-style syntax guidelines.
settings:
global:
pid: /var/run/php-fpm/special-pid.file
# settings for fpm-pools
pools:
# defaults will apply for each pools settings and can be overwritten by pool settings
defaults:
user: nginx
group: nginx
listen: /var/run/php-fpm-default.sock
# name of the pool file to be managed, this will be appended
# to the path specified in php.ng.lookup.fpm.pools
'mypool.conf':
# If true, the pool file will be managed, if False it will be
# absent
enabled: True
# Overwrite the filename for ext_pillar that doesn't allow
# dots in fields names.
filname: my_other_name.conf
# arguments passed forward to file.managed or file.absent
opts:
replace: False
# pool file contents. See php.ng.ini.defaults for ini-style
# syntax guidelines.
settings:
myapp:
user: www-data
group: www-data
listen: /var/run/php5-fpm-myapp.sock
listen.owner: www-data
listen.group: www-data
listen.mode: 0660
pm: dynamic
pm.max_children: 5
pm.start_servers: 2
pm.min_spare_servers: 1
pm.max_spare_servers: 3
'php_admin_value[memory_limit]': 300M
# php-cli settings
cli:
# settings to manage the cli's php.ini
ini:
# opts passed forward directly to file.managed
opts:
replace: False
# contents of the php.ini file that are merged with defaults
# from php.ng.ini.defaults. See php.ng.ini.defaults for ini-style
# syntax guidelines
settings:
PHP:
engine: 'Off'
# php-xcache settings
xcache:
ini:
opts: {}
# contents of the xcache.ini file that are merged with defaults
# from php.xcache.ini.defaults. See php.ng.ini.defaults for ini-style
settings:
xcache:
xcache.size: 90M
# global php.ini settings
ini:
# Default php.ini contents. These follow a strict format. The top-
# level dict keys form ini group headings. Nested key/value
# pairs represent setting=value statements. If a value is a list,
# its contents will be joined by commas in final rendering.
defaults:
PHP:
engine: on
output_buffering: 4096
disable_functions:
- pcntl_alarm
- pcntl_fork
- pcntl_wait
'CLI Server':
cli_server_color: 'On'
# When using php.ng.apache2 on FreeBSD:
# Set this to False if you're not using apache-formula
use_apache_formula: True