= CORL supported plugin types and providers The CORL framework implements pluggable interfaces, designed to grow in the future, but we have only implemented providers for technologies and services we use currently. Below is a list of current plugin types and supported providers: * CORL::Plugin::Configuration - Project based configuration pool and synchronization * CORL::Configuration::File - File based data objects (JSON / YAML / ... files) * CORL::Plugin::Network - Network configuration, management, and action implementation * CORL::Network::CORL - Default * CORL::Plugin::Node - Network and machine interface configuration bridge * CORL::Node::Local - Local physical machine (registers development machines) * CORL::Node::Vagrant - Manage Vagrant development machines * CORL::Node::Rackspace - Manage Rackspace compute instances * CORL::Node::AWS - Manage Amazon Web Services compute instances * CORL::Plugin::Machine - Machine interfaces * CORL::Machine::Physical - Physical machine interface (limited functionality) * CORL::Machine::Vagrant - Vagrant machine interface (only *virtualbox* and *docker* providers tested) * CORL::Machine::Rackspace - Rackspace compute interface * CORL::Machine::AWS - Amazon Web Service compute interface * CORL::Plugin::Builder - Build processors * CORL::Builder::Identity - Isolated or private identity related node configurations * CORL::Builder::Package - Fetch packages connected to network and other packages * CORL::Builder::Project - Fetch version controlled projects into system locations * CORL::Plugin::Provisioner - Provisioning processes that utilize configuration management tools * CORL::Provisioner::Puppetnode - Simple (non agent) Puppet provisioner that configures system based on group profiles Plugin types inherited from Nucleon: * Nucleon::Plugin::Command - Shell command translators / executors * Nucleon::Command::Bash * Nucleon::Plugin::Event - Reusable conditional checks * Nucleon::Event::Regex * Nucleon::Plugin::Project - Version controlled projects * Nucleon::Project::Git * Nucleon::Project::Github - Extends Git but adds GitHub API support * Nucleon::Plugin::Template - One way data object to text rendering * Nucleon::Template::JSON * Nucleon::Template::YAML * Nucleon::Template::Wrapper - Wraps stringified data in prefix and suffix * Nucleon::Template::Environment - Renders data object as environment variables * Nucleon::Plugin::Translator - Two way data object to text translation * Nucleon::Template::JSON * Nucleon::Template::YAML Action interface: (Around 42 core actions currently implemented that build on the above plugins) * Nucleon::Plugin::Action - Portable action framework and execution environment * Nucleon::Plugin::CloudAction - Distributed actions across a network (extends Nucleon::Plugin::Action) * Nucleon::Plugin::Agent - Continuously running managed agents (extends Nucleon::Plugin::CloudAction) --- {Click here to return to the README}[link:README.rdoc]