Skip to content

Commit d0b0ffd

Browse files
author
sticky-note
committed
feat(tofs): implementation for all file.managed
- Implementation of libtofs on ini macro, pools_config and apache2 mod_php.conf + Introduction of tplroot on modified files + `{%-` consistency when possible
1 parent bb199b1 commit d0b0ffd

File tree

13 files changed

+822
-102
lines changed

13 files changed

+822
-102
lines changed

docs/TOFS_pattern.rst

Lines changed: 518 additions & 0 deletions
Large diffs are not rendered by default.

php/apache2/ini.sls

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
# Manages the main Apache2 ini file
2-
{% from "php/map.jinja" import php with context %}
3-
{% from "php/ini.jinja" import php_ini %}
1+
{#- Manages the main Apache2 ini file #}
2+
{%- set tplroot = tpldir.split('/')[0] %}
3+
{%- from tplroot ~ "/map.jinja" import php with context %}
4+
{%- from tplroot ~ "/ini.jinja" import php_ini %}
45

5-
{% set settings = php.ini.defaults %}
6-
{% do settings.update(php.apache2.ini.settings) %}
6+
{%- set settings = php.ini.defaults %}
7+
{%- do settings.update(php.apache2.ini.settings) %}
78

89
php_apache2_ini:
9-
{{ php_ini(php.lookup.apache2.ini, php.apache2.ini.opts, settings) }}
10+
{{ php_ini(php.lookup.apache2.ini,
11+
'php_apache2_ini'
12+
php.apache2.ini.opts,
13+
settings
14+
) }}

php/apache2/install.sls

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
1-
{% from "php/map.jinja" import php with context %}
1+
{%- set tplroot = tpldir.split('/')[0] %}
2+
{%- from tplroot ~ "/map.jinja" import php with context %}
3+
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
24
3-
{% set state = 'apache2' %}
4-
{% include "php/installed.jinja" %}
5+
{%- set state = 'apache2' %}
6+
{%- include tplroot ~ "/installed.jinja" %}
57
6-
{% if grains['os_family'] == "FreeBSD" %}
8+
{%- if grains['os_family'] == "FreeBSD" %}
79
{{ php.lookup.apache2.module_config }}:
810
file.managed:
9-
- source: salt://php/apache2/files/mod_php.conf.jinja
11+
- source: {{ files_switch( ['mod_php.conf.jinja'],
12+
'php_apache2_module_config',
13+
use_subpath = '/apache2'
14+
) }}
1015
- template: jinja
11-
{% if salt['pillar.get']('php:use_apache_formula', True) %}
16+
{%- if salt['pillar.get']('php:use_apache_formula', True) %}
1217
- makedirs: true
1318
- require_in:
1419
- sls: apache
1520
- watch_in:
1621
- module: apache-restart
17-
{% endif %} #END: use apache formula
18-
{% endif %} #END: os = debian
22+
{%- endif %} #END: use apache formula
23+
{%- endif %} #END: os = debian

php/cli/ini.sls

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
1-
# Manages the php cli main ini file
2-
{% from "php/map.jinja" import php with context %}
3-
{% from "php/ini.jinja" import php_ini %}
1+
{#- Manages the php cli main ini file #}
2+
{%- set tplroot = tpldir.split('/')[0] %}
3+
{%- from tplroot ~ "/map.jinja" import php with context %}
4+
{%- from tplroot ~ "/ini.jinja" import php_ini %}
45

5-
{% set settings = php.ini.defaults %}
6-
{% for key, value in php.cli.ini.settings.items() %}
7-
{% if settings[key] is defined %}
8-
{% do settings[key].update(value) %}
9-
{% else %}
10-
{% do settings.update({key: value}) %}
11-
{% endif %}
12-
{% endfor %}
6+
{%- set settings = php.ini.defaults %}
7+
{%- for key, value in php.cli.ini.settings.items() %}
8+
{%- if settings[key] is defined %}
9+
{%- do settings[key].update(value) %}
10+
{%- else %}
11+
{%- do settings.update({key: value}) %}
12+
{%- endif %}
13+
{%- endfor %}
1314

14-
{% set pillar_php_version = salt['pillar.get']('php:version', '7.0') %}
15-
{% if pillar_php_version is iterable and pillar_php_version is not string %}
16-
{% for version in pillar_php_version %}
17-
{% set first_version = pillar_php_version[0]|string %}
18-
{% set ini = php.lookup.cli.ini|replace(first_version, version) %}
15+
{%- set pillar_php_version = salt['pillar.get']('php:version', '7.0') %}
16+
{%- if pillar_php_version is iterable and pillar_php_version is not string %}
17+
{%- for version in pillar_php_version %}
18+
{%- set first_version = pillar_php_version[0]|string %}
19+
{%- set ini = php.lookup.cli.ini|replace(first_version, version) %}
1920
php_cli_ini_{{ version }}:
20-
{{ php_ini(ini, php.cli.ini.opts, settings) }}
21-
{% endfor %}
22-
{% else %}
21+
{{ php_ini(ini, 'php_cli_ini_{{ version }}', php.cli.ini.opts, settings) }}
22+
{%- endfor %}
23+
{%- else %}
2324

2425
php_cli_ini:
25-
{{ php_ini(php.lookup.cli.ini, php.cli.ini.opts, settings) }}
26-
{% endif %}
26+
{{ php_ini(php.lookup.cli.ini, 'php_cli_ini', php.cli.ini.opts, settings) }}
27+
{%- endif %}
File renamed without changes.

php/fpm/config.sls

Lines changed: 55 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,47 @@
1-
# Manages the php-fpm main ini file
2-
{% from 'php/map.jinja' import php with context %}
3-
{% from "php/ini.jinja" import php_ini %}
4-
5-
{% set ini_settings = php.ini.defaults %}
6-
{% for key, value in php.fpm.config.ini.settings.items() %}
7-
{% if ini_settings[key] is defined %}
8-
{% do ini_settings[key].update(value) %}
9-
{% else %}
10-
{% do ini_settings.update({key: value}) %}
11-
{% endif %}
12-
{% endfor %}
13-
14-
{% set pillar_php_version = salt['pillar.get']('php:version', '7.0') %}
15-
{% if pillar_php_version is iterable and pillar_php_version is not string %}
16-
{% for version in pillar_php_version %}
17-
{% set conf_settings = odict(php.lookup.fpm.defaults) %}
18-
{% set first_version = pillar_php_version[0]|string %}
19-
{% set ini = php.lookup.fpm.ini|replace(first_version, version) %}
20-
{% set conf = php.lookup.fpm.conf|replace(first_version, version) %}
21-
{% set pools = php.lookup.fpm.pools|replace(first_version, version) %}
22-
23-
{% for key, value in conf_settings.items() %}
24-
{% if value is string %}
25-
{% do conf_settings.update({key: value.replace(first_version, version)}) %}
26-
{% endif %}
27-
{% endfor %}
28-
{% do conf_settings.global.update({'pid': '/var/run/php' + version + '-fpm.pid' }) %}
29-
{% do conf_settings.global.update({'error_log': '/var/log/php' + version + '-fpm.log' }) %}
1+
{#- Manages the php-fpm main ini file #}
2+
{%- set tplroot = tpldir.split('/')[0] %}
3+
{%- from tplroot ~ "/map.jinja" import php with context %}
4+
{%- from tplroot ~ "/ini.jinja" import php_ini %}
5+
6+
{%- set ini_settings = php.ini.defaults %}
7+
{%- for key, value in php.fpm.config.ini.settings.items() %}
8+
{%- if ini_settings[key] is defined %}
9+
{%- do ini_settings[key].update(value) %}
10+
{%- else %}
11+
{%- do ini_settings.update({key: value}) %}
12+
{%- endif %}
13+
{%- endfor %}
14+
15+
{%- set pillar_php_version = salt['pillar.get']('php:version', '7.0') %}
16+
{%- if pillar_php_version is iterable and pillar_php_version is not string %}
17+
{%- for version in pillar_php_version %}
18+
{%- set conf_settings = odict(php.lookup.fpm.defaults) %}
19+
{%- set first_version = pillar_php_version[0]|string %}
20+
{%- set ini = php.lookup.fpm.ini|replace(first_version, version) %}
21+
{%- set conf = php.lookup.fpm.conf|replace(first_version, version) %}
22+
{%- set pools = php.lookup.fpm.pools|replace(first_version, version) %}
23+
24+
{%- for key, value in conf_settings.items() %}
25+
{%- if value is string %}
26+
{%- do conf_settings.update({key: value.replace(first_version, version)}) %}
27+
{%- endif %}
28+
{%- endfor %}
29+
{%- do conf_settings.global.update({'pid': '/var/run/php' + version + '-fpm.pid' }) %}
30+
{%- do conf_settings.global.update({'error_log': '/var/log/php' + version + '-fpm.log' }) %}
3031
3132
php_fpm_ini_config_{{ version }}:
32-
{{ php_ini(ini, php.fpm.config.ini.opts, ini_settings) }}
33+
{{ php_ini(ini,
34+
'php_fpm_ini_config_{{ version }}',
35+
php.fpm.config.ini.opts,
36+
ini_settings
37+
) }}
3338
3439
php_fpm_conf_config_{{ version }}:
35-
{{ php_ini(conf, php.fpm.config.conf.opts, odict(conf_settings)) }}
40+
{{ php_ini(conf,
41+
'php_fpm_conf_config_{{ version }}',
42+
php.fpm.config.conf.opts,
43+
odict(conf_settings)
44+
) }}
3645
3746
{{ pools }}:
3847
file.directory:
@@ -41,17 +50,25 @@ php_fpm_conf_config_{{ version }}:
4150
- group: {{ php.lookup.fpm.group }}
4251
- file_mode: 755
4352
- make_dirs: True
44-
{% endfor %}
45-
{% else %}
53+
{%- endfor %}
54+
{%- else %}
4655
47-
{% set conf_settings = php.lookup.fpm.defaults %}
48-
{% do conf_settings.update(php.fpm.config.conf.settings) %}
56+
{%- set conf_settings = php.lookup.fpm.defaults %}
57+
{%- do conf_settings.update(php.fpm.config.conf.settings) %}
4958
5059
php_fpm_ini_config:
51-
{{ php_ini(php.lookup.fpm.ini, php.fpm.config.ini.opts, ini_settings) }}
60+
{{ php_ini(php.lookup.fpm.ini,
61+
'php_fpm_ini_config',
62+
php.fpm.config.ini.opts,
63+
ini_settings
64+
) }}
5265
5366
php_fpm_conf_config:
54-
{{ php_ini(php.lookup.fpm.conf, php.fpm.config.conf.opts, conf_settings) }}
67+
{{ php_ini(php.lookup.fpm.conf,
68+
'php_fpm_conf_config',
69+
php.fpm.config.conf.opts,
70+
conf_settings
71+
) }}
5572
5673
{{ php.lookup.fpm.pools }}:
5774
file.directory:
@@ -60,4 +77,4 @@ php_fpm_conf_config:
6077
- group: {{ php.lookup.fpm.group }}
6178
- file_mode: 755
6279
- make_dirs: True
63-
{% endif %}
80+
{%- endif %}

php/fpm/pools_config.sls

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
# Manages the php-fpm pools config files
2-
{% from 'php/map.jinja' import php with context %}
3-
{% from "php/macro.jinja" import sls_block, serialize %}
1+
{#- Manages the php-fpm pools config files #}
2+
{%- set tplroot = tpldir.split('/')[0] %}
3+
{%- from tplroot ~ "/ng/map.jinja" import php with context %}
4+
{%- from tplroot ~ "/ng/macro.jinja" import sls_block, serialize %}
5+
{%- from tplroot ~ "/ng/libtofs.jinja" import files_switch with context %}
46

5-
# Simple path concatenation.
7+
{#- Simple path concatenation. #}
68
{% macro path_join(file, root) -%}
79
{{ root ~ '/' ~ file }}
810
{%- endmacro %}
@@ -32,7 +34,7 @@
3234
file.managed:
3335
{{ sls_block(config.get('opts', {})) }}
3436
- name: {{ fpath }}
35-
- source: salt://php/files/php.ini
37+
- source: {{ files_switch(['php.ini'], 'php_fpm_pool_conf') }}
3638
- template: jinja
3739
- context:
3840
config: {{ serialize(config.get('settings', {})) }}

php/hhvm/config.sls

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
# Manages the php-hhvm main ini file
2-
{% from "php/map.jinja" import php with context %}
3-
{% from "php/ini.jinja" import php_ini %}
2+
{%- set tplroot = tpldir.split('/')[0] %}
3+
{%- from tplroot ~ "/ng/map.jinja" import php with context %}
4+
{%- from tplroot ~ "/ng/ini.jinja" import php_ini %}
45
5-
{% set server_settings = php.lookup.hhvm.server %}
6-
{% do server_settings.update(php.hhvm.config.server.settings) %}
6+
{%- set server_settings = php.lookup.hhvm.server %}
7+
{%- do server_settings.update(php.hhvm.config.server.settings) %}
78
8-
{% set php_settings = php.lookup.hhvm.php %}
9-
{% do php_settings.update(php.hhvm.config.php.settings) %}
9+
{%- set php_settings = php.lookup.hhvm.php %}
10+
{%- do php_settings.update(php.hhvm.config.php.settings) %}
1011
1112
php_hhvm_ini_config:
12-
{{ php_ini(php.lookup.hhvm.conf, php.hhvm.config.server.opts, server_settings) }}
13+
{{ php_ini(php.lookup.hhvm.conf,
14+
'php_hhvm_ini_config',
15+
php.hhvm.config.server.opts,
16+
server_settings
17+
) }}
1318
1419
php_hhvm_conf_config:
15-
{{ php_ini(php.lookup.hhvm.ini, php.hhvm.config.php.opts, php_settings) }}
16-
20+
{{ php_ini(php.lookup.hhvm.ini,
21+
'php_hhvm_conf_config',
22+
php.hhvm.config.php.opts,
23+
php_settings
24+
) }}

php/ini.jinja

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
# -*- coding: utf-8 -*-
22
# vim: ft=jinja
3-
{# php.ini management macro. #}
4-
{% from "php/macro.jinja" import sls_block, serialize %}
3+
{#- php.ini management macro. #}
4+
{%- set tplroot = tpldir.split('/')[0] %}
5+
{%- from tplroot ~ "/macro.jinja" import sls_block, serialize %}
6+
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
57

6-
{% macro php_ini(filename, opts={}, settings={}) %}
8+
{% macro php_ini(filename, tofs_lookup, opts={}, settings={}) %}
79
file.managed:
810
{{ sls_block(opts) }}
911
- name: {{ filename }}
10-
- source: salt://php/files/php.ini
12+
- source: {{ files_switch( ['php.ini'], tofs_lookup ) }}
1113
- template: jinja
1214
- context:
1315
config: {{ serialize(odict(settings)) }}

0 commit comments

Comments
 (0)