Skip to content
Dan Ryan edited this page Jun 13, 2012 · 21 revisions

Spice has the following configuration variables:

  • Spice.server_url - The URL of the Chef server. Remember to include the port if you are hosting your own Chef server. Default: http://localhost:4000
  • Spice.chef_version - The version of the Chef server. Setting this changes functionality, so make sure the numbers match (especially major versions). Default: "0.10.10"
  • Spice.client_name - The client name to connect as. This client must be an admin. Default: ""
  • Spice.client_key - The client key (an OpenSSL::PKey::RSA object). Default: ""
  • Spice.user_agent - The user agent that Spice will use. Default: "Spice Spice::VERSION" Spice.connection_options # A hash of options to provide to the Faraday HTTP connection. # Default: {} Spice.middleware # The Faraday middleware stack. # Default:
Proc.new do |builder|
  builder.use Spice::Response::ParseJSON
  builder.use Spice::Response::ClientError
  builder.adapter Faraday.default_adapter
end

To connect to a Chef server at https://chef.example.com:5000 with the "admin" API client, throw this somewhere your app can initialize:

Spice.server_url  = "http://chef.example.com:5000"
Spice.client_name = "admin"
Spice.client_key  = "/path/to/keyfile.pem"

Say you had a Chef server v0.10.8 running locally on port 4000 over HTTP, you only need to set your client_name and client_key path:

Spice.client_name = "admin"
Spice.client_key  = "/path/to/keyfile.pem"

You can also use the Spice.setup block if you prefer this style:

Spice.setup do |s|
  s.server_url   = "http://chef.example.com:4000"
  s.client_name  = "admin"
  s.client_key   = "/path/to/keyfile.pem"
  s.chef_version = "0.9.18"
end

If you want to reset your config to their default values:

Spice.reset
Clone this wiki locally