<commit_before>Gusteau
=======

*"Anyone can cook."*

[![Build Status](https://www.travis-ci.org/locomote/gusteau.png?branch=master)](https://www.travis-ci.org/locomote/gusteau)

Introduction
------------

Gusteau is here to make servers provisioning simple and enjoyable. It provides an efficient interface to Chef Solo as well as some nice features:

* Uses YAML for readable server configuration definitions
* Uses a single SSH connection to stream compressed files and commands
* Allows you to use normal Chef flags:
  * `-W` or `--why-run` (dry run mode)
  * `-l` for setting a log level and `-F` for setting an output formatter
* Is able to bootstrap CentOS, RHEL, Ubuntu and Gentoo systems with chef-solo.

Gettings started
----------------

Gusteau is a Ruby gem:

```
gem install gusteau
```

A typical Gusteau node configuration looks like this:

```YAML
json:
  mysql:
    server_root_password: <PASSWORD>
  rvm:
    default_ruby: 1.9.3-p362
  users:
   - linguini

roles:
  - platform
  - rails

recipes:
  - mysql::server
  - iptables

server:
  host: 172.16.58.3
  platform: ubuntu
  password: <PASSWORD>
```

Gusteau only needs a node definition to run, but you'll need a few cookbooks to actually cook something :)
The following command generates an example configuration to get you started:

```
gusteau generate project-name
```

Next, `cd project-name` and see `nodes/example.yml`.


Provisioning a server
----------

The following command will run all roles and recipes from node's YAML file.

```
gusteau node-name provision
```

Use the `--bootstrap` or `-b` flag to bootstrap chef-solo (for the first time run).

Running recipes
-----------
You may choose to run a few recipes instead of full provisioning.

```
gusteau node-name run redis::server ntp unicorn
```

Using with Vagrant
------------------
At the moment Gusteau doesn't come with Vagrant integration. However, using it with Vagrant is easy, just make sure that you provide the correct IP address of the VM in node's YAML file.

```
vagrant up
gusteau node-name provision
```

Notes
-----

* Feel free to contribute a [bootstrap script](https://github.com/locomote/gusteau/tree/master/bootstrap) for your platform.
* Gusteau uploads  both `./cookbooks` and `./site-cookbooks` so that you can use [librarian-chef](https://github.com/applicationsonline/librarian) to include third party cookbooks.

<commit_msg>Add gemnasium dependency status to README<commit_after>Gusteau
=======

*"Anyone can cook."*

[![Build Status](https://www.travis-ci.org/locomote/gusteau.png?branch=master)](https://www.travis-ci.org/locomote/gusteau)
[![Dependency Status](https://gemnasium.com/locomote/gusteau.png)](https://gemnasium.com/locomote/gusteau)

Introduction
------------

Gusteau is here to make servers provisioning simple and enjoyable. It provides an efficient interface to Chef Solo as well as some nice features:

* Uses YAML for readable server configuration definitions
* Uses a single SSH connection to stream compressed files and commands
* Allows you to use normal Chef flags:
  * `-W` or `--why-run` (dry run mode)
  * `-l` for setting a log level and `-F` for setting an output formatter
* Is able to bootstrap CentOS, RHEL, Ubuntu and Gentoo systems with chef-solo.

Gettings started
----------------

Gusteau is a Ruby gem:

```
gem install gusteau
```

A typical Gusteau node configuration looks like this:

```YAML
json:
  mysql:
    server_root_password: <PASSWORD>
  rvm:
    default_ruby: 1.9.3-p362
  users:
   - linguini

roles:
  - platform
  - rails

recipes:
  - mysql::server
  - iptables

server:
  host: 172.16.58.3
  platform: ubuntu
  password: <PASSWORD>
```

Gusteau only needs a node definition to run, but you'll need a few cookbooks to actually cook something :)
The following command generates an example configuration to get you started:

```
gusteau generate project-name
```

Next, `cd project-name` and see `nodes/example.yml`.


Provisioning a server
----------

The following command will run all roles and recipes from node's YAML file.

```
gusteau node-name provision
```

Use the `--bootstrap` or `-b` flag to bootstrap chef-solo (for the first time run).

Running recipes
-----------
You may choose to run a few recipes instead of full provisioning.

```
gusteau node-name run redis::server ntp unicorn
```

Using with Vagrant
------------------
At the moment Gusteau doesn't come with Vagrant integration. However, using it with Vagrant is easy, just make sure that you provide the correct IP address of the VM in node's YAML file.

```
vagrant up
gusteau node-name provision
```

Notes
-----

* Feel free to contribute a [bootstrap script](https://github.com/locomote/gusteau/tree/master/bootstrap) for your platform.
* Gusteau uploads  both `./cookbooks` and `./site-cookbooks` so that you can use [librarian-chef](https://github.com/applicationsonline/librarian) to include third party cookbooks.


{'fraction_non_alphanumeric': 0.12147064797887468, 'fraction_numerical': 0.005687588868576072, 'mean_word_length': 3.5634847080630214, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 10, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5638723', 'n_tokens_mistral': 1580, 'n_tokens_neox': 1509, 'n_words': 583}