Skip to content

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.


When you start a Sink agent it:

  1. Authenticates with the Hub using its credentials
  2. Registers itself and announces what types of tasks it can handle
  3. Opens a persistent outbound stream to the Hub and waits for tasks
  4. 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 TypeLanguageBest for
PythonPython 3.12General automation, APIs, data processing
PowerShellPowerShell 7Windows administration, Azure management, scripting

Your administrator registers Sink Types in the platform. The Sink Type determines which code modules the agent can execute.


Choose the deployment model that fits your environment:

PlatformGuideNotes
WindowsInstall on WindowsRuns as a Windows Service; supports self-updating
LinuxInstall on LinuxRuns as a systemd unit; supports self-updating
Kubernetes / DockerContainer OrchestrationRuns as a Deployment; managed by Helm or docker-compose

Once a sink agent is running and connected, it appears on the Sinks screen in the UI. Status values:

StatusMeaning
ONLINEConnected and accepting tasks
OFFLINENot connected
RESETTINGGraceful restart in progress
KILLINGGraceful shutdown in progress
FORCE_KILLINGImmediate shutdown in progress

Before installing a sink agent, several things must be set up in Nexomatic. Work through these in order:

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.

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.

You will need the following values during installation:

ItemWhere to find it
Hub hostname and portProvided by your admin (e.g. hub.example.com:50051)
CLIENT_IDFrom the Sink Type detail panel (e.g. REMOTE:LINUX)
CLIENT_SECRETThe 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

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.