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

omakase (2) Versions 0.0.2

Deploys a services-oriented Rails app

Berkshelf/Librarian
Policyfile
Knife
cookbook 'omakase', '~> 0.0.2'
cookbook 'omakase', '~> 0.0.2', :supermarket
knife cookbook site install omakase
knife cookbook site download omakase
README
Dependencies
Changelog
Quality

omakase cookbook

A cookbook for deploying service-oriented applications with Ruby on Rails. Omakase assumes very little about what tools you use(d) to build your application, but is opinionated about the structure of your environment in order to maintain clean and elegant deployments. It also assumes that you're using a relational database of some kind, as it's configured by default to run migrations. Omakase makes use of several existing cookbooks like chruby and nginx for dependencies as well as the database cookbook and deploy resource to make transitioning from your existing 200-line deploy call into using the cookbook much easier.

Omakase takes much of its cues from the 12-factor app deployment and maintenence techniques. It is the project's goal to make deploying Rails apps safer, easier, and faster using Chef.

Supported Platforms

  • Ubuntu 14

Installation

Add the following line to your cookbook's metadata.rb:

depends 'omakase'

Then, run:

$ berks install

Usage

Wrap this cookbook with your own app cookbook and use the following LWRP to deploy the app:

omakase_application '/srv/waxpoetic' do
  repo node['myapp']['repo']
  revision node['myapp']['version']
  keep_releases 2
  rollback_on_error false
  database_adapter :postgresql
  database_connection :password => 'master-password'
  database_user 'waxpoetic'
  services %w(puma sidekiq)
end

This LWRP will install the following dependencies:

  • nginx
  • ruby-install
  • chruby
  • the bundler gem
  • whatever Ruby version you configured

After doing this, it will configure your database. It will conditionally load an LWRP based on the database_adapter attribute, and apply default database connection parameters in order to add the app's database user and grant it DB creation abilities. This will allow the deploy resource to perform database commands.

Once the database is configured, it's time to run the deploy resource for your application. This resource is configured to also run bundle install, set up the database, and precompile assets. It can also optionally be configured to clear any caches using rake cache:clear.

What it will not do is set up your database server. Any databases such as PostgreSQL or Redis must be running before this LWRP is invoked. We use the database cookbook to run commands on the DBMS, so be sure your database_adapter setting is supported within that cookbook.

Development

Please include tests and submit all contributions in a pull request. Tests must pass within a kitchen test (isolated convergence of every suite) in order to be considered for acceptance into 'master'.

License and Authors

Author: Tom Scott (tubbo@psychedeli.ca)

License: MIT

Dependent cookbooks

nodejs >= 0.0.0
database >= 0.0.0
chruby >= 0.0.0
ruby-install >= 0.0.0
nginx >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

0.1.0

Initial release of omakase

Collaborator Number Metric
            

0.0.2 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

0.0.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

0.0.2 failed this metric

FC059: LWRP provider does not declare use_inline_resources: omakase/providers/application.rb:1
Run with Foodcritic Version 11.1.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

License Metric
            

0.0.2 passed this metric

No Binaries Metric
            

0.0.2 passed this metric

Publish Metric
            

0.0.2 passed this metric

Supported Platforms Metric
            

0.0.2 passed this metric

Testing File Metric
            

0.0.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

0.0.2 passed this metric