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

snapraid (5) Versions 0.3.1

Installs/Configures snapraid

Policyfile
Berkshelf
Knife
cookbook 'snapraid', '= 0.3.1', :supermarket
cookbook 'snapraid', '= 0.3.1'
knife supermarket install snapraid
knife supermarket download snapraid
README
Dependencies
Changelog
Quality 100%

SnapRAID cookbook GitHub license Cookbook Version Build Status

This cookbook provides a default recipe to install and configure SnapRAID.

Uses Chronial's snapraid-runner as an optional cronjob.

Requirements

Operating Systems

Ubuntu: 12.04, 14.04

CentOS: 6.6, 7.0

Misc

  • Network access to SourceForge
  • Network access to GitHub

Packages

  • python

Usage

Add the SnapRAID cookbook to your runlist, and set the data_disks, parity_disks, and content_files attributes in accordance with the desired SnapRAID configuration.

See the SnapRAID FAQ for more details.

Example

default_attributes(  
  'snapraid' => {  
    'data_disks'=> ['/media/disk1/','/media/disk2/'],  
    'parity_disks' => ['/media/disk3/'],  
    'content_files' => ['/media/disk1/', '/media/disk1/']  
  }  
)

Attributes

snapraid::default

<table>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
<th>Mandatory</th>
</tr>
<tr>
<td><tt>['snapraid']['data_disks']</tt></td>
<td>array</td>
<td>list of disks mount paths on which protected data will be stored</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['parity_disks']</tt></td>
<td>array</td>
<td>list of disks mount paths on which SnapRAID parity data will be stored</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['content_files']</tt></td>
<td>array</td>
<td>list of file paths which will be specified as SnapRaid content files</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['block_size']</tt></td>
<td>int</td>
<td>kibibyte block size of SnapRAID parity</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['exclude_list']</tt></td>
<td>array</td>
<td>list of filepath patterns to exclude from SnapRAID parity generation</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['version']['number']</tt></td>
<td>double</td>
<td>SnapRAID version number</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['version']['url']</tt></td>
<td>string</td>
<td>url to SnapRAID tar.gz</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['version']['url']</tt></td>
<td>string</td>
<td>SHA-256 hash of SnapRAID tar.gz</td>
<td><tt>false</tt></td>
</tr>
</table>

snapraid::scheduler

<table>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
<th>Mandatory</th>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['script_url']</tt></td>
<td>string</td>
<td>url to snapraid_runner</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['script_directory']</tt></td>
<td>string</td>
<td>directory in which to place snapraid_runner.py</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['config_file']</tt></td>
<td>string</td>
<td>filepath to snapraid_runner.conf</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['execution_hour']</tt></td>
<td>string</td>
<td>hour of the day to execute snapraid_runner (cron)</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['execution_minute']</tt></td>
<td>string</td>
<td>minute of the day to execute snapraid_runner (cron)</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['scrub_after_sync']</tt></td>
<td>boolean</td>
<td>whether snapraid_runner will run scrub after each sync (recommended)</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['scrub_percentage']</tt></td>
<td>int</td>
<td>percentage of the protected data for snapraid_runner to scrub</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['scrub_older_than']</tt></td>
<td>int</td>
<td>files older than x days will be scrubbed</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['deletion_abort_threshold']</tt></td>
<td>int</td>
<td>abort scheduled operation if there are more deletes than this, set to -1 to disable</td>
<td><tt>true</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['email_from']</tt></td>
<td>string</td>
<td>email address snapraid_runner will impersonate when sending status emails</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['email_to']</tt></td>
<td>string</td>
<td>email address snapraid_runner will notify when sending status emails</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['smtp_host']</tt></td>
<td>string</td>
<td>smtp host snapraid_runner will use</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['smtp_port']</tt></td>
<td>string</td>
<td>smtp port snapraid_runner will use</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['smtp_ssl']</tt></td>
<td>boolean</td>
<td>whether snapraid_runner will use ssl for emails</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['smtp_user']</tt></td>
<td>string</td>
<td>optional username for snapraid_runner to login to smtp server</td>
<td><tt>false</tt></td>
</tr>
<tr>
<td><tt>['snapraid']['scheduler']['smtp_password']</tt></td>
<td>string</td>
<td>optional password for snapraid_runner to login to smtp server</td>
<td><tt>false</tt></td>
</tr>
</table>

Recipes

default

Used to install and configure SnapRAID.

scheduler

Used to install and configure Chronial's snapraid-runner as a cronjob.

Authors

Author:: Nathan Lee (nathan@globalphobia.com)

Author:: Sam Martin (samjackmartin@gmail.com)

Dependent cookbooks

ark >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

snapraid CHANGELOG

This file is used to list changes made in each version of the snapraid cookbook.

0.3.1

Features

  • Updated SnapRAID to 8.1

0.3.0

Features

Testing

  • Added functional testing with snapraid sync
  • Fixed CentOS tests
  • Added RuboCop and FoodCritic
  • Added ServerSpec tests to cover packages, files, and the cronjob

Tidiness

  • Removed usage-specific defaults

Foodcritic Metric
            

0.3.1 passed this metric