Skip to content

sleimanx2/configuration

 
 

Repository files navigation

Supervisor Configuration

Latest Version Software License Build Status Code Coverage Quality Score Total Downloads

Manage Supervisor configuration in PHP.

Install

Via Composer

$ composer require supervisorphp/configuration

Usage

Create a configuration using the builder.

use Supervisor\Configuration\Configuration;
use Supervisor\Configuration\Section\Supervisord;
use Supervisor\Configuration\Section\Program;
use Indigophp\Ini\Rendere;

$config = new Configuration;
$renderer = new Renderer;

$section = new Supervisord(['identifier' => 'supervisor']);
$config->addSection($section);

$section = new Program('test', ['command' => 'cat']);
$config->addSection($section);

echo $renderer->render($config->toArray());

The following sections are available in this pacakge:

  • 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 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.

use Supervisor\Configuration\Configuration;
use Supervisor\Configuration\Loader\IniFileLoader;

$parser = new File('/etc/supervisor/supervisord.conf');

$configuration = new Configuration;

// argument is optional, returns a new Configuration object if not passed
$parser->parse($configuration);

Available parsers:

Writting configuration

You can use Writers to write configuration to various destinations.

use Supervisor\Configuration;
use Supervisor\Configuration\Writer\File;

// As a second parameter you can optionally pass an instance of Supervisor\Configuration\Renderer
$writer = new File('/etc/supervisor/supervisord.conf');

$configuration = new Configuration;

$writer->write($configuration);

Available writers:

You can find detailed info about properties for each section here: https://supervisord.org/configuration.html

Testing

$ composer test

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Manage Supervisor configuration from PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%