gitbugr / supervisor-configuration
Manage Supervisor configuration in PHP
Installs: 213
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 16
pkg:composer/gitbugr/supervisor-configuration
Requires
- php: >=8.0.2
- indigophp/ini: ^0.2
- symfony/options-resolver: ^5.0|^6.0|^7.0
Requires (Dev)
- league/flysystem: ^3.0
- overtrue/phplint: ^9.0
- phpspec/phpspec: ^7.0
- phpstan/phpstan: ^1.0
- phpstan/phpstan-strict-rules: ^1.0
- roave/security-advisories: dev-master
Suggests
- league/flysystem: Allows reading and writing to many filesystems.
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:
IniFileLoaderFlysystemLoader(Using league/flysystem)IniStringLoader
Writing configuration
You can use Writers 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:
IniFileWriterFlysystemWriter(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.