scorpse / configuration
Manage Supervisor configuration in PHP
Requires
- php: >=7.3
- indigophp/ini: ^0.2
- symfony/options-resolver: ^2.6|^3.0|^4.0|^5.0
Requires (Dev)
- league/flysystem: ^1.0
- overtrue/phplint: ^2.0
- phpspec/phpspec: ^6.2
- phpstan/phpstan: ^0.12.32
- phpstan/phpstan-strict-rules: ^0.12.2
Suggests
- league/flysystem: Allows reading and writing to many filesystems.
This package is auto-updated.
Last update: 2024-11-27 22:47:10 UTC
README
Manage Supervisor configuration in PHP.
Install
Via Composer
composer require supervisorphp/configuration
Usage
Create a configuration using the builder.
$config = new \Supervisor\Configuration\Configuration; $renderer = new \Indigo\Ini\Renderer; $section = new \Supervisor\Configuration\Section\Supervisord(['identifier' => 'supervisor']); $config->addSection($section); $section = new \Supervisor\Configuration\Section\Program('test', ['command' => 'cat']); $config->addSection($section); echo $renderer->render($config->toArray());
The following sections are available in this package:
- Supervisord
- Supervisorctl
- UnixHttpServer
- InetHttpServer
- Includes**
- Group*
- Program*
- EventListener*
- FcgiProgram*
*Note: These sections has to be instantiated with a name and optionally a properties array:
$section = new \Supervisor\Configuration\Section\Program('test', ['command' => 'cat']);
**Note: The keyword include
is reserved in PHP, so the class name is Includes
, but the section name is still include
.
Existing configuration
You can parse your existing configuration, and use it as a Configuration
object.
$loader = new \Supervisor\Configuration\Loader\IniFileLoader('/etc/supervisor/supervisord.conf'); $configuration = $loader->load();
Available loaders:
IniFileLoader
FlysystemLoader
(Using league/flysystem)IniStringLoader
Writing configuration
You can use Writer
s to write configuration to various destinations.
$configuration = new \Supervisor\Configuration\Configuration; // Modify configuration... $writer = new \Supervisor\Configuration\Writer\IniFileWriter('/etc/supervisor/supervisord.conf'); $writer->write($configuration);
Available writers:
IniFileWriter
FlysystemWriter
(Using league/flysystem)
You can find detailed info about properties for each section here: http://supervisord.org/configuration.html
Testing
composer ci
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.