X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=website%2Fterminology.md;fp=website%2Fterminology.md;h=122c13f34f3517054efcd81c0cf7b233f0f8a34c;hb=b87d2f4e68281062df1913440ca5753ae63314a9;hp=0000000000000000000000000000000000000000;hpb=ab0ea530b8ac956091f17b104ab2311336cfc250;p=packages%2Fprecise%2Fmcollective.git diff --git a/website/terminology.md b/website/terminology.md new file mode 100644 index 0000000..122c13f --- /dev/null +++ b/website/terminology.md @@ -0,0 +1,101 @@ +--- +layout: default +title: Terminology +toc: false +--- +[Software_agent]: http://en.wikipedia.org/wiki/Software_agent +[Plugin]: http://en.wikipedia.org/wiki/Plugin +[Publish_subscribe]: http://en.wikipedia.org/wiki/Publish_subscribe +[Apache ActiveMQ]: http://activemq.apache.org/ +[SimpleRPCAgents]: /mcollective/simplerpc/agents.html +[SimpleRPCIntroduction]: /mcollective/simplerpc/ +[WritingFactsPlugins]: /mcollective/reference/plugins/facts.html +[Subcollective]: /mcollective/reference/basic/subcollectives.html +[Registration]: /mcollective/reference/plugins/registration.html +[SimpleRPCAuthorization]: /mcollective/simplerpc/authorization.html + +This page documents the various terms used in relation to mcollective. + +## Server +The mcollective daemon, an app server for hosting Agents and managing +the connection to your Middleware. + +## Node +The Computer or Operating System that the Server runs on. + +## Agent +A block of Ruby code that performs a specific role, the main reason for +mcollective's existence is to host agents. Agents can perform tasks like +manipulate firewalls, services, packages etc. See [Wikipedia][Software_agent]. + +Docs to write your own can be seen in [SimpleRPCAgents] + +## Plugins +Ruby code that lives inside the server and takes on roles like security, connection +handling, agents and so forth. See [Wikipedia][Plugin] + +## Middleware +A [publish subscribe][Publish_subscribe] based system like [Apache ActiveMQ]. + +## Connector +A plugin of the type *MCollective::Connector* that handles the communication with your chosen Middleware. + +## Name Space +Currently messages are sent to the middleware directed at topics named */topic/mcollective.package.command* +and replies come back on */topic/mcollective.package.reply*. + +In this example the namespace is "mcollective" and all servers and clients who wish to form part of the same +Collective must use the same name space. + +Middleware can generally carry several namespaces and therefore several Collectives. + +## Collective +A combination of Servers, Nodes and Middleware all operating in the same Namespace. + +Multiple collectives can be built sharing the same Middleware but kept separate by using different Namespaces. + +## Subcollective +A server can belong to many Namespaces. A [Subcollective] is a Namespace that only a subset of a full collectives nodes belong to. + +Subcolllectives are used to partition networks and to control broadcast domains in high traffic networks. + +## Simple RPC +A Remote Procedure Call system built ontop of MCollective that makes it very simple to write feature +full agents and clients. See [SimpleRPCIntroduction]. + +## Action +Agents expose tasks, we call these tasks actions. Each agent like a exim queue management agent might +expose many tasks like *mailq*, *rm*, *retry* etc. These are al actions provided by an agent. + +## Facts +Discreet bits of information about your nodes. Examples could be the domain name, country, +role, operating system release etc. + +Facts are provided by plugins of the type *MCollective::Facts*, you can read about writing +your own in [WritingFactsPlugins] + +## Registration +Servers can send regular messages to an agent called *registration*. The code that sends the +registration messages are plugins of the type *MCollective::Registration*. See [Registration]. + +## Security +A plugin of the type *MCollective::Security* that takes care of encryption, authentication +and encoding of messages on which will then be passed on to the Connector for delivery to the Collective. + +## Client +Software that produce commands for agents to process, typically this would be a computer with +the client package installed and someone using the commands like *mc-package* to interact with Agents. + +Often clients will use the *MCollective::Client* library to communicate to the Collective + +## User +Servers and Clients all authenticate to the Middleware, user would generally refer to the username +used to authenticate against the middleware. + +## Audit +In relation to SimpleRPC an audit action is a step requests go through where they can get +logged to disk or other similar action + +## Authorization +In relation to SimpleRPC authorization is a processes whereby requests get allowed or denied +based on some identifying information of the requester. See [SimpleRPCAuthorization].