https://github.com/teohm/kitchen-example
Example of using rackbox, databox and knife-solo to provision a full-stack, rack-based web server.
https://github.com/teohm/kitchen-example
Last synced: about 1 year ago
JSON representation
Example of using rackbox, databox and knife-solo to provision a full-stack, rack-based web server.
- Host: GitHub
- URL: https://github.com/teohm/kitchen-example
- Owner: teohm
- Created: 2013-04-13T09:33:34.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2013-05-04T01:32:29.000Z (about 13 years ago)
- Last Synced: 2025-03-30T22:25:17.699Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 133 KB
- Stars: 22
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Kitchen Example
===============
An example of using
[`rackbox`](https://github.com/teohm/rackbox-cookbook) &
[`databox`](https://github.com/teohm/databox-cookbook) and `knife-solo` to provision
a full-stack, rack-based web server.
### How to build `kitchen-example` from scratch:
1. Create `Gemfile`:
```
source "https://rubygems.org"
gem "knife-solo", "0.3.0pre3"
gem "berkshelf"
```
2. Create `Berksfile`:
```
site :opscode
cookbook "runit", "1.1.2"
cookbook "databox"
cookbook "rackbox"
```
3. Install ruby gems
```
bundle install
```
4. Setup `knife-solo` directory structure
```
bundle exec knife solo init .
```
5. Copy the node config example
```
curl https://raw.github.com/teohm/kitchen-example/master/nodes/host.json.example --output nodes/myhost.json
```
Provision rack-based server
-----
```
git clone git://github.com/teohm/kitchen-example.git
cd kitchen-example
# install berkshelf, knife-solo
bundle install
# download cookbooks
bundle exec berks install -p cookbooks/
# copy & edit the node config
cp nodes/host.json.example testbox.json
# setup chef-solo on the node
bundle exec knife solo prepare testbox
# provision the node
bundle exec knife solo cook testbox
```
Deploy rails on unicorn
-------------
```
git clone git://github.com/teohm/sample-app1.git
cd sample-app1
bundle install
ssh testbox
#
# in testbox, add SSH known host by running:
# ssh git@github.com
#
bundle exec cap deploy:setup
bundle exec cap deploy:migrations
```
Deploy rails on passenger
-------------
```
git clone git://github.com/teohm/sample-app2.git
cd sample-app2
bundle install
ssh testbox
#
# in testbox, add SSH known host by running:
# ssh git@github.com
#
bundle exec cap deploy:setup
bundle exec cap deploy:migrations
```