Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Chef Browser

Chef Browser

An open source Ruby/Sinatra web application to browse data on a Chef server.

Marta Paciorkowska

December 11, 2013
Tweet

More Decks by Marta Paciorkowska

Other Decks in Programming

Transcript

  1. Chef → Chef API → Ridley → Chef Browser →

    end user Nodes running in environments with different roles, filled with data bags full of items, running on recipes organized in cookbooks. A powerful software tool to configure and maintain your IT infrastructure.
  2. Chef → Chef API → Ridley → Chef Browser →

    end user (Opscode published its own chef-server-webui, but it's not the most user-friendly) Source: http://leopard.in.ua/
  3. Chef → Chef API → Ridley → Chef Browser →

    end user A Ruby library with clean syntax that makes conversations with Chef nice. https://github.com/RiotGames/ridley
  4. Chef → Chef API → Ridley → Chef Browser →

    end user Knife queries Ridley queries knife search mysql_server_root_password:* -i chef_server.search(:node, "mysql_server_root_password:*") knife node show node_name chef_server.node.find("node_name") chef_server = Ridley.new( server_url: "http://127.0.0.1", client_name: "foo", client_key: "/users/foo/.chef/bar.pem" )
  5. Chef → Chef API → Ridley → Chef Browser →

    end user A simple web tool we created to give you better insight into your IT infrastructure. http://3ofcoins.github.com/chef-browser
  6. Chef → Chef API → Ridley → Chef Browser →

    end user Building blocks: Sinatra + Erubis - simple, no databases necessary Bootstrap v3.0.3 - makes Chef Browser responsive and mobile friendly TinyConfig, https://github.com/3ofcoins/tinyconfig - configuring settings by the user is extremely simple
  7. Access lists of all available nodes, environments, and more. Chef

    → Chef API → Ridley → Chef Browser → end user
  8. View details of each resource Chef → Chef API →

    Ridley → Chef Browser → end user
  9. Find info on given resource filtering through its attributes. Chef

    → Chef API → Ridley → Chef Browser → end user
  10. Save yourself some typing with storing most useful queries. Chef

    → Chef API → Ridley → Chef Browser → end user
  11. Chef → Chef API → Ridley → Chef Browser →

    end user How to install: 1. Download from http://3ofcoins.github.com/chef-browser 2. Run bundle install 3. Provide server details in a settings.rb file: server_url "http://127.0.0.1:4000" client_name "marta" client_key "home/marta/key.pem" 4. Run puma -e production 5. Go to http://localhost:9292
  12. Roadmap - browsing cookbooks - encrypting data bags - Docker

    container / VM image integrating chef- server & chef-browser ...but feel free to open issues and PRs!