Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/poise/supervisor
Development repository for Opscode Cookbook supervisor
https://github.com/poise/supervisor
Last synced: 26 days ago
JSON representation
Development repository for Opscode Cookbook supervisor
- Host: GitHub
- URL: https://github.com/poise/supervisor
- Owner: poise
- License: apache-2.0
- Archived: true
- Created: 2012-05-25T18:05:44.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2019-10-15T15:40:19.000Z (about 5 years ago)
- Last Synced: 2024-07-02T02:38:24.915Z (5 months ago)
- Language: Ruby
- Size: 125 KB
- Stars: 64
- Watchers: 14
- Forks: 163
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-chef - supervisor_service - [(Python) supervisor](http://supervisord.org/). (Resources / Service Management/Init System)
README
supervisor Cookbook
===================[![Build Status](https://travis-ci.org/poise/supervisor.svg?branch=master)](https://travis-ci.org/poise/supervisor)
Installs (Python) supervisor and provides resources to configure services
Requirements
------------
### Platforms
Supports Debian and RHEL based systems. Tested on Ubuntu 12.04, 10.04, CentOS 6.5.### Cookbooks
- pythonAttributes
----------
- `node['supervisor']['inet_port']` - The port on which you want to serve the internal web-based admin dashboard, e.g. `'localhost:9001'`
- `node['supervisor']['inet_username']` - The username for authentication to this HTTP server
- `node['supervisor']['inet_password']` - The password for authentication to this HTTP server (supports both cleartext and SHA-1 hashed passwords prefixed by `{SHA}`)
- `node['supervisor']['dir']` - location of supervisor config files
- `node['supervisor']['log_dir']` - location of supervisor logs
- `node['supervisor']['logfile_maxbytes']` - max bytes for the supervisord logfile before it is rotated rotated, default `'50MB'`
- `node['supervisor']['logfile_backups']` - the number of backups of that logfile to keep, default `10`
- `node['supervisor']['loglevel']` - the minimum severity for those log messages, default `'info'`
- `node['supervisor']['minfds']` - The minimum number of file descriptors that must be available before supervisord will start successfully.
- `node['supervisor']['minprocs']` - The minimum number of process descriptors that must be available before supervisord will start successfully.
- `node['supervisor']['nocleanup']` - If true, retain child log files at startup, the default is false
- `node['supervisor']['version']` - Sets the version of supervisor to install, must be 3.0+ to use minprocs, minfds and nocleanup.
- `node['supervisor']['socket_file']` - location of supervisor socket file.
- `node['supervisor']['ctlplugins']` - entries for `supervisorctl` plugins.
For instance, to install [serialrestart](https://pypi.python.org/pypi/supervisor-serialrestart), you'd manually add this to your config:```text
[ctlplugin:serialrestart]
supervisor.ctl_factory = supervisorserialrestart.controllerplugin:make_serialrestart_controllerplugin
```
Which can be achieved using
```ruby
node.default['supervisor']['ctlplugins'] = ({
'serialrestart'=> 'supervisorserialrestart.controllerplugin:make_serialrestart_controllerplugin'
})
```Resources/Providers
-------------------
### supervisor\_service#### Actions
The default action is the array `[:enable, :start]`. Actions use the `supervisorctl` program.
- :enable - enables the service at boot time
- :disable - disables the service at boot time
- :start - starts the service
- :stop - stops the service
- :restart - restarts the service
- :reload - reloads the service#### Attribute Parameters
- `:service_name` - (*Name Attribute*), a string, name of the service
The following attributes are used in the program.conf.erb as the values for the corresponding configuration option. See [the supervisor documentation](http://supervisord.org/configuration.html#program-x-section-values) for more information about each setting, including applicable defaults.
- `:command` - string
- `:process_name` - string
- `:numprocs` - integer
- `:numprocs_start` - integer
- `:priority` - integer
- `:autostart` - true or false
- `:autorestart` - string, symbol, true or false
- `:startsecs` - integer
- `:startretries` - integer
- `:exitcodes` - array
- `:stopsignal` - string or symbol
- `:stopwaitsecs` - integer
- `:user` - string or nil
- `:redirect_stderr` - true or false
- `:stdout_logfile` - string
- `:stdout_logfile_maxbytes` - string
- `:stdout_logfile_backups` - string
- `:stdout_capture_maxbytes` - string
- `:stdout_events_enabled` - true or false
- `:stderr_logfile` - string
- `:stderr_logfile_maxbytes` - string
- `:stderr_logfile_backups` - integer
- `:stderr_capture_maxbytes` - string
- `:stderr_events_enabled` - true or false
- `:environment`- hash
- `:directory`- string or nil
- `:umask` - string or nil
- `:serverurl` - string#### Examples
```ruby
supervisor_service "celery" do
action :enable
autostart false
user "nobody"
end
```Recipes
-------
### default
Includes the python recipe, installs the supervisor PIP package and sets up supervisor.License & Authors
-----------------
- Author:: Noah Kantrowitz
- Author:: Gilles Devaux
- Author:: Sam Clements
- Author:: Chris Jerdonek```text
Copyright:: 2011-2012, Opscode, Inc
Copyright:: 2011, Formspring.meLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```