Sha256: 2235c2c5b656ccacee04041ca78a5758a04b7892e921c5f6bf66e862e862d1bf

Contents?: true

Size: 1.93 KB

Versions: 3

Compression:

Stored size: 1.93 KB

Contents

catfish
=======

Catfish is a command line tool and set of associated Vagrantfile templates that makes provisioning existing servers with vagrant-managed-servers easy. It is designed from the ground up to be cross-platform, with first class support for Windows, Linux, and Mac.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'catfish'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install catfish

## Usage

### Initialize your repository
Initialize a catfish repository in the current directory, which will create a
Catfishfile and a Vagrantfile at a minimum.

    $ catfish init

Include two shell script provisioners

    $ catfish init --shell --shell-paths=./script/a.sh ./script/b.sh

You can template out a puppet repository

    $ catfish init --puppet

Initialize a Windows configuration using winrm

    $ catfish init --windows

### Managed servers
Catfish can also help you manage pre-existing servers that can communicate over
SSH or WinRM. To enable managed mode, make sure to pass the `--managed` flag to init

    $ catfish init --managed --ssh-username=YOUR_USERNAME --ssh-private-key-path=YOUR_SSH_KEY_PATH

Add the target servers in your Catfishfile

```ruby
server 'myserver1.mydomain.com'
server 'myserver2.mydomain.com'
```

Provisioning

    $ catfish provision

And you can even run the provisioning in parallel

    $ catfish provision --parallel

### Plugins
You can have catfish ensure that vagrant plugins are installed via the 'plugin'
directive in your Catfishfile.

```ruby
plugin 'vagrant-hostmaster'
```

    $ catfish plugin

### Getting help

    $ catfish help

## TODO

- Add some spec tests

## Contributing

1. Fork it ( https://github.com/chrisbaldauf/catfish/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
catfish-0.0.8 README.md
catfish-0.0.7 README.md
catfish-0.0.6 README.md