Sink Agents
A Sink is an agent process that runs inside your infrastructure and executes automation tasks dispatched by the Hub. Sinks connect outbound to the Hub over a persistent connection — no inbound firewall rules are required on your network.
How a Sink Works
Section titled “How a Sink Works”When you start a Sink agent it:
- Authenticates with the Hub using its credentials
- Registers itself and announces what types of tasks it can handle
- Opens a persistent outbound stream to the Hub and waits for tasks
- Receives Task Requests, executes the configured module, and sends results back
The Hub tracks which sinks are online and routes events only to sinks that match the required Sink Type. If all matching sinks are busy or offline, events queue safely until one becomes available.
Sink Types
Section titled “Sink Types”| Sink Type | Language | Best for |
|---|---|---|
| Python | Python 3.12 | General automation, APIs, data processing |
| PowerShell | PowerShell 7 | Windows administration, Azure management, scripting |
Your administrator registers Sink Types in the platform. The Sink Type determines which code modules the agent can execute.
Deployment Options
Section titled “Deployment Options”Choose the deployment model that fits your environment:
| Platform | Guide | Notes |
|---|---|---|
| Windows | Install on Windows | Runs as a Windows Service; supports self-updating |
| Linux | Install on Linux | Runs as a systemd unit; supports self-updating |
| Kubernetes / Docker | Container Orchestration | Runs as a Deployment; managed by Helm or docker-compose |
Sink Status
Section titled “Sink Status”Once a sink agent is running and connected, it appears on the Sinks screen in the UI. Status values:
| Status | Meaning |
|---|---|
ONLINE | Connected and accepting tasks |
OFFLINE | Not connected |
RESETTING | Graceful restart in progress |
KILLING | Graceful shutdown in progress |
FORCE_KILLING | Immediate shutdown in progress |
What You Need Before Installing
Section titled “What You Need Before Installing”Before installing a sink agent, several things must be set up in Nexomatic. Work through these in order:
1. Create a Sink Type
Section titled “1. Create a Sink Type”A Sink Type must exist before you can connect any agent. It defines the agent category, authentication credentials, and available code libraries. See Sink Types & Configuration for a step-by-step guide.
2. Create Libraries and Modules
Section titled “2. Create Libraries and Modules”The Sink Type needs at least one Library with one or more Library Modules — these are the code units your Actions will execute. See Actions & Libraries for details.
3. Gather Connection Details
Section titled “3. Gather Connection Details”You will need the following values during installation:
| Item | Where to find it |
|---|---|
| Hub hostname and port | Provided by your admin (e.g. hub.example.com:50051) |
CLIENT_ID | From the Sink Type detail panel (e.g. REMOTE:LINUX) |
CLIENT_SECRET | The one-time secret displayed when the Sink Type was created. If lost, regenerate it from the Sink Type detail panel |
TENANT_UUID (optional) | Your tenant’s UUID — only needed to pin the sink to a single tenant |
TENANT_SECRET (optional) | Registration secret — required if your tenant enforces node auth |
4. Create Actions and Event Types
Section titled “4. Create Actions and Event Types”Actions (referencing Library Modules) and Event Types (linking triggers to Actions) define what the agent does when it receives a task. These can be created before or after installation, but the agent won’t execute anything until they exist. See Getting Started for the full workflow.