Added mcollective 2.3.1 package
[packages/trusty/mcollective.git] / website / terminology.md
1 ---
2 layout: default
3 title: Terminology
4 toc: false
5 ---
6 [Software_agent]: http://en.wikipedia.org/wiki/Software_agent
7 [Plugin]: http://en.wikipedia.org/wiki/Plugin
8 [Publish_subscribe]: http://en.wikipedia.org/wiki/Publish_subscribe
9 [Apache ActiveMQ]: http://activemq.apache.org/
10 [SimpleRPCAgents]: /mcollective/simplerpc/agents.html
11 [SimpleRPCIntroduction]: /mcollective/simplerpc/
12 [WritingFactsPlugins]: /mcollective/reference/plugins/facts.html
13 [Subcollective]: /mcollective/reference/basic/subcollectives.html
14 [Registration]: /mcollective/reference/plugins/registration.html
15 [SimpleRPCAuthorization]: /mcollective/simplerpc/authorization.html
16
17 This page documents the various terms used in relation to mcollective.
18
19 ## Server
20 The mcollective daemon, an app server for hosting Agents and managing
21 the connection to your Middleware.
22
23 ## Node
24 The Computer or Operating System that the Server runs on.
25
26 ## Agent
27 A block of Ruby code that performs a specific role, the main reason for
28 mcollective's existence is to host agents.  Agents can perform tasks like
29 manipulate firewalls, services, packages etc. See [Wikipedia][Software_agent].
30
31 Docs to write your own can be seen in [SimpleRPCAgents]
32
33 ## Plugins
34 Ruby code that lives inside the server and takes on roles like security, connection
35 handling, agents and so forth.  See [Wikipedia][Plugin]
36
37 ## Middleware
38 A [publish subscribe][Publish_subscribe] based system like [Apache ActiveMQ].
39
40 ## Connector
41 A plugin of the type *MCollective::Connector* that handles the communication with your chosen Middleware.
42
43 ## Name Space
44 Currently messages are sent to the middleware directed at topics named */topic/mcollective.package.command*
45 and replies come back on */topic/mcollective.package.reply*.
46
47 In this example the namespace is "mcollective" and all servers and clients who wish to form part of the same
48 Collective must use the same name space.
49
50 Middleware can generally carry several namespaces and therefore several Collectives.
51
52 ## Collective
53 A combination of Servers, Nodes and Middleware all operating in the same Namespace.
54
55 Multiple collectives can be built sharing the same Middleware but kept separate by using different Namespaces.
56
57 ## Subcollective
58 A server can belong to many Namespaces.  A [Subcollective] is a Namespace that only a subset of a full collectives nodes belong to.
59
60 Subcolllectives are used to partition networks and to control broadcast domains in high traffic networks.
61
62 ## Simple RPC
63 A Remote Procedure Call system built ontop of MCollective that makes it very simple to write feature
64 full agents and clients.  See [SimpleRPCIntroduction].
65
66 ## Action
67 Agents expose tasks, we call these tasks actions.  Each agent like a exim queue management agent might
68 expose many tasks like *mailq*, *rm*, *retry* etc.  These are al actions provided by an agent.
69
70 ## Facts
71 Discreet bits of information about your nodes. Examples could be the domain name, country,
72 role, operating system release etc.
73
74 Facts are provided by plugins of the type *MCollective::Facts*, you can read about writing
75 your own in [WritingFactsPlugins]
76
77 ## Registration
78 Servers can send regular messages to an agent called *registration*.  The code that sends the
79 registration messages are plugins of the type *MCollective::Registration*.  See [Registration].
80
81 ## Security
82 A plugin of the type *MCollective::Security* that takes care of encryption, authentication
83 and encoding of messages on which will then be passed on to the Connector for delivery to the Collective.
84
85 ## Client
86 Software that produce commands for agents to process, typically this would be a computer with
87 the client package installed and someone using the commands like *mc-package* to interact with Agents.
88
89 Often clients will use the *MCollective::Client* library to communicate to the Collective
90
91 ## User
92 Servers and Clients all authenticate to the Middleware, user would generally refer to the username
93 used to authenticate against the middleware.
94
95 ## Audit
96 In relation to SimpleRPC an audit action is a step requests go through where they can get
97 logged to disk or other similar action
98
99 ## Authorization
100 In relation to SimpleRPC authorization is a processes whereby requests get allowed or denied
101 based on some identifying information of the requester.  See [SimpleRPCAuthorization].