/ironfan

Chef orchestration layer -- your system diagram come to life. Provision EC2, OpenStack or Vagrant without changes to cookbooks or configuration

Primary LanguageRubyOtherNOASSERTION

Ironfan Core: Knife Tools and Core Models

Ironfan, the foundation of The Infochimps Platform, is an expressive toolset for constructing scalable, resilient architectures. It works in the cloud, in the data center, and on your laptop, and it makes your system diagram visible and inevitable. Inevitable systems coordinate automatically to interconnect, removing the hassle of manual configuration of connection points (and the associated danger of human error). For more information about Ironfan and the Infochimps Platform, visit infochimps.com.

This repo implements:

  • Core models to describe your system diagram with a clean, expressive domain-specific language
  • Knife plugins to orchestrate clusters of machines using simple commands like knife cluster launch
  • Logic to coordinate truth among chef server and cloud providers

Getting Started

To jump right into using Ironfan, follow our Installation Instructions. For an explanatory tour, check out our Web Walkthrough. Please file all issues on Ironfan issues.

Tools

Ironfan consists of the following Toolset:

  • ironfan-homebase: centralizes the cookbooks, roles and clusters. A solid foundation for any chef user.
  • ironfan gem:
    • core models to describe your system diagram with a clean, expressive domain-specific language
    • knife plugins to orchestrate clusters of machines using simple commands like knife cluster launch
    • logic to coordinate truth among chef server and cloud providers.
  • ironfan-pantry: Our collection of industrial-strength, cloud-ready recipes for Hadoop, HBase, Cassandra, Elasticsearch, Zabbix and more.
  • silverware cookbook: coordinate discovery of services ("list all the machines for awesome_webapp, that I might load balance them") and aspects ("list all components that write logs, that I might logrotate them, or that I might monitor the free space on their volumes".

Documentation

Note: Ironfan is not compatible with Ruby 1.8. All versions later than 1.9.2-p136 should work fine.

The Ironfan Way

  • Core Concepts -- Components, Announcements, Amenities and more.
  • Philosophy -- Best practices and lessons learned
  • Style Guide -- Common attribute names, how and when to include other cookbooks, and more
  • Homebase Layout -- How this homebase is organized, and why

Getting Help