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

RSS

camo (6) Versions 0.9.0

Configures camo - a small http proxy to simplify routing images through an SSL host

Berkshelf/Librarian
Policyfile
Knife
cookbook 'camo', '= 0.9.0'
cookbook 'camo', '= 0.9.0', :supermarket
knife cookbook site install camo
knife cookbook site download camo
README
Dependencies
Changelog
Quality 0%

camo cookbook

Cookbook Version Dependency Status Build Status Join the chat at https://gitter.im/svanzoest-cookbooks/camo

Description

Installs Camo - a small http proxy to simplify routing images through an SSL host

Requirements

The dependencies are assumed to be downloaded from the Chef Supermarket cookbook repository.

Usage

Usually you would run this behind a web server proxy, such as apache2, nginx, varnish etc.

In a wrapper cookbook add this cookbook as a dependency and include the default recipe

include_recipe 'camo::default'

Then add any attributes below that you will want to change to the defaults you use internally. Specifically you should override camo.key at a minimum. Depending on your use case, you may want to add a recipe in your wrapper cookbook that deals with the web server proxy setup.

Attributes

General

  • node['camo']['user'] = "camo" - user to run camo as, the cookbook will create the user if it does not exist.
  • node['camo']['group'] = "users" - group used on directory creation.
  • node['camo']['install_method'] = 'deploy_revision' - method for installing camo: either package or deploy_revision.
  • node['camo']['init_style'] - attempts to pick the platform default, but otherwise can be defined as upstart, systemd or runit

Configuration

These are configuration parameters that will be passed directly to camo via the init scripts. Please see the camo documentation for more details on these attributes.

  • node['camo']['port'] = 8081
  • node['camo']['header_via'] = nil
  • node['camo']['key'] = '0x24FEEDFACEDEADBEEFCAFE'
  • node['camo']['logging'] = "disabled"
  • node['camo']['length_limit'] = 5242880
  • node['camo']['max_redirects'] = 4
  • node['camo']['socket_timeout'] = 10
  • node['camo']['timing_allow_origin'] = nil
  • node['camo']['hostname'] = "unknown"
  • node['camo']['keep_alive'] = false

Init Style: Systemd

  • node['camo']['systemd']['env_path'] = '/etc/sysconfig'

Install Method: Deploy Revision

This install methods installs directly from source. It is highly recommended that if you use this method that you specify a particular camo.branch and your own fork via camo.repo. This will minimize impact of changes by upstream that you do not control.

  • node['camo']['path'] = "/srv/camo" - location where to install camo
  • node['camo']['deploy_user'] = "root" - user who will run git and own the deployed repo.
  • node['camo']['deploy_group'] = "users" - group who will own the deployed repo.
  • node['camo']['deploy_migrate'] = false - do not run deploy_revision migrations
  • node['camo']['deploy_action'] = "deploy" - action to pass to the deploy_revision resource.
  • node['camo']['repo'] = "git://github.com/atmos/camo.git" - location of the camo git repo.
  • node['camo']['branch'] = "master" - the branch or tag to clone

Development

We have written unit tests using chefspec and integration tests in serverspec executed via test-kitchen. Much of the tooling around this cookbook is exposed via guard and test kitchen, so it is highly recommended to learn more about those tools. The easiest way to get started is to install the Chef Development Kit

Running tests

The following commands will run the tests:

chef exec bundle install
chef exec rubocop
chef exec foodcritic .
chef exec rspec
chef exec kitchen test default-ubuntu-1404
chef exec kitchen test default-centos-70

The above will do ruby style (rubocop) and cookbook style (foodcritic) checks followed by rspec unit tests ensuring proper cookbook operation. Integration tests will be run next on two separate linux platforms (Ubuntu 14.04 LTS Precise 64-bit and CentOS 7.0). Please run the tests on any pull requests that you are about to submit and write tests for defects or new features to ensure backwards compatibility and a stable cookbook that we can all rely upon.

Running tests continuously with guard

This cookbook is also setup to run the checks while you work via the guard gem.

bundle install
bundle exec guard start

Dependent cookbooks

runit ~> 1.5.12
git >= 0.0.0
nodejs >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

camo Cookbook Changelog

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

v0.9.0 (2015-03-18)

  • [GH-6] Added CentOS Support, cookbook now depends on runit
  • [GH-6] Changed camo.user default to camo and create the user if it does not exist.
  • [GH-6] Added camo.init_style to allow for runit and systemd in addition to previous upstart
  • Update to camo v2.2.0 and add camo.keep_alive attribute support

v0.2.0 (2014-10-29)

  • Added camo.install_method which can be package or deploy_revision
  • Added camo.header_via, camo.length_limit, camo.socket_timeout, camo.timing_allow_origin attributes
  • Removed camo.host_exclusions attribute (no longer supported by camo)
  • FC045: Set cookbook name in metadata
  • Changed default deploy_user to root
  • Added dependency on git for deploy_revision
  • Update Development environment with Berkshelf, ChefSpec, Test-Kitchen

v0.1.0 (2012-11-10)

  • Initial Release

Foodcritic Metric
            

0.9.0 failed this metric

FC031: Cookbook without metadata file: /tmp/cook/3a97aa1beeb83adbe340a4d9/camo/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/3a97aa1beeb83adbe340a4d9/camo/metadata.rb:1