A Puppet module that installs and configures Lita bots
Lita is a Chatbot written in ruby supporting various chat services and handlers. This puppet module will configure a system for Lita and configure one or multiple bots.
- (optional) Manage bundler and packages required to build lita gems
- Lita bots and associated services
Installation of the lita module:
puppet module install evenup-lita
Insallation and creation of 'test bot' using the irc adapter
class { 'lita':
bundler_binpath => '/usr/bin'
}
lita::bot { 'test bot':
adapter => ':irc',
adapter_config => { 'server' => 'irc.freenode.net', 'channels' => ['#litabot'] }
}
Main class for setting bot global defaults and global configuration
#####base_path
String. Path Lita bots should be installed in
Default: /opt/lita
#####manage_bundler
Boolean. Should the bundler gem be managed by this module
Default: false
#####bundler_package
String. Name of the package to install if managing the bundler gem
Default: bundler
#####bundler_provider
String. Provider used to install the bundler gem if managed by this module
Default: gem
#####bundler_binpath
String. Path to the bundler binary
Default: /bin
#####extra_packages
String/Array of Strings. If needed, a list of packages to manage with this module to support gem building for bots
#####version
String. Default version of lita to use for bots
Default: latest
#####adapter
String. Default adapter to use for bots
Default: :shell
#####adapter_config
Hash. Default adapter configuration to use for bots
Default: {}
Format: {'key' => 'value'}
#####bot_name
String. Default name to use for bots
Default: lita
#####gems
Array of Strings. Default gems to use for bots
Default: []
#####mention_name
String. Default mention name to use for bots
Default: lita
#####plugins
String. Default plugins to use for bots
Default: []
#####plugin_config
Hash. Default plugin configuration to use for bots
Default: []
Format: { 'plugin_name' => { 'key' => 'value' } }
#####admins
Array of Strings. Default list of admins to use for bots
Default: []
#####locale
String. Default localeto use for bots
Default: en
#####log_level
String. Default log_level to use for bots
Default: :info
#####http_host
String. Default host to listen for HTTP requests on for bots
Default: '0.0.0.0'
#####http_port
Integer. Default port to listen for HTTP requests on for bots
Default: 8080
#####redis_host
String. Default redis host to use for bots
Default: '127.0.0.1'
#####redis_port
Integer. Default redis port to use for bots
Default: 6379
Configures individual lita bots.
#####version
String. Version of lita to use
Default: latest
#####adapter
String. Adapter to be used by this bot
Default: :shell
#####adapter_config
Hash. Adapter configuration for this bot
Default: {}
Format: {'key' => 'value'}
#####bot_name
String. Name to be used by the bot
Default: lita
#####gems
Array of Strings. Gems needed for this bot
Default: []
#####mention_name
String. Mention name for this bot
Default: lita
#####plugins
String. Plugins to be used by this bot
Default: []
#####plugin_config
Hash. Plugin configuration to be used by this bot
Default: []
Format: { 'plugin_name' => { 'key' => 'value' } }
#####admins
Array of Strings. Admin names of this bot
Default: []
#####locale
String. Locale to be used by this bot
Default: en
#####log_level
String. Log_level for this bot
Default: :info
#####http_host
String. Address to open listening port on for this bot
Default: '0.0.0.0'
#####http_port
Integer. Port to listen on for this bot
Default: 8080
#####redis_host
String. Redis host to use for this bot
Default: '127.0.0.1'
#####redis_port
Integer. Port to connect to redis on
Default: 6379
lita::params
: Default lita configuration
- Only tested on RHEL/CentOS 7
Improvements and bug fixes are greatly appreciated. See the contributing guide for information on adding and validating tests for PRs.