update readme

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
This commit is contained in:
Dominik Richter 2015-09-07 17:18:44 +02:00
parent 1c831e6646
commit 9a2349450a

106
README.md
View file

@ -1,18 +1,108 @@
# vulcanosec cli
# Vulcano CLI
CLI tool for vulcanosec.
Test your Server, VM, or workstation.
## Development
## Example
You can get a console within your evaluation context. Example:
Write a your tests in `test.rb`:
```ruby
rule "sth-new" do
binding.pry
...
describe file('/proc/cpuinfo') do
it { should be_file }
end
describe ssh_config do
its('Protocol') { should eq('2') }
end
```
Once you run `vulcano check myprofile/` you will get a CLI context.
Run them locally:
```bash
vulcano exec test.rb
```
## Installation
Requires:
* Ruby ( >1.9 )
```bash
gem build vulcano.gemspec
gem install vulcano-*.gem
```
You should now be able to run:
```bash
vulcano --help
```
## Configuration
Run tests against different targets:
```bash
# run test locally
vulcano exec test.rb
# run test on remote host on SSH
vulcano exec test.rb -t ssh://user@hostname
# run test on remote windows host on WinRM
vulcano exec test.rb -t winrm://Administrator@windowshost
# run test on docker container
vulcano exec test.rb -t docker://image_id
```
## Custom resources
You can easily create your own resources. Here is a custom resource for an
application called Gordon and save it in `gordon_config.rb`:
```ruby
require 'yaml'
class GordonConfig < Vulcano.resource
name 'gordon_config'
def initialize
@path = '/etc/gordon/config.yaml'
@config = vulcano.file(@path).content
@params = YAML.load(@config)
end
def method_missing(name)
@params[name.to_s]
end
end
```
Include this file in your `test.rb`:
```ruby
require_relative 'gordon_config'
```
Now you can start using your new resource:
```ruby
describe gordon_config do
its('Version') { should eq('1.0') }
end
```
## Contributing
1. Fork it
1. Create your feature branch (git checkout -b my-new-feature)
1. Commit your changes (git commit -am 'Add some feature')
1. Push to the branch (git push origin my-new-feature)
1. Create new Pull Request
Copyright 2015 Chef Software Inc. All rights reserved.
Copyright 2015 Vulcano Security GmbH. All rights reserved.
Copyright 2015 Dominik Richter. All rights reserved.