Merge pull request #167 from arthurlogilab/multiphp
[php/ng] support the use of a list of php versions
This commit is contained in:
commit
ef25eb93ca
@ -14,5 +14,16 @@ include:
|
|||||||
{% 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 %}
|
||||||
|
@ -5,8 +5,19 @@ include:
|
|||||||
- 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 %}
|
||||||
|
@ -6,8 +6,18 @@ include:
|
|||||||
|
|
||||||
{%- 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
|
||||||
@ -18,3 +28,4 @@ php_{{ phpng_version }}_link:
|
|||||||
- which php
|
- which php
|
||||||
- test {{ current_php }} != $(which php{{ phpng_version }})
|
- test {{ current_php }} != $(which php{{ phpng_version }})
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
@ -14,6 +14,39 @@ include:
|
|||||||
{% 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) %}
|
||||||
|
|
||||||
@ -30,3 +63,4 @@ php_fpm_conf_config:
|
|||||||
- group: {{ php.lookup.fpm.group }}
|
- group: {{ php.lookup.fpm.group }}
|
||||||
- file_mode: 755
|
- file_mode: 755
|
||||||
- make_dirs: True
|
- make_dirs: True
|
||||||
|
{% endif %}
|
||||||
|
@ -6,14 +6,34 @@ include:
|
|||||||
- 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:
|
||||||
@ -22,3 +42,4 @@ extend:
|
|||||||
file:
|
file:
|
||||||
- require:
|
- require:
|
||||||
- pkg: php_install_fpm
|
- pkg: php_install_fpm
|
||||||
|
{% endif %}
|
||||||
|
@ -20,7 +20,15 @@ include:
|
|||||||
{% 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 %}
|
||||||
|
@ -10,5 +10,5 @@
|
|||||||
- 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 -%}
|
||||||
|
@ -12,16 +12,31 @@ include:
|
|||||||
{% 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') %}
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
# -*- 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" %}
|
||||||
|
@ -20,6 +20,17 @@ php:
|
|||||||
# 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
|
||||||
|
Loading…
Reference in New Issue
Block a user