mirror of
https://github.com/inspec/inspec
synced 2024-11-22 12:43:07 +00:00
update readme
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
This commit is contained in:
parent
1c831e6646
commit
9a2349450a
1 changed files with 98 additions and 8 deletions
106
README.md
106
README.md
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue