Pallet uses the following domain terms:
Action : The basic unit of configuration supplied by pallet.
Action plan : A sequence of actions that have been called by phase.
Crate : A namespace containing crate functions
Crate Function : A function taking a session and other arguments. A crate function can call other crate functions and actions.
Environment : A map that is used to pass in external data and configuration together with the servers that are running for that into pallet pallet. Can be specified at various scopes.
Group : A group of identically configured nodes, represented as a group-spec.
Group Name : The name used to identify a group.
Group Spec : A group of identically configured nodes, represented as a map with :group-name, :count and server-spec keys. The group-name is used to link running nodes to their configuration (via pallet.compute.Node/group-name)
Node : A node is a machine, either a physical server or a virtual machine.
Node Spec : A specification for a node. The node-spec provides an image hardware, location and network template for starting new nodes.
Phase : A phase is a discrete set of configuration or other actions that you wish to be able to execute. It is a function taking a session, and calling crate functions and actions.
Parameters : A map that is used to pass pass values between crates. Can be used on same node, or across nodes.
Server : A map used to descibe the node, image, etc of a single node running as part of a group. A server has the following keys :group-name, :node, :node-id and server-spec keys.
Server Spec : A specification for a server. This is a map of phases and a default node-spec. A server-spec has the following keys :phase, :packager and node-spec keys.
Session : A map that is used to hold state and context information for the duration of a lift or converge call