cookbook 'omakase', '~> 0.0.2', :supermarket
omakase (2) Versions 0.0.2 Follow0
Deploys a services-oriented Rails app
cookbook 'omakase', '~> 0.0.2'
knife cookbook site install omakase
knife cookbook site download omakase
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 passed this metric
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
0.0.2 failed this 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 passed this metric
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
0.0.2 passed this 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
0.0.2 passed this 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
0.0.2 passed this 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
0.0.2 passed this metric