[php/ng] support the use of a list of php versionstags/v0.39.0
{% endif %} | {% endif %} | ||||
{% endfor %} | {% endfor %} | ||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% for version in pillar_php_ng_version %} | |||||
{% set first_version = pillar_php_ng_version[0]|string %} | |||||
{% set ini = php.lookup.cli.ini|replace(first_version, version) %} | |||||
php_cli_ini_{{ version }}: | |||||
{{ php_ini(ini, php.cli.ini.opts, settings) }} | |||||
{% endfor %} | |||||
{% else %} | |||||
php_cli_ini: | php_cli_ini: | ||||
{{ php_ini(php.lookup.cli.ini, php.cli.ini.opts, settings) }} | {{ php_ini(php.lookup.cli.ini, php.cli.ini.opts, settings) }} | ||||
{% endif %} |
- php.ng.cli.install | - php.ng.cli.install | ||||
- php.ng.cli.ini | - php.ng.cli.ini | ||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
extend: | |||||
{% for version in pillar_php_ng_version %} | |||||
php_cli_ini_{{ version }}: | |||||
file: | |||||
- require: | |||||
- sls: php.ng.cli.install | |||||
{% endfor %} | |||||
{% else %} | |||||
extend: | extend: | ||||
php_cli_ini: | php_cli_ini: | ||||
file: | file: | ||||
- require: | - require: | ||||
- sls: php.ng.cli.install | - sls: php.ng.cli.install | ||||
{% endif %} |
{%- if salt['grains.get']('os_family') == "Debian" %} | {%- if salt['grains.get']('os_family') == "Debian" %} | ||||
{% set current_php = salt['alternatives.show_current']('php') %} | {% set current_php = salt['alternatives.show_current']('php') %} | ||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% if 'alternatives_version' in salt['pillar.get']('php:ng') %} | |||||
{% set phpng_version = salt['pillar.get']('php:ng:alternatives_version') %} | |||||
{% else %} | |||||
{% set phpng_version = false %} | |||||
{% endif %} | |||||
{% else %} | |||||
{% set phpng_version = salt['pillar.get']('php:ng:version', '7.0')|string %} | {% set phpng_version = salt['pillar.get']('php:ng:version', '7.0')|string %} | ||||
{% endif %} | |||||
{% if phpng_version %} | |||||
php_{{ phpng_version }}_link: | php_{{ phpng_version }}_link: | ||||
alternatives.set: | alternatives.set: | ||||
- name: php | - name: php | ||||
- which php | - which php | ||||
- test {{ current_php }} != $(which php{{ phpng_version }}) | - test {{ current_php }} != $(which php{{ phpng_version }}) | ||||
{% endif %} | {% endif %} | ||||
{% endif %} |
{% endif %} | {% endif %} | ||||
{% endfor %} | {% endfor %} | ||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% for version in pillar_php_ng_version %} | |||||
{% set conf_settings = odict(php.lookup.fpm.defaults) %} | |||||
{% set first_version = pillar_php_ng_version[0]|string %} | |||||
{% set ini = php.lookup.fpm.ini|replace(first_version, version) %} | |||||
{% set conf = php.lookup.fpm.conf|replace(first_version, version) %} | |||||
{% set pools = php.lookup.fpm.pools|replace(first_version, version) %} | |||||
{% for key, value in conf_settings.items() %} | |||||
{% if value is string %} | |||||
{% do conf_settings.update({key: value.replace(first_version, version)}) %} | |||||
{% endif %} | |||||
{% endfor %} | |||||
{% do conf_settings.global.update({'pid': '/var/run/php' + version + '-fpm.pid' }) %} | |||||
{% do conf_settings.global.update({'error_log': '/var/log/php' + version + '-fpm.log' }) %} | |||||
php_fpm_ini_config_{{ version }}: | |||||
{{ php_ini(ini, php.fpm.config.ini.opts, ini_settings) }} | |||||
php_fpm_conf_config_{{ version }}: | |||||
{{ php_ini(conf, php.fpm.config.conf.opts, odict(conf_settings)) }} | |||||
{{ pools }}: | |||||
file.directory: | |||||
- name: {{ pools }} | |||||
- user: {{ php.lookup.fpm.user }} | |||||
- group: {{ php.lookup.fpm.group }} | |||||
- file_mode: 755 | |||||
- make_dirs: True | |||||
{% endfor %} | |||||
{% else %} | |||||
{% set conf_settings = php.lookup.fpm.defaults %} | {% set conf_settings = php.lookup.fpm.defaults %} | ||||
{% do conf_settings.update(php.fpm.config.conf.settings) %} | {% do conf_settings.update(php.fpm.config.conf.settings) %} | ||||
- group: {{ php.lookup.fpm.group }} | - group: {{ php.lookup.fpm.group }} | ||||
- file_mode: 755 | - file_mode: 755 | ||||
- make_dirs: True | - make_dirs: True | ||||
{% endif %} |
- php.ng.fpm.service | - php.ng.fpm.service | ||||
- php.ng.fpm.pools | - php.ng.fpm.pools | ||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
extend: | extend: | ||||
php_fpm_service: | php_fpm_service: | ||||
service: | service: | ||||
- watch: | - watch: | ||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% for version in pillar_php_ng_version %} | |||||
- file: php_fpm_ini_config_{{ version }} | |||||
- file: php_fpm_conf_config_{{ version }} | |||||
{% endfor %} | |||||
{% else %} | |||||
- file: php_fpm_ini_config | - file: php_fpm_ini_config | ||||
- file: php_fpm_conf_config | - file: php_fpm_conf_config | ||||
{% endif %} | |||||
- require: | - require: | ||||
- sls: php.ng.fpm.config | - sls: php.ng.fpm.config | ||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% for version in pillar_php_ng_version %} | |||||
php_fpm_ini_config_{{ version }}: | |||||
file: | |||||
- require: | |||||
- pkg: php_install_fpm | |||||
php_fpm_conf_config_{{ version }}: | |||||
file: | |||||
- require: | |||||
- pkg: php_install_fpm | |||||
{% endfor %} | |||||
{% else %} | |||||
php_fpm_ini_config: | php_fpm_ini_config: | ||||
file: | file: | ||||
- require: | - require: | ||||
file: | file: | ||||
- require: | - require: | ||||
- pkg: php_install_fpm | - pkg: php_install_fpm | ||||
{% endif %} |
{% do pvalues.update(pool_defaults) %} | {% do pvalues.update(pool_defaults) %} | ||||
{% endfor %} | {% endfor %} | ||||
{% set state = 'php_fpm_pool_conf_' ~ loop.index0 %} | {% set state = 'php_fpm_pool_conf_' ~ loop.index0 %} | ||||
{% set fpath = path_join(config.get('filename', pool), php.lookup.fpm.pools) %} | |||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% set first_fpath = path_join(config.get('filename', pool), php.lookup.fpm.pools) %} | |||||
{% set first_version = pillar_php_ng_version[0]|string %} | |||||
{% set fpath = first_fpath.replace(first_version, config.get('phpversion', '7.0')) %} | |||||
{% else %} | |||||
{% set fpath = path_join(config.get('filename', pool), php.lookup.fpm.pools) %} | |||||
{% endif %} | |||||
{{ state }}: | {{ state }}: | ||||
{% if config.enabled %} | {% if config.enabled %} |
- source: salt://php/ng/files/php.ini | - source: salt://php/ng/files/php.ini | ||||
- template: jinja | - template: jinja | ||||
- context: | - context: | ||||
config: {{ serialize(settings) }} | |||||
config: {{ serialize(odict(settings)) }} | |||||
{%- endmacro -%} | {%- endmacro -%} |
{% set pkgs = [] %} | {% set pkgs = [] %} | ||||
{% set specials = [] %} | {% set specials = [] %} | ||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
{% if pkginfo is iterable and pkginfo is not string %} | {% if pkginfo is iterable and pkginfo is not string %} | ||||
{% for pkg in pkginfo %} | {% for pkg in pkginfo %} | ||||
{% if pkg is mapping %} | {% if pkg is mapping %} | ||||
{% do specials.append(pkg) %} | {% do specials.append(pkg) %} | ||||
{% else %} | {% else %} | ||||
{% do pkgs.append(pkg) %} | {% do pkgs.append(pkg) %} | ||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% set first_version = pillar_php_ng_version[0]|string %} | |||||
{% for other_version in pillar_php_ng_version %} | |||||
{% set other_version_str = other_version|string %} | |||||
{% do pkgs.append(pkg.replace(first_version, other_version_str)) %} | |||||
{% endfor %} | |||||
{% endif %} | |||||
{% endif %} | {% endif %} | ||||
{% endfor %} | {% endfor %} | ||||
{% else %} | {% else %} | ||||
{% do pkgs.append(pkginfo) %} | {% do pkgs.append(pkginfo) %} | ||||
{% if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{% set first_version = pillar_php_ng_version[0]|string %} | |||||
{% for other_version in pillar_php_ng_version %} | |||||
{% set other_version_str = other_version|string %} | |||||
{% do pkgs.append(pkginfo.replace(first_version, other_version_str)) %} | |||||
{% endfor %} | |||||
{% endif %} | |||||
{% endif %} | {% endif %} | ||||
{% if grains['os_family'] == "Debian" and (state == 'cli' or state == 'fpm' or state == 'php') %} | {% if grains['os_family'] == "Debian" and (state == 'cli' or state == 'fpm' or state == 'php') %} |
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
# vim: ft=jinja | # vim: ft=jinja | ||||
{%- set phpng_version = salt['pillar.get']('php:ng:version', '7.0')|string %} | |||||
{% set pillar_php_ng_version = salt['pillar.get']('php:ng:version', '7.0') %} | |||||
{%- if pillar_php_ng_version is iterable and pillar_php_ng_version is not string %} | |||||
{%- set phpng_version = pillar_php_ng_version[0]|string %} | |||||
{% else %} | |||||
{%- set phpng_version = pillar_php_ng_version|string %} | |||||
{% endif %} | |||||
{%- set freebsd_phpng_version = phpng_version.replace('.', '') %} | {%- set freebsd_phpng_version = phpng_version.replace('.', '') %} | ||||
{%- if salt['grains.get']('os') == "Ubuntu" %} | {%- if salt['grains.get']('os') == "Ubuntu" %} |
# when you add the php.mongo formula to your execution list | # when you add the php.mongo formula to your execution list | ||||
mongo_version: "1.5.5" | mongo_version: "1.5.5" | ||||
ng: | ng: | ||||
# set the version of php to be used | |||||
version: "7.3" | |||||
# can be a list of versions : | |||||
# version: | |||||
# - "7.3" | |||||
# - "7.2" | |||||
# set the version for the Debian alternatives system, when using a list of versions, | |||||
# php:ng:version is used otherwise. | |||||
alternatives_version: "7.3" | |||||
# this section contains mostly grain filtered data, while overrides | # this section contains mostly grain filtered data, while overrides | ||||
# are possible in the pillar for unique cases, if your OS is not | # are possible in the pillar for unique cases, if your OS is not | ||||
# represented, please consider adding it to the map.jinja for | # represented, please consider adding it to the map.jinja for |