Adoptable Cookbooks List

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

lita-cookbook

Supported Platforms

It will likely work on other Ubuntu versions, however the automatic methods of installing ruby and redis will have issues.

Tunable Attributes

All tunable attributes are in the lita heirarchy.

Key

Type

Description

Default

name

String

Name of chatbot

Lita Chatbot

mention_name

String

Name chatbot listens for

Value of name

version

String

Gemfile-style version dependency of lita to install

nil (latest)

config_coookbook

String

Name of cookbook where config template stored

lita (current)

config_template

String

Name of config template file

lita_config.rb.erb

locale

String/Symbol

Language to use

":en"

log_level

String/Symbol

Locale

":info"

admin

Array of Strings

Adapter specific IDs of Lita admins

empty

adapter

String/Symbol

Adapter to use for Lita instance

":shell"

adapter_version

Fixed

Version of adapter to use

nil (latest)

adapter_config

Hash

Hash of adapter specific configuration

emtpy

plugins

Array of Strings and/or Hashes

List of plugins to install and, optionally, Gemfile line options

empty

plugin_config

Hash of Hashes

Hash of plugin specific configuration

empty

gems

Array of Strings and/or Hashes

List of gems to install and, optionally, Gemfile line options

empty

packages

Array of Strings

List of system packages to install

SSL related stuff

http_host

String

IP address to bind http server

0.0.0.0

http_port

Numeric

Port to bind http server

8080

http_min_threads

Numeric

Min number of http threads

0

http_max_threads

Numeric

Max number of http threads

0

redis_host

String

IP address of redis instance

127.0.0.1

redis_port

Numeric

Port of redis instance

6379

install_dir

String

Lita home directory

/opt/lita

log_dir

String

Lita log directory

/opt/lita/logs

run_dir

String

Lita var/run directory

/opt/lita/run

daemon_user

String

User to run daemon as

nobody

ruby_install_type

String

How to install ruby depedency

auto

redis_install_type

String

How to install redis depedency

auto

Important Note

Many of the configuration elements (particularly in adapter or plugins) require symbols instead of strings. Since:

The cookbook is using Chef templates (ERB) to generate more ruby AND

ERB calls to_s on variables in the template

Even if I try to do var.inspect on the ERB variable, I can't handle those who pass their attributes via JSON (i.e. environment, role, or node)

you'll need to put your items that should be symbols in as strings For example:

default["lita"]["adapter"] = ":shell"

For the adapter and plugin config the template will try to detect strings that begin with : and not quote them in the lita_config.rb.

Usage

lita::default

Installs and configures the lita chatbot.

Configuration

Adapter

To make this effective you'll need to choose a non-default adapter from the Lita plugin page. The :shell adapter will not startup in daemon mode so the only way to test with it is to spin up a node, change into the node["lita"]["install_dir"] and run lita

Adapter Configuration

The adapter config is simply key/value pairs. If you need more complicated ruby configuratino (as some adapters do) you'll likely want to create a wrapper cookbook and set the config_cookbook and config_template attributes to your own template.

Plugins

Plugins can be listed in an array or, optionally listed as an array of hashes using plugin name as the key and Gemfile line syntax:

License and Authors

Copyright:: 2014 Harlan Barnes
Licensed 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 at
http://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.