Reference

Ports and network

Every network connection SQL Flow makes, with its direction, default port, protocol and the setting that changes it.

This table lists every connection between SQL Flow components, your databases and outside services. The arrow points from the side that opens the connection. Allow the connection in that direction only; no reply rule is needed beyond normal stateful firewalling. For the rules to open on each host, see Network and ports.

Connections

FromToDefault portProtocolPurposeChange it with
Browser, CLIControl plane443 (hosted); 5100 (container image)HTTPSUI and CLIHosted: fixed. Air-gapped: ASPNETCORE_URLS or Kestrel:Endpoints.
AgentControl planeSame as aboveHTTPSEnrollment, configuration, commands, status, metrics and logsThe agent's --control-plane URL
Log brokerControl planeSame as aboveHTTPSRegistration, configuration and statusThe broker's --control-plane URL
AgentLog broker7003TLS 1.3 over TCP, or TLS 1.2 on Windows hosts without TLS 1.3Reading transaction-log filesBroker:ListenPort on the control plane; --listen-port for a second broker on the same host
Capture agentApply agent7420Mutual TLS 1.3 over TCPRelay of change packetsThe port on the wizard's relay pairing; Relay:ListenPort on the control plane for the default
AgentSource databaseThe engine's port, for example 1433, 1521, 5432, 3306The engine's protocol, with TLS as the connection's Encryption setting decides (Require by default)Initial load, capture and connection testsThe connection's port
AgentTargetThe engine's or service's portThe engine's or service's protocol, with TLS as for a sourceApplyThe connection's port
Control planePostgreSQL5432PostgreSQL, TLS recommendedThe control plane's store (air-gapped)ConnectionStrings:SqlFlow
Control planeWebhook endpoints443 or the URL's portHTTPS or HTTPNotificationsThe channel URL
Control planeMail provider443HTTPSWelcome and password-reset mail (optional, air-gapped)Postmark:* settings
BrowserDownload storage, Azure Blob Storage at <account>.blob.core.windows.net443HTTPSCLI, agent and broker downloads from Downloads, Add agent and Add brokerDownloads:* settings (air-gapped)

Nothing connects to an agent or a broker from the control plane. The only inbound ports on agent and broker hosts are the broker's data port and, on an apply agent in a relay pipeline, the relay port.

Listener details

  • Control plane: binds the addresses in ASPNETCORE_URLS or Kestrel:Endpoints; the container image sets https://+:5100. It doesn't start without at least one https:// binding, and an http:// binding beside it only redirects.
  • Log broker data port: listens on all interfaces and accepts only the agent addresses in --allow-ips.
  • Relay listener on the apply agent: opens only while the agent runs the apply half of a relay pipeline. It binds the pairing's address when that is a local IP address, and otherwise all interfaces.

Name resolution

  • Agents to brokers. An agent dials a broker by the broker host's machine name. When that name doesn't resolve from the agent, record an address on the pipeline wizard's Broker step.
  • Capture agent to apply agent. When the apply agent's registered name and addresses aren't reachable from the capture agent, set Relay host on the pairing. See Relay.
  • Agents and brokers to the control plane. The host name in their install command must be one the control plane's certificate names. See Air-gapped deployment.

Proxies and load balancers

The control plane holds an agent's command request open for up to 20 seconds. Set idle and server timeouts on any proxy or load balancer in front of the control plane above 20 seconds, so these requests aren't cut.

If the control plane is unreachable, agents and brokers keep running the work they already have for up to 24 hours.

See also

If this was useful,
our newsletter will be too.

Get monthly insights on data engineering, AI, and building critical infrastructure - direct from the Spectral Core team and CEO Damir Bulic.