diff --git a/CHANGELOG.md b/CHANGELOG.md index daf90e7..8303233 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,518 +1,526 @@ # Changelog All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module. +## [v8.0.2](https://github.com/voxpupuli/puppet-php/tree/v8.0.2) (2021-09-05) + +[Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v8.0.1...v8.0.2) + +**Fixed bugs:** + +- Allow 0 for pm\_start\_servers [\#642](https://github.com/voxpupuli/puppet-php/pull/642) ([jkroepke](https://github.com/jkroepke)) + ## [v8.0.1](https://github.com/voxpupuli/puppet-php/tree/v8.0.1) (2021-08-27) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v8.0.0...v8.0.1) **Fixed bugs:** - Allow empty string for setting value [\#640](https://github.com/voxpupuli/puppet-php/pull/640) ([smortex](https://github.com/smortex)) **Closed issues:** - String\[1\] forbids empty php::settings value [\#639](https://github.com/voxpupuli/puppet-php/issues/639) ## [v8.0.0](https://github.com/voxpupuli/puppet-php/tree/v8.0.0) (2021-08-26) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v7.1.0...v8.0.0) **Breaking changes:** - Drop EOL FreeBSD 9 and 10 from metadata.json [\#591](https://github.com/voxpupuli/puppet-php/issues/591) - Drop Debian 9/Ubuntu 16.04 support [\#636](https://github.com/voxpupuli/puppet-php/pull/636) ([root-expert](https://github.com/root-expert)) - Drop support for Puppet 5 \(EOL\) [\#631](https://github.com/voxpupuli/puppet-php/pull/631) ([smortex](https://github.com/smortex)) - Drop support for RedHat 6 / CentOS 6 \(EOL\) [\#630](https://github.com/voxpupuli/puppet-php/pull/630) ([smortex](https://github.com/smortex)) - Drop EOL Debian 7/8 & Ubuntu 12/14 [\#592](https://github.com/voxpupuli/puppet-php/pull/592) ([bastelfreak](https://github.com/bastelfreak)) **Implemented enhancements:** - Add/Fix data types of all parameters [\#634](https://github.com/voxpupuli/puppet-php/pull/634) ([smortex](https://github.com/smortex)) - Add support for Debian 11 [\#633](https://github.com/voxpupuli/puppet-php/pull/633) ([smortex](https://github.com/smortex)) - Add support for Puppet 7 [\#632](https://github.com/voxpupuli/puppet-php/pull/632) ([smortex](https://github.com/smortex)) - Add PHP 8 Support [\#627](https://github.com/voxpupuli/puppet-php/pull/627) ([bratucornel](https://github.com/bratucornel)) - puppet/archive: allow 5.x [\#620](https://github.com/voxpupuli/puppet-php/pull/620) ([bastelfreak](https://github.com/bastelfreak)) - php::globals: support Ubuntu 20.04 that ships php 7.4 [\#599](https://github.com/voxpupuli/puppet-php/pull/599) ([simondeziel](https://github.com/simondeziel)) - php-fpm: Make service reload/restart configurable [\#598](https://github.com/voxpupuli/puppet-php/pull/598) ([bastelfreak](https://github.com/bastelfreak)) - Add apparmor\_hat support to php::fpm::pool [\#524](https://github.com/voxpupuli/puppet-php/pull/524) ([simondeziel](https://github.com/simondeziel)) **Closed issues:** - remove puppet 5 support, introduce puppet 7 support [\#616](https://github.com/voxpupuli/puppet-php/issues/616) - php reloading on each run [\#613](https://github.com/voxpupuli/puppet-php/issues/613) - Is it possible to ensure the fpm service from hiera? [\#609](https://github.com/voxpupuli/puppet-php/issues/609) - Restart service 'php-fpm' if socket owner / group changes [\#596](https://github.com/voxpupuli/puppet-php/issues/596) - Support for Ondřej Surýs PPA on Ubuntu 18.04 [\#586](https://github.com/voxpupuli/puppet-php/issues/586) - Unused variable 'log\_group\_final' [\#568](https://github.com/voxpupuli/puppet-php/issues/568) - New Release 7.0.0+ ? [\#562](https://github.com/voxpupuli/puppet-php/issues/562) - undesired service restart due to missing /var/run/php-fpm dir [\#501](https://github.com/voxpupuli/puppet-php/issues/501) - New Release after Ubuntu 18.04 support is added? [\#442](https://github.com/voxpupuli/puppet-php/issues/442) - Deprecate mayflower/php in favor for voxpupuli/php [\#348](https://github.com/voxpupuli/puppet-php/issues/348) **Merged pull requests:** - Allow up-to-date dependencies [\#635](https://github.com/voxpupuli/puppet-php/pull/635) ([smortex](https://github.com/smortex)) - Update dependencies [\#629](https://github.com/voxpupuli/puppet-php/pull/629) ([saz](https://github.com/saz)) - Remove duplicate mysqlnd from example in README [\#574](https://github.com/voxpupuli/puppet-php/pull/574) ([saz](https://github.com/saz)) - remove www pool from defaults [\#572](https://github.com/voxpupuli/puppet-php/pull/572) ([bovy89](https://github.com/bovy89)) - Cleanup fpm config class [\#570](https://github.com/voxpupuli/puppet-php/pull/570) ([paescuj](https://github.com/paescuj)) ## [v7.1.0](https://github.com/voxpupuli/puppet-php/tree/v7.1.0) (2020-05-05) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v7.0.0...v7.1.0) **Implemented enhancements:** - add ability to define composer update channel [\#571](https://github.com/voxpupuli/puppet-php/pull/571) ([CyberLine](https://github.com/CyberLine)) - add pool\_purge option to init.pp [\#557](https://github.com/voxpupuli/puppet-php/pull/557) ([bovy89](https://github.com/bovy89)) - Improve package prefix selection on FreeBSD [\#552](https://github.com/voxpupuli/puppet-php/pull/552) ([oxc](https://github.com/oxc)) **Fixed bugs:** - Fix enabling of zend extensions [\#567](https://github.com/voxpupuli/puppet-php/pull/567) ([coreyralph](https://github.com/coreyralph)) - Fix running apt update on Debian family [\#554](https://github.com/voxpupuli/puppet-php/pull/554) ([Hexta](https://github.com/Hexta)) - Do a `deep` merge on `fpm` lookup [\#550](https://github.com/voxpupuli/puppet-php/pull/550) ([sigv](https://github.com/sigv)) **Closed issues:** - mod 'puppetlabs-inifile', '4.1.0' [\#566](https://github.com/voxpupuli/puppet-php/issues/566) - Fpm config results in "expects a Hash value, got Tuple" [\#536](https://github.com/voxpupuli/puppet-php/issues/536) - composer created as folder not binary file [\#535](https://github.com/voxpupuli/puppet-php/issues/535) - Forge Release [\#528](https://github.com/voxpupuli/puppet-php/issues/528) - Invalid tag '::php::config' on node ... [\#177](https://github.com/voxpupuli/puppet-php/issues/177) **Merged pull requests:** - delete legacy travis directory [\#556](https://github.com/voxpupuli/puppet-php/pull/556) ([bastelfreak](https://github.com/bastelfreak)) - allow puppetlabs/inifile 4.x [\#553](https://github.com/voxpupuli/puppet-php/pull/553) ([bastelfreak](https://github.com/bastelfreak)) - Clean up acceptance spec helper [\#551](https://github.com/voxpupuli/puppet-php/pull/551) ([ekohl](https://github.com/ekohl)) ## [v7.0.0](https://github.com/voxpupuli/puppet-php/tree/v7.0.0) (2019-09-12) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v6.0.2...v7.0.0) **Breaking changes:** - Drop Ubuntu 14.04 [\#520](https://github.com/voxpupuli/puppet-php/pull/520) ([bastelfreak](https://github.com/bastelfreak)) - Do not manage mysql.ini when using Ubuntu repo \(and fix CI\) [\#519](https://github.com/voxpupuli/puppet-php/pull/519) ([smortex](https://github.com/smortex)) - modulesync 2.5.1 and drop Puppet 4 [\#507](https://github.com/voxpupuli/puppet-php/pull/507) ([bastelfreak](https://github.com/bastelfreak)) **Implemented enhancements:** - Remove hard dependency from apt-transport-https [\#454](https://github.com/voxpupuli/puppet-php/issues/454) - use php::global::php\_version for php::repo::\* version [\#222](https://github.com/voxpupuli/puppet-php/issues/222) - refactor ::php::repo::debian to use the version variable [\#219](https://github.com/voxpupuli/puppet-php/issues/219) - push back hard dependency on hiera [\#215](https://github.com/voxpupuli/puppet-php/issues/215) - Support PHP 7.0 on FreeBSD [\#207](https://github.com/voxpupuli/puppet-php/issues/207) - set default version for debian buster and add support for buster [\#530](https://github.com/voxpupuli/puppet-php/pull/530) ([lelutin](https://github.com/lelutin)) - Simplify php \(extension\) removal [\#526](https://github.com/voxpupuli/puppet-php/pull/526) ([TuningYourCode](https://github.com/TuningYourCode)) - Rely more on puppetlabs-apt [\#494](https://github.com/voxpupuli/puppet-php/pull/494) ([ekohl](https://github.com/ekohl)) - Add cli\_settings parameter to php class [\#491](https://github.com/voxpupuli/puppet-php/pull/491) ([sunnz](https://github.com/sunnz)) - Allow `clear_env` to be disabled [\#483](https://github.com/voxpupuli/puppet-php/pull/483) ([joshuaspence](https://github.com/joshuaspence)) - allow php 7.2 [\#455](https://github.com/voxpupuli/puppet-php/pull/455) ([cbergmann](https://github.com/cbergmann)) **Fixed bugs:** - Fixed repositories managed for all patch version of 7.x for Ubuntu. [\#505](https://github.com/voxpupuli/puppet-php/pull/505) ([Conzar](https://github.com/Conzar)) - Fix php::fpm eternal reload for mysqli a simplexml extension [\#503](https://github.com/voxpupuli/puppet-php/pull/503) ([miranovy](https://github.com/miranovy)) **Closed issues:** - No default version for debian buster in globals [\#529](https://github.com/voxpupuli/puppet-php/issues/529) - php module is not using hiera deep merge anymore. [\#500](https://github.com/voxpupuli/puppet-php/issues/500) - Extension mysqli causes php7-fpm to reload [\#497](https://github.com/voxpupuli/puppet-php/issues/497) - Cannot declare both php and php::cli classes [\#489](https://github.com/voxpupuli/puppet-php/issues/489) - PHP modules are enabled even when ensure is absent [\#477](https://github.com/voxpupuli/puppet-php/issues/477) - The "PHP 7.1 install from hell" on Debian 9 [\#459](https://github.com/voxpupuli/puppet-php/issues/459) - PHP 7.1 on Debian 9 [\#457](https://github.com/voxpupuli/puppet-php/issues/457) - Wrong merge behavior for settings, extensions, fpm\_pools, fpm\_global\_pool\_settings [\#434](https://github.com/voxpupuli/puppet-php/issues/434) - Ubuntu 16 mysql extension so name with packages from ondrej PPA [\#309](https://github.com/voxpupuli/puppet-php/issues/309) **Merged pull requests:** - fix "cannot redefine $real\_settings" error [\#533](https://github.com/voxpupuli/puppet-php/pull/533) ([crispygoth](https://github.com/crispygoth)) - hotfix:: updating key id for debian repo sury [\#532](https://github.com/voxpupuli/puppet-php/pull/532) ([caherrera](https://github.com/caherrera)) - Fix deprecated Hiera lookup warnings. Add default www pool in YAML. [\#522](https://github.com/voxpupuli/puppet-php/pull/522) ([comport3](https://github.com/comport3)) - Allow `puppetlabs/stdlib` 6.x and `puppet/archive` 4.x [\#521](https://github.com/voxpupuli/puppet-php/pull/521) ([alexjfisher](https://github.com/alexjfisher)) - Allow puppetlabs/apt 7.x, puppetlabs/inifile 3.x [\#518](https://github.com/voxpupuli/puppet-php/pull/518) ([dhoppe](https://github.com/dhoppe)) - Simplify ensure check [\#493](https://github.com/voxpupuli/puppet-php/pull/493) ([amateo](https://github.com/amateo)) ## [v6.0.2](https://github.com/voxpupuli/puppet-php/tree/v6.0.2) (2018-10-14) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v6.0.1...v6.0.2) **Fixed bugs:** - allow `latest` for php extensions again [\#485](https://github.com/voxpupuli/puppet-php/pull/485) ([amateo](https://github.com/amateo)) **Closed issues:** - Ubuntu 18.04 issue just installing [\#475](https://github.com/voxpupuli/puppet-php/issues/475) **Merged pull requests:** - Remove readable permissions for others on fpm pool config file [\#484](https://github.com/voxpupuli/puppet-php/pull/484) ([l-lotz](https://github.com/l-lotz)) ## [v6.0.1](https://github.com/voxpupuli/puppet-php/tree/v6.0.1) (2018-10-06) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v6.0.0...v6.0.1) **Fixed bugs:** - Fix enable extension when there is no module associated [\#479](https://github.com/voxpupuli/puppet-php/pull/479) ([amateo](https://github.com/amateo)) - Remove config when module is ensured to absent [\#478](https://github.com/voxpupuli/puppet-php/pull/478) ([amateo](https://github.com/amateo)) **Closed issues:** - "php::manage\_repos: true" causes failure on Ubuntu 18.04, needs newer puppetlabs-apt version\(\>=5.0.0\) [\#467](https://github.com/voxpupuli/puppet-php/issues/467) **Merged pull requests:** - modulesync 2.1.0 and allow puppet 6.x [\#481](https://github.com/voxpupuli/puppet-php/pull/481) ([bastelfreak](https://github.com/bastelfreak)) - Add acceptance tests for system php with extensions [\#476](https://github.com/voxpupuli/puppet-php/pull/476) ([bastelfreak](https://github.com/bastelfreak)) - Allow puppetlabs/stdlib 5.x and puppetlabs/apt 6.x [\#472](https://github.com/voxpupuli/puppet-php/pull/472) ([bastelfreak](https://github.com/bastelfreak)) ## [v6.0.0](https://github.com/voxpupuli/puppet-php/tree/v6.0.0) (2018-07-29) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v5.3.0...v6.0.0) **Breaking changes:** - Tests failing under debian8 [\#433](https://github.com/voxpupuli/puppet-php/issues/433) - fixed hiera merge bug [\#435](https://github.com/voxpupuli/puppet-php/pull/435) ([c33s](https://github.com/c33s)) **Implemented enhancements:** - Compatibility with Software collections \(SCL\) [\#451](https://github.com/voxpupuli/puppet-php/pull/451) ([oranenj](https://github.com/oranenj)) - Add Debian 9 support [\#440](https://github.com/voxpupuli/puppet-php/pull/440) ([SimonHoenscheid](https://github.com/SimonHoenscheid)) - Add initial ubuntu 18.04 support [\#428](https://github.com/voxpupuli/puppet-php/pull/428) ([jkroepke](https://github.com/jkroepke)) **Fixed bugs:** - php.ini not updated [\#422](https://github.com/voxpupuli/puppet-php/issues/422) - Error: Could not upgrade module 'puppet-php' \(v4.0.0 -\> v5.0.0\) [\#378](https://github.com/voxpupuli/puppet-php/issues/378) - Fix paths for phpunit on FreeBSD [\#291](https://github.com/voxpupuli/puppet-php/pull/291) ([bitnexus](https://github.com/bitnexus)) **Closed issues:** - Debian 9 \(Stretch\) support [\#439](https://github.com/voxpupuli/puppet-php/issues/439) - Repository class switch failing on Ubuntu [\#392](https://github.com/voxpupuli/puppet-php/issues/392) - Next stable release? [\#352](https://github.com/voxpupuli/puppet-php/issues/352) - PHP extensions loaded twice [\#341](https://github.com/voxpupuli/puppet-php/issues/341) - PECL/Extension checks for beta packages [\#73](https://github.com/voxpupuli/puppet-php/issues/73) **Merged pull requests:** - Update README.md with working RHSCL example. [\#463](https://github.com/voxpupuli/puppet-php/pull/463) ([Tamerz](https://github.com/Tamerz)) - enable ubuntu 18.04 acceptance tests [\#462](https://github.com/voxpupuli/puppet-php/pull/462) ([bastelfreak](https://github.com/bastelfreak)) - drop EOL OSs; fix puppet version range [\#453](https://github.com/voxpupuli/puppet-php/pull/453) ([bastelfreak](https://github.com/bastelfreak)) - Rely on beaker-hostgenerator for docker nodesets [\#452](https://github.com/voxpupuli/puppet-php/pull/452) ([ekohl](https://github.com/ekohl)) - mark private classes with assert\_private\(\) [\#447](https://github.com/voxpupuli/puppet-php/pull/447) ([bastelfreak](https://github.com/bastelfreak)) - migrate vars from topscope to relative scope [\#444](https://github.com/voxpupuli/puppet-php/pull/444) ([bastelfreak](https://github.com/bastelfreak)) - bump puppet to latest supported version 4.10.0 [\#443](https://github.com/voxpupuli/puppet-php/pull/443) ([bastelfreak](https://github.com/bastelfreak)) - Update puppet/archive dependency [\#438](https://github.com/voxpupuli/puppet-php/pull/438) ([marknl](https://github.com/marknl)) - switch the dotdeb repo url to https [\#431](https://github.com/voxpupuli/puppet-php/pull/431) ([bastelfreak](https://github.com/bastelfreak)) ## [v5.3.0](https://github.com/voxpupuli/puppet-php/tree/v5.3.0) (2018-03-06) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v5.2.0...v5.3.0) **Implemented enhancements:** - mark Ubuntu 16.04 as supported and fix its tests [\#221](https://github.com/voxpupuli/puppet-php/issues/221) - Using the new facts hash instead of the global var in repo/debian.pp [\#425](https://github.com/voxpupuli/puppet-php/pull/425) ([c33s](https://github.com/c33s)) - Add Acceptance tests [\#414](https://github.com/voxpupuli/puppet-php/pull/414) ([bastelfreak](https://github.com/bastelfreak)) **Fixed bugs:** - Fix Archlinux support [\#423](https://github.com/voxpupuli/puppet-php/pull/423) ([bastelfreak](https://github.com/bastelfreak)) - Fix wrongly named parameters for apt::source/key [\#420](https://github.com/voxpupuli/puppet-php/pull/420) ([bitcrush](https://github.com/bitcrush)) - manage software-properties-common on ubuntu [\#419](https://github.com/voxpupuli/puppet-php/pull/419) ([bastelfreak](https://github.com/bastelfreak)) **Merged pull requests:** - add examples for php-fpm/nginx [\#424](https://github.com/voxpupuli/puppet-php/pull/424) ([bastelfreak](https://github.com/bastelfreak)) - add tests for php5.6 [\#418](https://github.com/voxpupuli/puppet-php/pull/418) ([bastelfreak](https://github.com/bastelfreak)) ## [v5.2.0](https://github.com/voxpupuli/puppet-php/tree/v5.2.0) (2018-02-14) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v5.1.0...v5.2.0) **Implemented enhancements:** - add ubuntu 16.04 support [\#412](https://github.com/voxpupuli/puppet-php/pull/412) ([bastelfreak](https://github.com/bastelfreak)) - Add PHP 7.1 support on Debian [\#293](https://github.com/voxpupuli/puppet-php/pull/293) ([fstr](https://github.com/fstr)) **Fixed bugs:** - Auto\_update not idempotent [\#402](https://github.com/voxpupuli/puppet-php/issues/402) - use correct require arguments [\#415](https://github.com/voxpupuli/puppet-php/pull/415) ([bastelfreak](https://github.com/bastelfreak)) - fix composer auto\_update idempotency in case no update is available [\#408](https://github.com/voxpupuli/puppet-php/pull/408) ([joekohlsdorf](https://github.com/joekohlsdorf)) - Fixing wrong pear package name in Amazon Linux [\#399](https://github.com/voxpupuli/puppet-php/pull/399) ([gdurandvadas](https://github.com/gdurandvadas)) **Closed issues:** - Upgrade to work with Puppet5 [\#406](https://github.com/voxpupuli/puppet-php/issues/406) - php 7.2 + ubuntu 16.04 - pdo-mysql extension not installing correctly [\#405](https://github.com/voxpupuli/puppet-php/issues/405) - config\_root parameter does nothing on RHEL7 [\#397](https://github.com/voxpupuli/puppet-php/issues/397) **Merged pull requests:** - Deprecate hiera\_hash functions [\#410](https://github.com/voxpupuli/puppet-php/pull/410) ([minorOffense](https://github.com/minorOffense)) - mark Puppet 5 as supported [\#407](https://github.com/voxpupuli/puppet-php/pull/407) ([joekohlsdorf](https://github.com/joekohlsdorf)) - Change default RedHat params to use config\_root [\#398](https://github.com/voxpupuli/puppet-php/pull/398) ([DALUofM](https://github.com/DALUofM)) ## [v5.1.0](https://github.com/voxpupuli/puppet-php/tree/v5.1.0) (2017-11-10) [Full Changelog](https://github.com/voxpupuli/puppet-php/compare/v5.0.0...v5.1.0) **Fixed bugs:** - Fix syntax issues with data types [\#385](https://github.com/voxpupuli/puppet-php/pull/385) ([craigwatson](https://github.com/craigwatson)) - fix ubuntu 17.04 version for php7 [\#383](https://github.com/voxpupuli/puppet-php/pull/383) ([arudat](https://github.com/arudat)) - Fix OS fact comparison for Ubuntu 12 and 14 [\#375](https://github.com/voxpupuli/puppet-php/pull/375) ([dbeckham](https://github.com/dbeckham)) - Fix OS facts usage when selecting repo class for Ubuntu systems [\#374](https://github.com/voxpupuli/puppet-php/pull/374) ([dbeckham](https://github.com/dbeckham)) - Confine pecl provider to where pear command is available [\#364](https://github.com/voxpupuli/puppet-php/pull/364) ([walkamongus](https://github.com/walkamongus)) - fix default value of php::fpm::pool::access\_log\_format [\#361](https://github.com/voxpupuli/puppet-php/pull/361) ([lesinigo](https://github.com/lesinigo)) **Closed issues:** - Debian repository classes are being selected on Ubuntu systems [\#373](https://github.com/voxpupuli/puppet-php/issues/373) - Changes in \#357 break Ubuntu version dependent resources [\#372](https://github.com/voxpupuli/puppet-php/issues/372) **Merged pull requests:** - Proposed fix for failing parallel spec tests [\#386](https://github.com/voxpupuli/puppet-php/pull/386) ([wyardley](https://github.com/wyardley)) - update dependencies in metadata [\#379](https://github.com/voxpupuli/puppet-php/pull/379) ([mmoll](https://github.com/mmoll)) - Bump metadata.json version to 5.0.1-rc [\#377](https://github.com/voxpupuli/puppet-php/pull/377) ([dhollinger](https://github.com/dhollinger)) - bump dep on puppet/archive to '\< 3.0.0' [\#376](https://github.com/voxpupuli/puppet-php/pull/376) ([costela](https://github.com/costela)) - Add missing php-fpm user and group class param docs [\#346](https://github.com/voxpupuli/puppet-php/pull/346) ([dbeckham](https://github.com/dbeckham)) ## [v5.0.0](https://github.com/voxpupuli/puppet-php/tree/v5.0.0) (2017-08-07) ### Summary This backwards-incompatible release drops puppet 3, PHP 5.5 on Ubuntu, and the deprecated `php::extension` parameter `pecl_source`. It improves much of the internal code quality, and adds several useful features the most interesting of which is probably the `php::extension` parameter `ini_prefix`. ### Changed - Drop puppet 3 compatibility. - Bumped puppetlabs-apt lower bound to 4.1.0 - Bumped puppetlabs-stdlib lower bound to 4.13.1 ### Removed - Deprecated `php::extension` define parameters `pecl_source`. Use `source` instead. - PHP 5.5 support on ubuntu. ### Added - `php` class parameters `fpm_user` and `fpm_group` to customize php-fpm user/group. - `php::fpm` class parameters `user` and `group`. - `php::fpm::pool` define parameter `pm_process_idle_timeout` and pool.conf `pm.process_idle_timeout` directive. - `php::extension` class parameters `ini_prefix` and `install_options`. - Archlinux compatibility. - Bumped puppetlabs-apt upper bound to 5.0.0 ### Fixed - Replaced validate functions with data types. - Linting issues. - Replace legacy facts with facts hash. - Simplify `php::extension` - Only apt dependency when `manage_repos => true` - No more example42/yum dependency ## 2017-02-11 Release [4.0.0] This is the last release with Puppet3 support! * Fix a bug turning `manage_repos` off on wheezy * Fix a deprecation warning on `apt::key` when using `manage_repos` on wheezy (#110). This change requires puppetlabs/apt at >= 1.8.0 * Allow removal of config values (#124) * Add `phpversion` fact, for querying through PuppetDB or Foreman (#119) * Allow configuring the fpm pid file (#123) * Add embedded SAPI support (#115) * Add options to fpm config and pool configs (#139) * Add parameter logic for PHP 7 on Ubuntu/Debian (#180) * add SLES PHP 7.0 Support (#220) * allow packaged extensions to be loaded as zend extensions * Fix command to enable php extensions (#226) * Fix many rucocop warnings * Update module Ubuntu 14.04 default to official repository setup * Fix dependency for extentions with no package source * Allow packaged extensions to be loaded as Zend extensions * Support using an http proxy for downloading composer * Refactor classes php::fpm and php::fpm:service * Manage apache/PHP configurations on Debian and RHEL systems * use voxpupuli/archive to download composer * respect $manage_repos, do not include ::apt if set to false * Bump min version_requirement for Puppet + deps * allow pipe param for pecl extensions * Fix: composer auto_update: exec's environment must be array ### Breaking Changes * Deep merge `php::extensions` the same way as `php::settings`. This technically is a breaking change but should not affect many people. * PHP 5.6 is the default version on all systems now (except Ubuntu 16.04, where 7.0 is the default). * There's a php::globals class now, where global paramters (like the PHP version) are set. (#132) * Removal of php::repo::ubuntu::ppa (#218) ## 3.4.2 * Fix a bug that changed the default of `php::manage_repos` to `false` on Debian-based operating systems except wheezy. It should be turned on by default. (#116) * Fix a bug that prevented reloading php-fpm on Ubuntu in some cases. (#117, #107) ## 3.4.1 * Fix reloading php-fpm on Ubuntu trusty & utopic (#107) ## 3.4.0 * New parameter `ppa` for class `php::repo::ubuntu` to specify the ppa name to use. We default to `ondrej/php5-oldstable` for precise and `ondrej/php5` otherwise. * New parameter `include` for `php::fpm::pool` resources to specify custom configuration files. ## 3.3.1 * Make `systemd_interval` parameter for class `php::fpm::config` optional ## 3.3.0 * `php::extension` resources: * New boolean parameter `settings_prefix` to automatically prefix all settings keys with the extensions names. Defaults to false to ensurre the current behaviour. * New string parameter `so_name` to set the DSO name of an extension if it doesn't match the package name. * New string parameter `php_api_version` to set a custom api version. If not `undef`, the `so_name` is prefixed with the full module path in the ini file. Defaults to `undef`. * The default of the parameter `listen_allowed_clients` of `php::fpm::pool` resources is now `undef` instead of `'127.0.0.1'`. This way it is more intuitive to change the default tcp listening socket at `127.0.0.1:9000` to a unix socket by only setting the `listen` parameter instead of additionally needing to unset `listen_allowed_clients`. This has no security implications. * New parameters for the `php::fpm::config` class: * `error_log` * `syslog_facility` * `syslog_ident` * `systemd_interval` * A bug that prevented merging the global `php::settings` parameter into SAPI configs for `php::cli` and `php::fpm` was fixed. * The dotdeb repos are now only installed for Debian wheezy as Debian jessie has a sufficiently recent PHP version. ## 3.2.2 * Fix a typo in hiera keys `php::settings` & `php::fpm::settings` (#83) ## 3.2.1 * Fixed default `yum_repo` key in `php::repo::redhat` * On Ubuntu precise we now use the ondrej/php5-oldstable ppa. This can be manually enabled with by setting `$php::repo::ubuntu::oldstable` to `true`. * `$php::ensure` now defaults to `present` instead of `latest`. Though, strictly speaking, this represents a functional change, we consider this to be a bugfix because automatic updates should be enabled explicitely. * `$php::ensure` is not anymore passed to `php::extension` resources as default ensure parameter because this doesn't make sense. ## 3.2.0 * Support for FreeBSD added by Frank Wall * RedHat now uses remi-php56 yum repo by default * The resource `php::fpm::pool` is now public, you can use it in your manifests without using `$php::fpm::pools` * We now have autogenerated documentation using `puppetlabs/strings` ## 3.1.0 * New parameter `pool_purge` for `php::extension` to remove files not managed by puppet from the pool directory. * The `pecl_source` parameter for `php::extension` was renamend to `source` because it is also useful for PEAR extensions. `pecl_source` can still be used but is deprecated and will be removed in the next major release. * Parameters referring to time in `php::fpm::config` can now be specified with units (i.e. `'60s'`, `'1d'`): * `emergency_restart_threshold` * `emergency_restart_interval` * `process_control_timeout` * The PEAR version is not independant of `$php::ensure` and can be configured with `$php::pear_ensure` * Give special thanks to the contributors of this release: * Petr Sedlacek * Sherlan Moriah ## 3.0.1 * Fix typo in package suffix for php-fpm on RHEL in params.pp ## 3.0.0 * Removes `$php::fpm::pool::error_log`. Use the `php_admin_flag` and `php_admin_value` parameters to set the php settings `log_errors` and `error_log` instead. * Removes support for PHP 5.3 on Debian-based systems. See the notes in the README for more information. * Removes the `php_version` fact which had only worked on the later puppet runs. * Moves CLI-package handling to `php::packages` * Allows changing the package prefix via `php::package_prefix`. * Moves FPM-package handling from `php::fpm::package` to `php::fpm` * Changes `php::packages`, so that `php::packages::packages` becomes `php::packages::names` and are installed and `php::packages::names_to_prefix` are installed prefixed by `php::package_prefix`. * PHPUnit is now installed as phar in the same way composer is installed, causing all parameters to change * The `php::extension` resource has a new parameter: `zend`. If set to true, exenstions that were installed with pecl are loaded with `zend_extension`. ## 2.0.4 * Style fixes all over the place * Module dependencies are now bound to the current major version ## 2.0.3 * Some issues & bugs with extensions were fixed * If you set the `provider` parameter of an extension to `"none"`, no extension packages will be installed * The EPEL yum repo has been added for RedHat systems ## 2.0.2 * Adds support for `header_packages` on all extensions * Adds `install_options` to pear package provider ## 2.0.1 * This is a pure bug fix release * Fix for CVE 2014-0185 (https://bugs.php.net/bug.php?id=67060) ## 2.0.0 * Remove augeas and switch to puppetlabs/inifile for configs * Old: `settings => [‘set PHP/short_open_tag On‘]` * New: `settings => {‘PHP/short_open_tag’ => ‘On‘}` * Settings parmeter cleanups * The parameter `config` of `php::extension` resources is now called `settings` * The parameters `user` and `group` of `php::fpm` have been moved to `php::fpm::config` * New parameter `php::settings` for global settings (i.e. CLI & FPM) * New parameter `php::cli` to disable CLI if supported ## 1.1.2 * SLES: PHP 5.5 will now be installed * Pecl extensions now autoload the .so based on $name instead of $title ## 1.1.1 * some nasty bugs with the pecl php::extension provider were fixed * php::extension now has a new pecl_source parameter for specifying custom source channels for the pecl provider ## 1.1.0 * add phpunit to main class * fix variable access for augeas ## 1.0.2 * use correct suse apache service name * fix anchoring of augeas ## 1.0.1 * fixes #9 undefined pool_base_dir ## 1.0.0 Initial release [4.1.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v4.0.0...v4.1.0 [4.0.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v3.4.2...v4.0.0 \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* diff --git a/REFERENCE.md b/REFERENCE.md index 31d3cfe..6b2aabe 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,3241 +1,3241 @@ # Reference ## Table of Contents ### Classes * [`php`](#php): Base class with global configuration parameters that pulls in all enabled components. === Parameters [*ensure*] Specify which version of * [`php::apache_config`](#phpapache_config): Install and configure php apache settings === Parameters [*inifile*] The path to the ini php-apache ini file [*settings*] Hash with ne * [`php::cli`](#phpcli): Install and configure php CLI === Parameters [*inifile*] The path to the ini php5-cli ini file [*settings*] Hash with nested hash of k * [`php::composer`](#phpcomposer): Install composer package manager === Parameters [*source*] Holds URL to the Composer source file [*path*] Holds path to the Composer e * [`php::composer::auto_update`](#phpcomposerauto_update): Install composer package manager === Parameters [*max_age*] Defines number of days after which Composer should be updated [*source*] H * [`php::dev`](#phpdev): Install the development package with headers for PHP === Parameters [*ensure*] The PHP ensure of PHP dev to install [*package*] The pa * [`php::embedded`](#phpembedded): Install and configure php embedded SAPI === Parameters [*inifile*] The path to the ini php5-embeded ini file [*settings*] Hash with ne * [`php::fpm`](#phpfpm): Install and configure mod_php for fpm === Parameters [*user*] The user that php-fpm should run as [*group*] The group that php-fpm sho * [`php::fpm::config`](#phpfpmconfig): Configure php-fpm service === Parameters [*config_file*] The path to the fpm config file [*user*] The user that runs php-fpm [*group* * [`php::fpm::service`](#phpfpmservice): Manage fpm service === Parameters [*service_name*] name of the php-fpm service [*ensure*] 'ensure' value for the service [*enable*] * [`php::global`](#phpglobal) * [`php::globals`](#phpglobals) * [`php::packages`](#phppackages): Install common PHP packages === Parameters [*ensure*] Specify which version of PHP packages to install [*names*] List of the names of * [`php::params`](#phpparams): PHP params class * [`php::pear`](#phppear): Install PEAR package manager === Parameters [*ensure*] The package ensure of PHP pear to install and run pear auto_discover [*package*] * [`php::phpunit`](#phpphpunit): Install phpunit, PHP testing framework === Parameters [*source*] Holds URL to the phpunit source file [*path*] Holds path to the phpun * [`php::phpunit::auto_update`](#phpphpunitauto_update): Install phpunit package manager === Parameters [*max_age*] Defines number of days after which phpunit should be updated [*source*] Hol * [`php::repo`](#phprepo): Configure package repository * [`php::repo::debian`](#phprepodebian): Configure debian apt repo === Parameters [*location*] Location of the apt repository [*release*] Release of the apt repository [*repo * [`php::repo::redhat`](#phpreporedhat) * [`php::repo::suse`](#phpreposuse): Configure suse repo === Parameters [*reponame*] Name of the Zypper repository [*baseurl*] Base URL of the Zypper repository * [`php::repo::ubuntu`](#phprepoubuntu): Configure ubuntu ppa === Parameters [*version*] PHP version to manage (e.g. 5.6) ### Defined types * [`php::apache_vhost`](#phpapache_vhost): Configures an apache vhost for php === Parameters [*vhost*] The vhost address [*docroot*] The vhost docroot [*port*] The vhost port * [`php::config`](#phpconfig): Configure php.ini settings for a PHP SAPI === Parameters [*file*] The path to ini file [*config*] Nested hash of key => value to apply * [`php::config::setting`](#phpconfigsetting): Configure php.ini settings === Parameters [*key*] The key of the value, like `ini_setting` [*file*] The path to ini file [*value*] * [`php::extension`](#phpextension): Install a PHP extension package === Parameters [*ensure*] The ensure of the package to install Could be "present", "absent", "latest", * [`php::extension::config`](#phpextensionconfig): Configure a PHP extension package === Parameters [*ensure*] The ensure of the package to install Could be "latest", "installed" or a pi * [`php::extension::install`](#phpextensioninstall): Install a PHP extension package === Parameters [*ensure*] The ensure of the package to install Could be "latest", "installed" or a pinn * [`php::fpm::pool`](#phpfpmpool): Configure fpm pools === Parameters See the official php-fpm documentation for parameters that are not documented here: http://php.net/manua ### Functions * [`ensure_prefix`](#ensure_prefix): This function ensures a prefix for all elements in an array or the keys in a hash. *Examples:* ensure_prefix({'a' => 1, 'b' => 2, 'p.c' = * [`to_hash_settings`](#to_hash_settings): This function converts a +{key => value}+ hash into a nested hash and can add an id to the outer key. The optional id string as second parame ### Data types * [`Php::ComposerChannel`](#phpcomposerchannel) * [`Php::Duration`](#phpduration): A duration in seconds are with an unit * [`Php::InstallOptions`](#phpinstalloptions) * [`Php::Provider`](#phpprovider) * [`Php::Sapi`](#phpsapi) ## Classes ### `php` Base class with global configuration parameters that pulls in all enabled components. === Parameters [*ensure*] Specify which version of PHP packages to install, defaults to 'present'. Please note that 'absent' to remove packages is not supported! [*manage_repos*] Include repository (dotdeb, ppa, etc.) to install recent PHP from [*fpm*] Install and configure php-fpm [*fpm_service_enable*] Enable/disable FPM service [*fpm_service_ensure*] Ensure FPM service is either 'running' or 'stopped' [*fpm_service_name*] This is the name of the php-fpm service. It defaults to reasonable OS defaults but can be different in case of using php7.0/other OS/custom fpm service [*fpm_service_provider*] This is the name of the service provider, in case there is a non OS default service provider used to start FPM. Defaults to 'undef', pick system defaults. [*fpm_pools*] Hash of php::fpm::pool resources that will be created. Defaults to a single php::fpm::pool named www with default parameters. [*fpm_global_pool_settings*] Hash of defaults params php::fpm::pool resources that will be created. Defaults to empty hash. [*fpm_inifile*] Path to php.ini for fpm [*fpm_package*] Name of fpm package to install [*fpm_user*] The user that php-fpm should run as [*fpm_group*] The group that php-fpm should run as [*dev*] Install php header files, needed to install pecl modules [*composer*] Install and auto-update composer [*pear*] Install PEAR [*phpunit*] Install phpunit [*apache_config*] Manage apache's mod_php configuration [*proxy_type*] proxy server type (none|http|https|ftp) [*proxy_server*] specify a proxy server, with port number if needed. ie: https://example.com:8080. [*extensions*] Install PHP extensions, this is overwritten by hiera hash `php::extensions` [*package_prefix*] This is the prefix for constructing names of php packages. This defaults to a sensible default depending on your operating system, like 'php-' or 'php5-'. [*config_root_ini*] This is the path to the config .ini files of the extensions. This defaults to a sensible default depending on your operating system, like '/etc/php5/mods-available' or '/etc/php5/conf.d'. [*config_root_inifile*] The path to the global php.ini file. This defaults to a sensible default depending on your operating system. [*ext_tool_enable*] Absolute path to php tool for enabling extensions in debian/ubuntu systems. This defaults to '/usr/sbin/php5enmod'. [*ext_tool_query*] Absolute path to php tool for querying information about extensions in debian/ubuntu systems. This defaults to '/usr/sbin/php5query'. [*ext_tool_enabled*] Enable or disable the use of php tools on debian based systems debian/ubuntu systems. This defaults to 'true'. [*log_owner*] The php-fpm log owner [*log_group*] The group owning php-fpm logs [*embedded*] Enable embedded SAPI [*pear_ensure*] The package ensure of PHP pear to install and run pear auto_discover [*settings*] PHP configuration parameters in php.ini files as a hash. For example, 'Date/date.timezone' => 'Australia/Melbourne' sets data.timezone to 'Australia/Melbourne' under [Date] section, and 'PHP/memory_limit' => '256M' sets memory_limit to 256M. [*cli_settings*] Additional hash of PHP configuration parameters for PHP CLI. When a setting key already exists in $settings, the value provided from the $cli_settings parameter overrides the value from $settings parameter. For example, 'PHP/memory_limit' => '1000M' sets memory_limit to 1000M for the PHP cli ini file, regardless of the values from $settings. [*pool_purge*] Whether to purge pool config files not created by this module [*reload_fpm_on_config_changes*] by default, we reload the service on changes. But certain options, like socket owner, will only be applied during a restart. If set to false, a restart will be executed instead of a reload. This default will be changed in a future release. #### Parameters The following parameters are available in the `php` class: * [`ensure`](#ensure) * [`manage_repos`](#manage_repos) * [`fpm`](#fpm) * [`fpm_service_enable`](#fpm_service_enable) * [`fpm_service_ensure`](#fpm_service_ensure) * [`fpm_service_name`](#fpm_service_name) * [`fpm_service_provider`](#fpm_service_provider) * [`fpm_pools`](#fpm_pools) * [`fpm_global_pool_settings`](#fpm_global_pool_settings) * [`fpm_inifile`](#fpm_inifile) * [`fpm_package`](#fpm_package) * [`fpm_user`](#fpm_user) * [`fpm_group`](#fpm_group) * [`embedded`](#embedded) * [`dev`](#dev) * [`composer`](#composer) * [`pear`](#pear) * [`pear_ensure`](#pear_ensure) * [`phpunit`](#phpunit) * [`apache_config`](#apache_config) * [`proxy_type`](#proxy_type) * [`proxy_server`](#proxy_server) * [`extensions`](#extensions) * [`settings`](#settings) * [`cli_settings`](#cli_settings) * [`package_prefix`](#package_prefix) * [`config_root_ini`](#config_root_ini) * [`config_root_inifile`](#config_root_inifile) * [`ext_tool_enable`](#ext_tool_enable) * [`ext_tool_query`](#ext_tool_query) * [`ext_tool_enabled`](#ext_tool_enabled) * [`log_owner`](#log_owner) * [`log_group`](#log_group) * [`pool_purge`](#pool_purge) * [`reload_fpm_on_config_changes`](#reload_fpm_on_config_changes) ##### `ensure` Data type: `String` Default value: `$php::params::ensure` ##### `manage_repos` Data type: `Boolean` Default value: `$php::params::manage_repos` ##### `fpm` Data type: `Boolean` Default value: ``true`` ##### `fpm_service_enable` Data type: `Boolean` Default value: `$php::params::fpm_service_enable` ##### `fpm_service_ensure` Data type: `Enum['running', 'stopped']` Default value: `$php::params::fpm_service_ensure` ##### `fpm_service_name` Data type: `String[1]` Default value: `$php::params::fpm_service_name` ##### `fpm_service_provider` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `fpm_pools` Data type: `Hash` Default value: `$php::params::fpm_pools` ##### `fpm_global_pool_settings` Data type: `Hash` Default value: `{}` ##### `fpm_inifile` Data type: `Stdlib::Absolutepath` Default value: `$php::params::fpm_inifile` ##### `fpm_package` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `fpm_user` Data type: `String[1]` Default value: `$php::params::fpm_user` ##### `fpm_group` Data type: `String[1]` Default value: `$php::params::fpm_group` ##### `embedded` Data type: `Boolean` Default value: ``false`` ##### `dev` Data type: `Boolean` Default value: ``true`` ##### `composer` Data type: `Boolean` Default value: ``true`` ##### `pear` Data type: `Boolean` Default value: ``true`` ##### `pear_ensure` Data type: `String` Default value: `$php::params::pear_ensure` ##### `phpunit` Data type: `Boolean` Default value: ``false`` ##### `apache_config` Data type: `Boolean` Default value: ``false`` ##### `proxy_type` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `proxy_server` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `extensions` Data type: `Hash` Default value: `{}` ##### `settings` Data type: `Hash` Default value: `{}` ##### `cli_settings` Data type: `Hash` Default value: `{}` ##### `package_prefix` Data type: `Optional[String[1]]` Default value: `$php::params::package_prefix` ##### `config_root_ini` Data type: `Stdlib::Absolutepath` Default value: `$php::params::config_root_ini` ##### `config_root_inifile` Data type: `Stdlib::Absolutepath` Default value: `$php::params::config_root_inifile` ##### `ext_tool_enable` Data type: `Optional[Stdlib::Absolutepath]` Default value: `$php::params::ext_tool_enable` ##### `ext_tool_query` Data type: `Optional[Stdlib::Absolutepath]` Default value: `$php::params::ext_tool_query` ##### `ext_tool_enabled` Data type: `Boolean` Default value: `$php::params::ext_tool_enabled` ##### `log_owner` Data type: `String` Default value: `$php::params::fpm_user` ##### `log_group` Data type: `String` Default value: `$php::params::fpm_group` ##### `pool_purge` Data type: `Boolean` Default value: `$php::params::pool_purge` ##### `reload_fpm_on_config_changes` Data type: `Boolean` Default value: ``true`` ### `php::apache_config` Install and configure php apache settings === Parameters [*inifile*] The path to the ini php-apache ini file [*settings*] Hash with nested hash of key => value to set in inifile #### Parameters The following parameters are available in the `php::apache_config` class: * [`inifile`](#inifile) * [`settings`](#settings) ##### `inifile` Data type: `Stdlib::Absolutepath` Default value: `$php::params::apache_inifile` ##### `settings` Data type: `Hash` Default value: `{}` ### `php::cli` Install and configure php CLI === Parameters [*inifile*] The path to the ini php5-cli ini file [*settings*] Hash with nested hash of key => value to set in inifile #### Parameters The following parameters are available in the `php::cli` class: * [`inifile`](#inifile) * [`settings`](#settings) ##### `inifile` Data type: `Stdlib::Absolutepath` Default value: `$php::params::cli_inifile` ##### `settings` Data type: `Hash` Default value: `{}` ### `php::composer` Install composer package manager === Parameters [*source*] Holds URL to the Composer source file [*path*] Holds path to the Composer executable [*channel*] Holds the Update channel (stable|preview|snapshot|1|2) [*proxy_type*] proxy server type (none|http|https|ftp) [*proxy_server*] specify a proxy server, with port number if needed. ie: https://example.com:8080. [*auto_update*] Defines if composer should be auto updated [*max_age*] Defines the time in days after which an auto-update gets executed [*root_group*] UNIX group of the root user #### Parameters The following parameters are available in the `php::composer` class: * [`source`](#source) * [`path`](#path) * [`proxy_type`](#proxy_type) * [`proxy_server`](#proxy_server) * [`channel`](#channel) * [`auto_update`](#auto_update) * [`max_age`](#max_age) * [`root_group`](#root_group) ##### `source` Data type: `String` Default value: `$php::params::composer_source` ##### `path` Data type: `Stdlib::Absolutepath` Default value: `$php::params::composer_path` ##### `proxy_type` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `proxy_server` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `channel` Data type: `Php::ComposerChannel` Default value: `'stable'` ##### `auto_update` Data type: `Boolean` Default value: ``true`` ##### `max_age` Data type: `Integer` Default value: `$php::params::composer_max_age` ##### `root_group` Data type: `Variant[Integer, String]` Default value: `$php::params::root_group` ### `php::composer::auto_update` Install composer package manager === Parameters [*max_age*] Defines number of days after which Composer should be updated [*source*] Holds URL to the Composer source file [*path*] Holds path to the Composer executable [*channel*] Holds the Update channel (stable|preview|snapshot|1|2) [*proxy_type*] proxy server type (none|http|https|ftp) [*proxy_server*] specify a proxy server, with port number if needed. ie: https://example.com:8080. === Examples include php::composer::auto_update class { "php::composer::auto_update": "max_age" => 90 } #### Parameters The following parameters are available in the `php::composer::auto_update` class: * [`max_age`](#max_age) * [`source`](#source) * [`path`](#path) * [`channel`](#channel) * [`proxy_type`](#proxy_type) * [`proxy_server`](#proxy_server) ##### `max_age` Data type: `Integer[1]` ##### `source` Data type: `String[1]` ##### `path` Data type: `Stdlib::Absolutepath` ##### `channel` Data type: `Php::ComposerChannel` Default value: `'stable'` ##### `proxy_type` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `proxy_server` Data type: `Optional[String[1]]` Default value: ``undef`` ### `php::dev` Install the development package with headers for PHP === Parameters [*ensure*] The PHP ensure of PHP dev to install [*package*] The package name for the PHP development files #### Parameters The following parameters are available in the `php::dev` class: * [`ensure`](#ensure) * [`package`](#package) * [`manage_repos`](#manage_repos) ##### `ensure` Data type: `String` Default value: `$php::ensure` ##### `package` Data type: `String` Default value: `"${php::package_prefix}${php::params::dev_package_suffix}"` ##### `manage_repos` Data type: `Boolean` Default value: `$php::manage_repos` ### `php::embedded` Install and configure php embedded SAPI === Parameters [*inifile*] The path to the ini php5-embeded ini file [*settings*] Hash with nested hash of key => value to set in inifile [*package*] Specify which package to install [*ensure*] Specify which version of the package to install #### Parameters The following parameters are available in the `php::embedded` class: * [`ensure`](#ensure) * [`package`](#package) * [`inifile`](#inifile) * [`settings`](#settings) ##### `ensure` Data type: `String` Default value: `$php::ensure` ##### `package` Data type: `String` Default value: `"${php::package_prefix}${php::params::embedded_package_suffix}"` ##### `inifile` Data type: `Stdlib::Absolutepath` Default value: `$php::params::embedded_inifile` ##### `settings` Data type: `Hash` Default value: `{}` ### `php::fpm` Install and configure mod_php for fpm === Parameters [*user*] The user that php-fpm should run as [*group*] The group that php-fpm should run as [*service_enable*] Enable/disable FPM service [*service_ensure*] Ensure FPM service is either 'running' or 'stopped' [*service_name*] This is the name of the php-fpm service. It defaults to reasonable OS defaults but can be different in case of using php7.0/other OS/custom fpm service [*service_provider*] This is the name of the service provider, in case there is a non OS default service provider used to start FPM. Defaults to 'undef', pick system defaults. [*pools*] Hash of php::fpm::pool resources that will be created. Defaults to a single php::fpm::pool named www with default parameters. [*log_owner*] The php-fpm log owner [*log_group*] The group owning php-fpm logs [*package*] Specify which package to install [*ensure*] Specify which version of the package to install [*inifile*] Path to php.ini for fpm [*settings*] fpm settings hash [*global_pool_settings*] Hash of defaults params php::fpm::pool resources that will be created. Defaults is empty hash. [*pool_purge*] Whether to purge pool config files not created by this module [*reload_fpm_on_config_changes*] by default, we reload the service on changes. But certain options, like socket owner, will only be applied during a restart. If set to false, a restart will be executed instead of a reload. This default will be changed in a future release. #### Parameters The following parameters are available in the `php::fpm` class: * [`ensure`](#ensure) * [`user`](#user) * [`group`](#group) * [`service_ensure`](#service_ensure) * [`service_enable`](#service_enable) * [`service_name`](#service_name) * [`service_provider`](#service_provider) * [`package`](#package) * [`inifile`](#inifile) * [`settings`](#settings) * [`global_pool_settings`](#global_pool_settings) * [`pools`](#pools) * [`log_owner`](#log_owner) * [`log_group`](#log_group) * [`pool_purge`](#pool_purge) * [`reload_fpm_on_config_changes`](#reload_fpm_on_config_changes) ##### `ensure` Data type: `Optional[String]` Default value: `$php::ensure` ##### `user` Data type: `String[1]` Default value: `$php::fpm_user` ##### `group` Data type: `String[1]` Default value: `$php::fpm_group` ##### `service_ensure` Data type: `Enum['running', 'stopped']` Default value: `$php::fpm_service_ensure` ##### `service_enable` Data type: `Boolean` Default value: `$php::fpm_service_enable` ##### `service_name` Data type: `String[1]` Default value: `$php::fpm_service_name` ##### `service_provider` Data type: `Optional[String[1]]` Default value: `$php::fpm_service_provider` ##### `package` Data type: `String` Default value: `$php::real_fpm_package` ##### `inifile` Data type: `Stdlib::Absolutepath` Default value: `$php::fpm_inifile` ##### `settings` Data type: `Hash` Default value: `$php::real_settings` ##### `global_pool_settings` Data type: `Hash` Default value: `$php::real_fpm_global_pool_settings` ##### `pools` Data type: `Hash` Default value: `$php::real_fpm_pools` ##### `log_owner` Data type: `String[1]` Default value: `$php::log_owner` ##### `log_group` Data type: `String[1]` Default value: `$php::log_group` ##### `pool_purge` Data type: `Boolean` Default value: `$php::pool_purge` ##### `reload_fpm_on_config_changes` Data type: `Boolean` Default value: `$php::reload_fpm_on_config_changes` ### `php::fpm::config` Configure php-fpm service === Parameters [*config_file*] The path to the fpm config file [*user*] The user that runs php-fpm [*group*] The group that runs php-fpm [*inifile*] The path to ini file [*settings*] Nested hash of key => value to apply to php.ini [*pool_base_dir*] The folder that contains the php-fpm pool configs [*pool_purge*] Whether to purge pool config files not created by this module [*error_log*] Path to error log file. If it's set to "syslog", log is sent to syslogd instead of being written in a local file. [*log_level*] The php-fpm log level [*emergency_restart_threshold*] The php-fpm emergency_restart_threshold [*emergency_restart_interval*] The php-fpm emergency_restart_interval [*process_control_timeout*] The php-fpm process_control_timeout [*process_max*] The maximum number of processes FPM will fork. [*rlimit_files*] Set open file descriptor rlimit for the master process. [*systemd_interval*] The interval between health report notification to systemd [*log_owner*] The php-fpm log owner [*log_group*] The group owning php-fpm logs [*log_dir_mode*] The octal mode of the directory [*syslog_facility*] Used to specify what type of program is logging the message [*syslog_ident*] Prepended to every message [*root_group*] UNIX group of the root user [*pid_file*] Path to fpm pid file #### Parameters The following parameters are available in the `php::fpm::config` class: * [`config_file`](#config_file) * [`user`](#user) * [`group`](#group) * [`inifile`](#inifile) * [`pid_file`](#pid_file) * [`settings`](#settings) * [`pool_base_dir`](#pool_base_dir) * [`pool_purge`](#pool_purge) * [`error_log`](#error_log) * [`log_level`](#log_level) * [`emergency_restart_threshold`](#emergency_restart_threshold) * [`emergency_restart_interval`](#emergency_restart_interval) * [`process_control_timeout`](#process_control_timeout) * [`process_max`](#process_max) * [`rlimit_files`](#rlimit_files) * [`systemd_interval`](#systemd_interval) * [`log_owner`](#log_owner) * [`log_group`](#log_group) * [`log_dir_mode`](#log_dir_mode) * [`root_group`](#root_group) * [`syslog_facility`](#syslog_facility) * [`syslog_ident`](#syslog_ident) ##### `config_file` Data type: `Stdlib::Absolutepath` Default value: `$php::params::fpm_config_file` ##### `user` Data type: `String` Default value: `$php::params::fpm_user` ##### `group` Data type: `String` Default value: `$php::params::fpm_group` ##### `inifile` Data type: `String` Default value: `$php::params::fpm_inifile` ##### `pid_file` Data type: `Stdlib::Absolutepath` Default value: `$php::params::fpm_pid_file` ##### `settings` Data type: `Hash` Default value: `{}` ##### `pool_base_dir` Data type: `Stdlib::Absolutepath` Default value: `$php::params::fpm_pool_dir` ##### `pool_purge` Data type: `Boolean` Default value: ``false`` ##### `error_log` Data type: `String` Default value: `$php::params::fpm_error_log` ##### `log_level` Data type: `String` Default value: `'notice'` ##### `emergency_restart_threshold` Data type: `Integer` Default value: `0` ##### `emergency_restart_interval` Data type: `Php::Duration` Default value: `0` ##### `process_control_timeout` Data type: `Php::Duration` Default value: `0` ##### `process_max` Data type: `Integer` Default value: `0` ##### `rlimit_files` Data type: `Optional[Integer[1]]` Default value: ``undef`` ##### `systemd_interval` Data type: `Optional[Php::Duration]` Default value: ``undef`` ##### `log_owner` Data type: `String` Default value: `$php::params::fpm_user` ##### `log_group` Data type: `String` Default value: `$php::params::fpm_group` ##### `log_dir_mode` Data type: `Pattern[/^\d+$/]` Default value: `'0770'` ##### `root_group` Data type: `String[1]` Default value: `$php::params::root_group` ##### `syslog_facility` Data type: `String` Default value: `'daemon'` ##### `syslog_ident` Data type: `String` Default value: `'php-fpm'` ### `php::fpm::service` Manage fpm service === Parameters [*service_name*] name of the php-fpm service [*ensure*] 'ensure' value for the service [*enable*] Defines if the service is enabled [*provider*] Defines if the service provider to use [*reload_fpm_on_config_changes*] by default, we reload the service on changes. But certain options, like socket owner, will only be applied during a restart. If set to false, a restart will be executed instead of a reload. This default will be changed in a future release. #### Parameters The following parameters are available in the `php::fpm::service` class: * [`service_name`](#service_name) * [`ensure`](#ensure) * [`enable`](#enable) * [`provider`](#provider) * [`reload_fpm_on_config_changes`](#reload_fpm_on_config_changes) ##### `service_name` Data type: `String[1]` Default value: `$php::fpm::service_name` ##### `ensure` Data type: `Enum['running', 'stopped']` Default value: `$php::fpm::service_ensure` ##### `enable` Data type: `Boolean` Default value: `$php::fpm::service_enable` ##### `provider` Data type: `Optional[String[1]]` Default value: `$php::fpm::service_provider` ##### `reload_fpm_on_config_changes` Data type: `Boolean` Default value: `$php::fpm::reload_fpm_on_config_changes` ### `php::global` The php::global class. #### Parameters The following parameters are available in the `php::global` class: * [`inifile`](#inifile) * [`settings`](#settings) ##### `inifile` Data type: `Stdlib::Absolutepath` Default value: `$php::config_root_inifile` ##### `settings` Data type: `Hash` Default value: `{}` ### `php::globals` The php::globals class. #### Parameters The following parameters are available in the `php::globals` class: * [`php_version`](#php_version) * [`config_root`](#config_root) * [`fpm_pid_file`](#fpm_pid_file) * [`rhscl_mode`](#rhscl_mode) ##### `php_version` Data type: `Optional[Pattern[/^(rh-)?(php)?[578](\.)?[0-9]/]]` Default value: ``undef`` ##### `config_root` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ##### `fpm_pid_file` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ##### `rhscl_mode` Data type: `Optional[Enum['rhscl', 'remi']]` Default value: ``undef`` ### `php::packages` Install common PHP packages === Parameters [*ensure*] Specify which version of PHP packages to install [*names*] List of the names of the package to install [*names_to_prefix*] List of packages names that should be prefixed with the common package prefix `$php::package_prefix` #### Parameters The following parameters are available in the `php::packages` class: * [`ensure`](#ensure) * [`manage_repos`](#manage_repos) * [`names_to_prefix`](#names_to_prefix) * [`names`](#names) ##### `ensure` Data type: `String` Default value: `$php::ensure` ##### `manage_repos` Data type: `Boolean` Default value: `$php::manage_repos` ##### `names_to_prefix` Data type: `Array` Default value: `prefix($php::params::common_package_suffixes, $php::package_prefix)` ##### `names` Data type: `Array` Default value: `$php::params::common_package_names` ### `php::params` PHP params class ### `php::pear` Install PEAR package manager === Parameters [*ensure*] The package ensure of PHP pear to install and run pear auto_discover [*package*] The package name for PHP pear #### Parameters The following parameters are available in the `php::pear` class: * [`ensure`](#ensure) * [`package`](#package) * [`manage_repos`](#manage_repos) ##### `ensure` Data type: `String` Default value: `$php::pear_ensure` ##### `package` Data type: `Optional[String]` Default value: ``undef`` ##### `manage_repos` Data type: `Boolean` Default value: `$php::manage_repos` ### `php::phpunit` Install phpunit, PHP testing framework === Parameters [*source*] Holds URL to the phpunit source file [*path*] Holds path to the phpunit executable [*auto_update*] Defines if phpunit should be auto updated [*max_age*] Defines the time in days after which an auto-update gets executed #### Parameters The following parameters are available in the `php::phpunit` class: * [`source`](#source) * [`path`](#path) * [`root_group`](#root_group) * [`auto_update`](#auto_update) * [`max_age`](#max_age) ##### `source` Data type: `String` Default value: `$php::params::phpunit_source` ##### `path` Data type: `Stdlib::Absolutepath` Default value: `$php::params::phpunit_path` ##### `root_group` Data type: `String[1]` Default value: `$php::params::root_group` ##### `auto_update` Data type: `Boolean` Default value: ``true`` ##### `max_age` Data type: `Integer` Default value: `$php::params::phpunit_max_age` ### `php::phpunit::auto_update` Install phpunit package manager === Parameters [*max_age*] Defines number of days after which phpunit should be updated [*source*] Holds URL to the phpunit source file [*path*] Holds path to the phpunit executable #### Parameters The following parameters are available in the `php::phpunit::auto_update` class: * [`max_age`](#max_age) * [`source`](#source) * [`path`](#path) ##### `max_age` Data type: `Integer[1]` ##### `source` Data type: `String[1]` ##### `path` Data type: `Stdlib::Absolutepath` ### `php::repo` Configure package repository ### `php::repo::debian` Configure debian apt repo === Parameters [*location*] Location of the apt repository [*release*] Release of the apt repository [*repos*] Apt repository names [*include_src*] Add source source repository [*key*] Public key in apt::key format [*dotdeb*] Enable special dotdeb handling [*sury*] Enable special sury handling #### Parameters The following parameters are available in the `php::repo::debian` class: * [`location`](#location) * [`release`](#release) * [`repos`](#repos) * [`include_src`](#include_src) * [`key`](#key) * [`dotdeb`](#dotdeb) * [`sury`](#sury) ##### `location` Data type: `String[1]` Default value: `'https://packages.dotdeb.org'` ##### `release` Data type: `String[1]` Default value: `'wheezy-php56'` ##### `repos` Data type: `String[1]` Default value: `'all'` ##### `include_src` Data type: `Boolean` Default value: ``false`` ##### `key` Data type: `Hash` Default value: `{ 'id' => '6572BBEF1B5FF28B28B706837E3F070089DF5277', 'source' => 'http://www.dotdeb.org/dotdeb.gpg', }` ##### `dotdeb` Data type: `Boolean` Default value: ``true`` ##### `sury` Data type: `Boolean` Default value: ``true`` ### `php::repo::redhat` The php::repo::redhat class. #### Parameters The following parameters are available in the `php::repo::redhat` class: * [`yum_repo`](#yum_repo) ##### `yum_repo` Data type: `String[1]` Default value: `'remi_php56'` ### `php::repo::suse` Configure suse repo === Parameters [*reponame*] Name of the Zypper repository [*baseurl*] Base URL of the Zypper repository #### Parameters The following parameters are available in the `php::repo::suse` class: * [`reponame`](#reponame) * [`baseurl`](#baseurl) ##### `reponame` Data type: `String[1]` Default value: `'mayflower-php56'` ##### `baseurl` Data type: `String[1]` Default value: `'http://download.opensuse.org/repositories/home:/mayflower:/php5.6_based/SLE_11_SP3/'` ### `php::repo::ubuntu` Configure ubuntu ppa === Parameters [*version*] PHP version to manage (e.g. 5.6) #### Parameters The following parameters are available in the `php::repo::ubuntu` class: * [`version`](#version) ##### `version` Data type: `Pattern[/^\d\.\d/]` Default value: `'5.6'` ## Defined types ### `php::apache_vhost` Configures an apache vhost for php === Parameters [*vhost*] The vhost address [*docroot*] The vhost docroot [*port*] The vhost port [*default_vhost*] defines if vhost is the default vhost [*fastcgi_socket*] address of the fastcgi socket #### Parameters The following parameters are available in the `php::apache_vhost` defined type: * [`vhost`](#vhost) * [`docroot`](#docroot) * [`port`](#port) * [`default_vhost`](#default_vhost) * [`fastcgi_socket`](#fastcgi_socket) ##### `vhost` Data type: `String[1]` Default value: `'example.com'` ##### `docroot` Data type: `Stdlib::Absolutepath` Default value: `'/var/www'` ##### `port` Data type: `Integer[1]` Default value: `80` ##### `default_vhost` Data type: `Boolean` Default value: ``true`` ##### `fastcgi_socket` Data type: `String[1]` Default value: `'fcgi://127.0.0.1:9000/$1'` ### `php::config` Configure php.ini settings for a PHP SAPI === Parameters [*file*] The path to ini file [*config*] Nested hash of key => value to apply to php.ini === Examples php::config { '$unique-name': file => '$full_path_to_ini_file' config => { {'Date/date.timezone' => 'Europe/Berlin'} } } #### Parameters The following parameters are available in the `php::config` defined type: * [`file`](#file) * [`config`](#config) ##### `file` Data type: `Stdlib::Absolutepath` ##### `config` Data type: `Hash` ### `php::config::setting` Configure php.ini settings === Parameters [*key*] The key of the value, like `ini_setting` [*file*] The path to ini file [*value*] The value to set === Examples php::config::setting { 'Date/date.timezone': file => '$full_path_to_ini_file' value => 'Europe/Berlin' } #### Parameters The following parameters are available in the `php::config::setting` defined type: * [`key`](#key) * [`value`](#value) * [`file`](#file) ##### `key` Data type: `String[1]` ##### `value` Data type: `Variant[Integer, String]` ##### `file` Data type: `Stdlib::Absolutepath` ### `php::extension` Install a PHP extension package === Parameters [*ensure*] The ensure of the package to install Could be "present", "absent", "latest", "installed" or a pinned version [*package_prefix*] Prefix to prepend to the package name for the package provider [*package_name*] Full package name for the package provider (e.g. php7.2-xml for simlexml extension) [*provider*] The provider used to install the package Could be "pecl", "apt", "dpkg" or any other OS package provider If set to "none", no package will be installed [*source*] The source to install the extension from. Possible values depend on the *provider* used [*so_name*] The DSO name of the package (e.g. opcache for zendopcache) [*ini_prefix*] An optional filename prefix for the settings file of the extension [*php_api_version*] This parameter is used to build the full path to the extension directory for zend_extension in PHP < 5.5 (e.g. 20100525) [*header_packages*] System packages dependencies to install for extensions (e.g. for memcached libmemcached-dev on Debian) [*compiler_packages*] System packages dependencies to install for compiling extensions (e.g. build-essential on Debian) [*zend*] Boolean parameter, whether to load extension as zend_extension. Defaults to false. [*settings*] Hash of parameters for the specific extension, which will be written to the extensions config file by php::extension::config or a hash of mutliple settings files, each with parameters (multifile_settings must be true) (f.ex. {p => '..'} or {'bz2' => {..}, {'math' => {...}}) [*multifile_settings*] Set this to true if you specify multiple setting files in *settings*. This must be used when the PHP package distribution bundles extensions in a single package (like 'common' bundles extensions 'bz2', ...) and each of the extension comes with a separate settings file. [*settings_prefix*] Boolean/String parameter, whether to prefix all setting keys with the extension name or specified name. Defaults to false. [*sapi*] String parameter, whether to specify ALL sapi or a specific sapi. Defaults to ALL. [*responsefile*] File containing answers for interactive extension setup. Supported *providers*: pear, pecl. [*install_options*] Array of String or Hash options to pass to the provider. #### Parameters The following parameters are available in the `php::extension` defined type: * [`ensure`](#ensure) * [`provider`](#provider) * [`source`](#source) * [`so_name`](#so_name) * [`ini_prefix`](#ini_prefix) * [`php_api_version`](#php_api_version) * [`package_prefix`](#package_prefix) * [`package_name`](#package_name) * [`zend`](#zend) * [`settings`](#settings) * [`multifile_settings`](#multifile_settings) * [`sapi`](#sapi) * [`settings_prefix`](#settings_prefix) * [`responsefile`](#responsefile) * [`header_packages`](#header_packages) * [`compiler_packages`](#compiler_packages) * [`install_options`](#install_options) ##### `ensure` Data type: `String` Default value: `$php::ensure` ##### `provider` Data type: `Optional[Php::Provider]` Default value: ``undef`` ##### `source` Data type: `Optional[String]` Default value: ``undef`` ##### `so_name` Data type: `Optional[String]` Default value: ``undef`` ##### `ini_prefix` Data type: `Optional[String]` Default value: ``undef`` ##### `php_api_version` Data type: `Optional[String]` Default value: ``undef`` ##### `package_prefix` Data type: `String` Default value: `$php::package_prefix` ##### `package_name` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `zend` Data type: `Boolean` Default value: ``false`` ##### `settings` Data type: `Variant[Hash, Hash[String, Hash]]` Default value: `{}` ##### `multifile_settings` Data type: `Boolean` Default value: ``false`` ##### `sapi` Data type: `Php::Sapi` Default value: `'ALL'` ##### `settings_prefix` Data type: `Variant[Boolean, String]` Default value: ``false`` ##### `responsefile` Data type: `Optional[Stdlib::AbsolutePath]` Default value: ``undef`` ##### `header_packages` Data type: `Variant[String, Array[String]]` Default value: `[]` ##### `compiler_packages` Data type: `Variant[String, Array[String]]` Default value: `$php::params::compiler_packages` ##### `install_options` Data type: `Php::InstallOptions` Default value: ``undef`` ### `php::extension::config` Configure a PHP extension package === Parameters [*ensure*] The ensure of the package to install Could be "latest", "installed" or a pinned version [*provider*] The provider used to install the package Could be "pecl", "apt", "dpkg" or any other OS package provider If set to "none", no package will be installed [*so_name*] The DSO name of the package (e.g. opcache for zendopcache) [*ini_prefix*] An optional filename prefix for the settings file of the extension [*php_api_version*] This parameter is used to build the full path to the extension directory for zend_extension in PHP < 5.5 (e.g. 20100525) [*header_packages*] System packages dependencies to install for extensions (e.g. for memcached libmemcached-dev on Debian) [*compiler_packages*] System packages dependencies to install for compiling extensions (e.g. build-essential on Debian) [*zend*] Boolean parameter, whether to load extension as zend_extension. Defaults to false. [*settings*] Nested hash of global config parameters for php.ini [*settings_prefix*] Boolean/String parameter, whether to prefix all setting keys with the extension name or specified name. Defaults to false. [*sapi*] String parameter, whether to specify ALL sapi or a specific sapi. Defaults to ALL. #### Parameters The following parameters are available in the `php::extension::config` defined type: * [`ensure`](#ensure) * [`provider`](#provider) * [`so_name`](#so_name) * [`ini_prefix`](#ini_prefix) * [`php_api_version`](#php_api_version) * [`zend`](#zend) * [`settings`](#settings) * [`settings_prefix`](#settings_prefix) * [`sapi`](#sapi) ##### `ensure` Data type: `String` Default value: `'installed'` ##### `provider` Data type: `Optional[Php::Provider]` Default value: ``undef`` ##### `so_name` Data type: `Optional[String]` Default value: `downcase($name)` ##### `ini_prefix` Data type: `Optional[String]` Default value: ``undef`` ##### `php_api_version` Data type: `Optional[String]` Default value: ``undef`` ##### `zend` Data type: `Boolean` Default value: ``false`` ##### `settings` Data type: `Hash` Default value: `{}` ##### `settings_prefix` Data type: `Variant[Boolean, String]` Default value: ``false`` ##### `sapi` Data type: `Php::Sapi` Default value: `'ALL'` ### `php::extension::install` Install a PHP extension package === Parameters [*ensure*] The ensure of the package to install Could be "latest", "installed" or a pinned version [*package_prefix*] Prefix to prepend to the package name for the package provider [*package_name*] Full package name for the package provider (e.g. php7.2-xml for simlexml extension) [*provider*] The provider used to install the package Could be "pecl", "apt", "dpkg" or any other OS package provider If set to "none", no package will be installed [*source*] The source to install the extension from. Possible values depend on the *provider* used [*header_packages*] System packages dependencies to install for extensions (e.g. for memcached libmemcached-dev on Debian) [*compiler_packages*] System packages dependencies to install for compiling extensions (e.g. build-essential on Debian) [*responsefile*] File containing answers for interactive extension setup. Supported *providers*: pear, pecl. [*install_options*] Array of String or Hash options to pass to the provider. #### Parameters The following parameters are available in the `php::extension::install` defined type: * [`ensure`](#ensure) * [`provider`](#provider) * [`source`](#source) * [`package_prefix`](#package_prefix) * [`package_name`](#package_name) * [`responsefile`](#responsefile) * [`header_packages`](#header_packages) * [`compiler_packages`](#compiler_packages) * [`install_options`](#install_options) ##### `ensure` Data type: `String` Default value: `'installed'` ##### `provider` Data type: `Optional[Php::Provider]` Default value: ``undef`` ##### `source` Data type: `Optional[String]` Default value: ``undef`` ##### `package_prefix` Data type: `String` Default value: `$php::package_prefix` ##### `package_name` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `responsefile` Data type: `Optional[Stdlib::AbsolutePath]` Default value: ``undef`` ##### `header_packages` Data type: `Variant[String, Array[String]]` Default value: `[]` ##### `compiler_packages` Data type: `Variant[String, Array[String]]` Default value: `$php::params::compiler_packages` ##### `install_options` Data type: `Php::InstallOptions` Default value: ``undef`` ### `php::fpm::pool` Configure fpm pools === Parameters See the official php-fpm documentation for parameters that are not documented here: http://php.net/manual/en/install.fpm.configuration.php. [*ensure*] Remove pool if set to `'absent'`, add otherwise [*listen*] On what socket to listen for FastCGI connections, i.e. `'127.0.0.1:9000'' or `'/var/run/php5-fpm.sock'` [*listen_backlog*] [*listen_allowed_clients*] [*listen_owner*] Set owner of the Unix socket [*listen_group*] Set the group of the Unix socket [*listen_mode*] [*user*] The user that php-fpm should run as [*group*] The group that php-fpm should run as [*apparmor_hat*] The Apparmor hat to use [*pm*] [*pm_max_children*] [*pm_start_servers*] [*pm_min_spare_servers*] [*pm_max_spare_servers*] [*pm_max_requests*] [*pm_process_idle_timeout*] [*pm_status_path*] [*ping_path*] [*ping_response*] [*access_log*] The path to the file to write access log requests to [*access_log_format*] The format to save the access log entries as [*request_terminate_timeout*] [*request_slowlog_timeout*] [*security_limit_extensions*] [*slowlog*] [*template*] The template to use for the pool [*rlimit_files*] [*rlimit_core*] [*chroot*] [*chdir*] [*catch_workers_output*] [*include*] Other configuration files to include on this pool [*env*] List of environment variables that are passed to the php-fpm from the outside and will be available to php scripts in this pool [*env_value*] Hash of environment variables and values as strings to use in php scripts in this pool [*clear_env*] Whether the environment should be cleared. [*options*] An optional hash for any other data. [*php_value*] Hash of php_value directives [*php_flag*] Hash of php_flag directives [*php_admin_value*] Hash of php_admin_value directives [*php_admin_flag*] Hash of php_admin_flag directives [*php_directives*] List of custom directives that are appended to the pool config [*root_group*] UNIX group of the root user [*base_dir*] The folder that contains the php-fpm pool configs. This defaults to a sensible default depending on your operating system, like '/etc/php5/fpm/pool.d' or '/etc/php-fpm.d' #### Parameters The following parameters are available in the `php::fpm::pool` defined type: * [`ensure`](#ensure) * [`listen`](#listen) * [`listen_backlog`](#listen_backlog) * [`listen_allowed_clients`](#listen_allowed_clients) * [`listen_owner`](#listen_owner) * [`listen_group`](#listen_group) * [`listen_mode`](#listen_mode) * [`user`](#user) * [`group`](#group) * [`apparmor_hat`](#apparmor_hat) * [`pm`](#pm) * [`pm_max_children`](#pm_max_children) * [`pm_start_servers`](#pm_start_servers) * [`pm_min_spare_servers`](#pm_min_spare_servers) * [`pm_max_spare_servers`](#pm_max_spare_servers) * [`pm_max_requests`](#pm_max_requests) * [`pm_process_idle_timeout`](#pm_process_idle_timeout) * [`pm_status_path`](#pm_status_path) * [`ping_path`](#ping_path) * [`ping_response`](#ping_response) * [`access_log`](#access_log) * [`access_log_format`](#access_log_format) * [`request_terminate_timeout`](#request_terminate_timeout) * [`request_slowlog_timeout`](#request_slowlog_timeout) * [`security_limit_extensions`](#security_limit_extensions) * [`slowlog`](#slowlog) * [`template`](#template) * [`rlimit_files`](#rlimit_files) * [`rlimit_core`](#rlimit_core) * [`chroot`](#chroot) * [`chdir`](#chdir) * [`catch_workers_output`](#catch_workers_output) * [`include`](#include) * [`env`](#env) * [`env_value`](#env_value) * [`clear_env`](#clear_env) * [`options`](#options) * [`php_value`](#php_value) * [`php_flag`](#php_flag) * [`php_admin_value`](#php_admin_value) * [`php_admin_flag`](#php_admin_flag) * [`php_directives`](#php_directives) * [`root_group`](#root_group) * [`base_dir`](#base_dir) ##### `ensure` Data type: `Enum['present', 'absent']` Default value: `'present'` ##### `listen` Data type: `String[1]` Default value: `'127.0.0.1:9000'` ##### `listen_backlog` Data type: `Integer[-1]` Default value: `-` ##### `listen_allowed_clients` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `listen_owner` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `listen_group` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `listen_mode` Data type: `Optional[Stdlib::Filemode]` Default value: ``undef`` ##### `user` Data type: `String[1]` Default value: `$php::fpm::config::user` ##### `group` Data type: `String[1]` Default value: `$php::fpm::config::group` ##### `apparmor_hat` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `pm` Data type: `String[1]` Default value: `'dynamic'` ##### `pm_max_children` Data type: `Integer[1]` Default value: `50` ##### `pm_start_servers` -Data type: `Integer[1]` +Data type: `Integer[0]` Default value: `5` ##### `pm_min_spare_servers` Data type: `Integer[0]` Default value: `5` ##### `pm_max_spare_servers` Data type: `Integer[0]` Default value: `35` ##### `pm_max_requests` Data type: `Integer[0]` Default value: `0` ##### `pm_process_idle_timeout` Data type: `Php::Duration` Default value: `'10s'` ##### `pm_status_path` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ##### `ping_path` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ##### `ping_response` Data type: `String[1]` Default value: `'pong'` ##### `access_log` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ##### `access_log_format` Data type: `String[1]` Default value: `'"%R - %u %t \"%m %r\" %s"'` ##### `request_terminate_timeout` Data type: `Php::Duration` Default value: `0` ##### `request_slowlog_timeout` Data type: `Php::Duration` Default value: `0` ##### `security_limit_extensions` Data type: `Array[String[1]]` Default value: `[]` ##### `slowlog` Data type: `Stdlib::Absolutepath` Default value: `"/var/log/php-fpm/${name}-slow.log"` ##### `template` Data type: `String[1]` Default value: `'php/fpm/pool.conf.erb'` ##### `rlimit_files` Data type: `Optional[Integer]` Default value: ``undef`` ##### `rlimit_core` Data type: `Optional[Integer]` Default value: ``undef`` ##### `chroot` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ##### `chdir` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ##### `catch_workers_output` Data type: `Enum['yes', 'no']` Default value: `'no'` ##### `include` Data type: `Optional[String[1]]` Default value: ``undef`` ##### `env` Data type: `Array[String[1]]` Default value: `[]` ##### `env_value` Data type: `Hash` Default value: `{}` ##### `clear_env` Data type: `Boolean` Default value: ``true`` ##### `options` Data type: `Hash` Default value: `{}` ##### `php_value` Data type: `Hash` Default value: `{}` ##### `php_flag` Data type: `Hash` Default value: `{}` ##### `php_admin_value` Data type: `Hash` Default value: `{}` ##### `php_admin_flag` Data type: `Hash` Default value: `{}` ##### `php_directives` Data type: `Array[String[1]]` Default value: `[]` ##### `root_group` Data type: `String[1]` Default value: `$php::params::root_group` ##### `base_dir` Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` ## Functions ### `ensure_prefix` Type: Ruby 3.x API This function ensures a prefix for all elements in an array or the keys in a hash. *Examples:* ensure_prefix({'a' => 1, 'b' => 2, 'p.c' => 3}, 'p.') Will return: { 'p.a' => 1, 'p.b' => 2, 'p.c' => 3, } ensure_prefix(['a', 'p.b', 'c'], 'p.') Will return: ['p.a', 'p.b', 'p.c'] #### `ensure_prefix()` This function ensures a prefix for all elements in an array or the keys in a hash. *Examples:* ensure_prefix({'a' => 1, 'b' => 2, 'p.c' => 3}, 'p.') Will return: { 'p.a' => 1, 'p.b' => 2, 'p.c' => 3, } ensure_prefix(['a', 'p.b', 'c'], 'p.') Will return: ['p.a', 'p.b', 'p.c'] Returns: `Any` ### `to_hash_settings` Type: Ruby 3.x API This function converts a +{key => value}+ hash into a nested hash and can add an id to the outer key. The optional id string as second parameter is prepended to the resource name. *Examples:* to_hash_settings({'a' => 1, 'b' => 2}) Would return: { 'a' => {'key' => 'a', 'value' => 1}, 'b' => {'key' => 'b', 'value' => 2} } and: to_hash_settings({'a' => 1, 'b' => 2}, 'foo') Would return: { 'foo: a' => {'key' => 'a', 'value' => 1}, 'foo: b' => {'key' => 'b', 'value' => 2} } #### `to_hash_settings()` This function converts a +{key => value}+ hash into a nested hash and can add an id to the outer key. The optional id string as second parameter is prepended to the resource name. *Examples:* to_hash_settings({'a' => 1, 'b' => 2}) Would return: { 'a' => {'key' => 'a', 'value' => 1}, 'b' => {'key' => 'b', 'value' => 2} } and: to_hash_settings({'a' => 1, 'b' => 2}, 'foo') Would return: { 'foo: a' => {'key' => 'a', 'value' => 1}, 'foo: b' => {'key' => 'b', 'value' => 2} } Returns: `Any` ## Data types ### `Php::ComposerChannel` The Php::ComposerChannel data type. Alias of ```puppet Enum['stable', 'preview', 'snapshot', '1', '2'] ``` ### `Php::Duration` A duration in seconds are with an unit Alias of ```puppet Variant[Integer[0], Pattern[/^\d+[smhd]?$/]] ``` ### `Php::InstallOptions` The Php::InstallOptions data type. Alias of ```puppet Optional[Array[ Variant[ String, Hash[String, String] ] ]] ``` ### `Php::Provider` The Php::Provider data type. Alias of ```puppet Enum['none', 'pecl', 'pear', 'dpkg', 'apt', 'yum', 'rpm', 'dnf', 'up2date', 'zypper', 'rug', 'freebsd', 'pkgng', 'ports', 'portupgrade'] ``` ### `Php::Sapi` The Php::Sapi data type. Alias of ```puppet Enum['ALL', 'cli', 'fpm', 'apache2'] ``` diff --git a/metadata.json b/metadata.json index 3f35171..1d1cd27 100644 --- a/metadata.json +++ b/metadata.json @@ -1,85 +1,85 @@ { "name": "puppet-php", - "version": "8.0.2-rc0", + "version": "8.0.2", "author": "Vox Pupuli", "summary": "Generic PHP module that supports many platforms", "license": "MIT", "source": "https://github.com/voxpupuli/puppet-php", "project_page": "https://github.com/voxpupuli/puppet-php", "issues_url": "https://github.com/voxpupuli/puppet-php/issues", "description": "Puppet module that aims to manage PHP and extensions in a generic way on many platforms with sane defaults and easy configuration", "dependencies": [ { "name": "puppetlabs/stdlib", "version_requirement": ">= 4.16.0 < 9.0.0" }, { "name": "puppetlabs/apt", "version_requirement": ">= 4.4.0 < 9.0.0" }, { "name": "puppetlabs/inifile", "version_requirement": ">= 1.4.1 < 6.0.0" }, { "name": "puppet/zypprepo", "version_requirement": ">= 2.0.0 < 5.0.0" }, { "name": "puppet/archive", "version_requirement": ">= 1.0.0 < 8.0.0" } ], "requirements": [ { "name": "puppet", "version_requirement": ">= 6.1.0 < 8.0.0" } ], "operatingsystem_support": [ { "operatingsystem": "Ubuntu", "operatingsystemrelease": [ "18.04", "20.04" ] }, { "operatingsystem": "Debian", "operatingsystemrelease": [ "10", "11" ] }, { "operatingsystem": "RedHat", "operatingsystemrelease": [ "7" ] }, { "operatingsystem": "CentOS", "operatingsystemrelease": [ "7" ] }, { "operatingsystem": "FreeBSD", "operatingsystemrelease": [ "11" ] }, { "operatingsystem": "SLES", "operatingsystemrelease": [ "11" ] }, { "operatingsystem": "OpenSUSE" }, { "operatingsystem": "Archlinux" } ] }