solid
Version: 0.1.6.beta2
master $ solid
**** Welcome to Solid ******
**** Version 0.1.6.beta2 ****
**** json config file required ****
master $
Solid is a CLI that uses ssh to remote into your servers and run chef-solo.
Solid uses Chef 9.8 and Chef-Solo to build servers remotely. Its goal is to be very easy to use. Chef-Solo is a command-line application that can execute the chef recipes once installed on the server. Chef-Solo has to be executed on the server node, but we want to execute it remotely. So "Solid" uses the Net::SSH library to connect securely and run chef-solo. It also checks to see if chef-solo is installed, and if it is not, it installs chef. Solid takes one parameter, a path to a configuration json file. This file contains all the attributes you would like to pass to chef-solo, plus some additional attributes that instruct Solid on how to connect to your server nodes, and the location of your cookbooks.
solid configuration.json
# configuration.json
{
"servers": ["server1","server2"],
"ssh-auth": "key",
"run_list": ["role[name]"],
"user": "[USER]",
"group": "[GROUP]"
}
Requirements
- Ruby
- RubyGems
- net/ssh
Install
gem install solid
Download Source
http://github.com/jackhq/solid
What is a dna.json file?
It is a file that contains instructions for chef on how to setup and configure your servers, and applications. To learn more go to http://opscode.com
{
"servers": ["server1","server2"],
"ssh-auth": "key",
"run_list": ["role[name]"],
"user": "[USER]",
"group": "[GROUP]"
}
How to use
Create your dna.json file
Make sure it has the following root attributes:
- servers - array of servers
- ssh-auth - (key|pwd) - type ssh authentication
- key - if ssh authentication is key based
- password - if ssh authentication is pwd based
- port
Execute
solid dna.json
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
== Copyright
Copyright (c) 2010 Thing-3. See LICENSE for details.