Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

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.

Select Badges

Select Supported Platforms

Select Status

RSS

prosody (6) Versions 0.5.0

Installs/Configures prosody

Policyfile
Berkshelf
Knife
cookbook 'prosody', '= 0.5.0', :supermarket
cookbook 'prosody', '= 0.5.0'
knife supermarket install prosody
knife supermarket download prosody
README
Dependencies
Quality -%

Build Status

Prosody Chef Cookbook

Description

The default recipe will install and configure Prosody xmpp server.

The cookbook also provides a Chef LWRP to manage user accounts and virtualhosts.

Requirements

Chef

Tested on chef 11

Cookbooks

Platforms

  • Debian
  • Ubuntu

Recipes

default

This recipe ensures prosody is installed and configured.
Defaults to package installation and sets up a vhost named by your domain.

Set node['prosody']['install_type'] to source if wanted.

Include prosody::package or prosody::source directly to prevent vhost generation on local domain.

Attributes

install_type

Will configure the install type. "package" or "source" allowed

use_libevent

This will configure prosody to use libevent. Read more here. May be true of false, defaults to true.

allow_registration

This will allow public registration for all virtualhosts globally. May be true or false, defaults to false.

c2s_require_encryption

This will force encryption for client to server connections. May be true or false, defaults to true.

s2s_secure_auth

If enabled this will require encryption and certificate authentication. Defaults to true.

s2s_insecure_domains

This is an array of servers that may have self signed certificates or don't support TLS at all (such as gmail.com and all Google-host-domains). By default this is an empty array.

s2s_secure_domains

If you choose to not required certificate authentication (s2s_secure_auth), but you want to be sure certain domains are always securely authenticated, you can provide an array or secure domains. This defaults to an empty array.

package

This is the package that will be installed. It current defaults to the 0.9RC

authentication

This essentially toggles between plain (default) and hashed passwords. Please read more here. It defaults to plain.

storage

This configures the storage method prosody will use to store user accounts, rosters, and offline messages. The default value is internal.

You can read more about storage options here. While there is support for alternative storage methods, the cookbook currently only supports the default internal storage method. Support for sqlite and other methods will come in future updates. Patches welcome.

libevent_package

This sets the required package when libevent is set to true. Defaults to liblua5.1-event0.

luasec_package

This sets the required package when 's2s_secure_auth` is set to true. Defaults to lua-sec-prosody.

vhosts_dir

The prosody_vhost lwrp uses this directory to store individual configuration files for virtualhosts. Defaults to /etc/prosody/vhosts.d.

pidfile

This sets the default location of the pid file to /var/run/prosody/prosody.pid. This is a required setting for mod_posix, which allows the daemon to detach.

Resources & Providers

prosody_vhost

<table>
<thead>
<tr>
<th>Action</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr>
<td>create</td>
<td>
Create the virtual host by rendering a template file in <code>/etc/prosody/vhosts.d</code>.
</td>
<td>Yes</td>
</tr>
<tr>
<td>remove</td>
<td>Remove the user virtual host</td>
<td> </td>
</tr>
<tr>
<td>admins</td>
<td>Add admin users for the virtual host</td>
<td> </td>
</tr>
<tr>
<td>modules_enabled</td>
<td>Enable a custom set of modules to load for the virtual host</td>
<td> </td>
</tr>
<tr>
<td>muc</td>
<td>Supply a servername prosody will serve a MUC on</td>
<td> </td>
</tr>
<tr>
<td>enabled</td>
<td>Enable or Disable the virtual host</td>
<td>true</td>
</tr>
</tbody>
</table>

Examples

Creating a Virtual Host

prosody_vhost 'redneck.im'

Creating a Virtual Host with Some Options

prosody_vhost 'redneck.im' do
  admins %w[jimbob@redneck.im]
  modules_enabled %w[dialback roster saslauth]
  muc "conference.redneck.im"
  enabled true
end

Remove a Virtual Host

prosody_vhost 'redneck.im' do
  action :remove
end

prosody_user

<table>
<thead>
<tr>
<th>Action</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr>
<td>create</td>
<td>
Create a user for a virtual host
</td>
<td>Yes</td>
</tr>
<tr>
<td>remove</td>
<td>Remove the user from a virtual host</td>
<td> </td>
</tr>
<tr>
<td>password</td>
<td>Set a password for the user</td>
<td> </td>
</tr>
<tr>
<td>vhost</td>
<td>An array or virtualhosts you want to add the user to</td>
<td> </td>
</tr>
</tbody>
</table>

Examples

Creating a User Account
prosody_user 'jimbob' do
  password 'gonefishing'
  vhosts %w[redneck.im]
end
Remove a User Account
prosody_user 'jimbob' do
  action :remove
end

Contributing

e.g.

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write you change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

Testing

bundle exec strainer test

License and Authors

Authors:
- Greg Fitzgerald greg@gregf.org
- Christian Fischer chef-cookbooks@computerlyrik.de

# Copyright 2013, Greg Fitzgerald.
# Copyright 2013, 2014 Christian Fischer, prosody-cookbook@computerlyrik.de
# Copyright 2013, 2014 Guilhem Lettron 
#
# 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.

No quality metric results found