User story #2295
closedBREAKING CHANGE: Rename Policy Template, Policy Instance and Configuration Rules
Description
This is a BIG evolution in Rudder. The following renaming are going to be done, hopefully making the whole domain model clearer and easier to get.
New terme are in strong italic.
Policy Template => Technique¶
The policy template term is discarded in favor of Technique.
A technique is a technical thing, created and updated by configuration management and application/services experts.
It is used as a template to create your configuration management rules. It generally cover a given software or infrastructure service, like "Apache Server", or "Unix Passwords".
Metadata file for a technique is renamed from policy.xml into metadata.xml
Techniques are distributed in a library (the Technique Library) by these experts or reference institution (for example, "our local Rudder gurus").
In Rudder, in can choose to only use a subset of the technique Library. That subset is called Active techniques.
Policy Instance => Directive¶
A Directive is a business policy, generally comming down from the hierarchy, like "all our password must have at least 10 characters, with symbols, numbers and letters".
In Rudder, a directive is defined from a technique used as template, in which the functional parameter are filled.
For our password directive, we could use the "Unix password" technique example of the previous chapter.
Nodes => Nodes¶
Well, that one is simple :) We keep the well-established term Node to design "something on which we want to use configuration management", be it a server (most of the time), a desktop computer, a smartphone, a router, or anything else.
A set of nodes, somehow semantically grouped ("the servers used for the MySQL cluster", "all Debian Linux server in that plage of IPs", etc) is simply named a group (of nodes).
Configuration Rules => Rules¶
Finally, we want to applied set of directives to groups of nodes. That give us a Rule applied to our infrastructure.
Rudder work is to check that rules are correctly applied and take actions if they are not.
Other renaming in code¶
CFCPolicyInstance => Cfe3PolicyDraft¶
The object that bind a directive to a given node and other contextual variables, used to generate CFEngine3 promise file, will be called a Cfe3PolicyDraft.
Policy Server => RootServer and RelayServer¶
The generic term "policy server", designing the server on which Rudder is installed and/or to which nodes come getting there configurations will be split in two terms:
- RootServer for the main Rudder Server
- RelayServer for servers used to link two network zones.