diff --git a/doc/19-technical-concepts.md b/doc/19-technical-concepts.md
index 85f8b2a92..b79027296 100644
--- a/doc/19-technical-concepts.md
+++ b/doc/19-technical-concepts.md
@@ -520,6 +520,16 @@ Service:
## Cluster
+This documentation refers to technical roles between cluster
+endpoints.
+
+- The `server` or `parent` role accepts incoming connection attempts and handles requests
+- The `client` role actively connects to remote endpoints receiving config/commands, requesting certificates, etc.
+
+A client role is not necessarily bound to the Icinga agent.
+It may also be a satellite which actively connects to the
+master.
+
### Communication
Icinga 2 uses its own certificate authority (CA) by default. The
@@ -565,7 +575,7 @@ signing master.
Icinga 2 v2.8 introduces the possibility to request certificates
from indirectly connected nodes. This is required for multi level
-cluster environments with masters, satellites and clients.
+cluster environments with masters, satellites and agents.
CSR Signing in general starts with the master setup. This step
ensures that the master is in a working CSR signing state with:
@@ -613,7 +623,7 @@ cluster message.
If the child node was not the certificate request origin, it only updates
the cached request for the child node and send another cluster message
-down to its child node (e.g. from a satellite to a client).
+down to its child node (e.g. from a satellite to an agent).
If no ticket was specified, the signing master waits until the
@@ -636,6 +646,10 @@ This mode leaves the node in a semi-configured state. You need
to manually copy the master's public CA key into `/var/lib/icinga2/certs/ca.crt`
on the client before starting Icinga 2.
+> **Note**
+>
+> The `client` in this case can be either a satellite or an agent.
+
The parent node needs to actively connect to the child node.
Once this connections succeeds, the child node will actively
request a signed certificate.
@@ -1028,7 +1042,7 @@ evaluates this in startup and knows on endpoint connect which config zones need
Global zones have a special trust relationship: They are synced to all child zones, be it
-a satellite zone or client zone. Since checkable objects such as a Host or a Service object
+a satellite zone or agent zone. Since checkable objects such as a Host or a Service object
must have only one endpoint as authority, they cannot be put into a global zone (denied by
the config compiler).
@@ -1058,9 +1072,9 @@ is transmitted.
When the master connects to the child zone member(s), this requires more
resources there. Keep this in mind when endpoints are not reachable, the
TCP timeout blocks other resources. Moving a satellite zone in the middle
-between masters and agents/clients helps to split the tasks - the master
+between masters and agents helps to split the tasks - the master
processes and stores data, deploys configuration and serves the API. The
-satellites schedule the checks, connect to the agents/clients and receive
+satellites schedule the checks, connect to the agents and receive
check results.
Agents/Clients can also connect to the parent endpoints - be it a master or