Omnijack
A Ruby client interface to Chef's Omnitruck API.
Installation
Add this line to your application's Gemfile:
gem 'omnijack'And then execute:
$ bundle
Or install it yourself as:
$ gem install omnijack
Usage
Getting Chef-DK project data from the official Chef API:
require 'omnijack'
chef_dk = Omnijack::Project::ChefDk.newGetting Chef-DK package metadata (requires additional target platform information):
chef_dk = Omnijack::Project::ChefDk.new(platform: 'ubuntu',
platform_version: '14.04',
machine_arch: 'x86_64')
metadata = chef_dk.metadata
puts metadata
puts metadata.url
puts metadata.filename
puts metadata.md5
puts metadata.sha256
puts metadata.yolo
puts metadata.version
puts metadata.build
puts metadata[:url]
puts metadata[:filename]
puts metadata[:md5]
puts metadata[:sha256]
puts metadata[:yolo]
puts metadata[:version]
puts metadata[:build]Getting Chef-DK project data from an unofficial Omnitruck API:
Omnijack::Project::ChefDk.new(
base_url: 'https://some.custom.chef.api/endpoint'
)Getting Chef-DK project data for a version other than the latest release:
Omnijack::Project::ChefDk.new(
version: '1.2.3',
prerelease: true,
nightlies: true
)Getting Chef project data:
Omnijack::Project::Chef.newGetting the Chef project's list of packages:
list = Omnijack::Project::Chef.new.list
puts list.to_hGetting the Chef project's platform mappings:
platforms = Omnijack::Project::Chef.new.platforms
puts platforms.to_hGetting AngryChef project data:
Omnijack::Project::AngryChef.newGetting Chef-Container project data:
Omnijack::Project::ChefContainer.newGetting Chef Server project data:
Omnijack::Project::ChefServer.newContributing
- Fork it ( https://github.com/[my-github-username]/omnijack/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Add tests for any new code and ensure all tests pass (
rake) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request