Network Architecture and Ports
Review the ports and firewall rules RTFS and Federated repositories need between JPD sites.
This reference describes the network ports, connectivity requirements, and communication paths used by the Repository Federation Service (RTFS) and Federated repositories.
RTFS Port Reference
The following table lists the ports RTFS uses.
| Port | Protocol | Service | Direction | Description |
|---|---|---|---|---|
| 8025 | HTTP | RTFS REST API | Internal | REST API for RTFS operations, event propagation, and health checks. |
| 8026 | gRPC | RTFS gRPC | Internal | gRPC interface for Artifactory-to-RTFS communication (validation, events, sync, tunneling). |
| 8046 | HTTP | Router (internal) | Internal | JFrog Router internal communication port. |
| 8082 | HTTP | Router (external) | External | JFrog Router external port for service registration and inter-service routing. |
Communication Paths
flowchart TB
subgraph jpd1 ["JPD Site A"]
rt1["Artifactory"]
rtfs1["RTFS"]
router1["Router :8082"]
rt1 <-->|"gRPC :8026"| rtfs1
rt1 <--> router1
rtfs1 <--> router1
end
subgraph jpd2 ["JPD Site B"]
rt2["Artifactory"]
rtfs2["RTFS"]
router2["Router :8082"]
rt2 <-->|"gRPC :8026"| rtfs2
rt2 <--> router2
rtfs2 <--> router2
end
router1 <-->|"HTTPS :443"| router2
classDef component fill:#41b375,stroke:#389b65,stroke-width:1px,color:#fff;
class rt1,rtfs1,router1,rt2,rtfs2,router2 component;
style jpd1 fill:none,stroke:#41b375,stroke-width:1px;
style jpd2 fill:none,stroke:#41b375,stroke-width:1px;
linkStyle default stroke:#8e9aaf,stroke-width:1.5px;
Internal Communication Within a JPD
The following table describes internal communication paths within a JPD.
| From | To | Protocol | Port | Purpose |
|---|---|---|---|---|
| Artifactory | RTFS | gRPC | 8026 | Event submission, validation, state queries, Full Sync, tunneling. |
| RTFS | Artifactory | HTTP | (Artifactory port) | Batch propagation, binary transfers, metadata queries. |
| Both | Router | HTTP | 8046 and 8082 | Service registration, internal routing. |
External Communication Between JPDs
The following table describes external communication paths between JPDs.
| From | To | Protocol | Port | Purpose |
|---|---|---|---|---|
| RTFS (Site A) | RTFS (Site B) | HTTPS | 443 (via Router) | Event propagation, Full Sync file list exchange, heartbeats, binary tasks. |
| Artifactory (Site A) | Artifactory (Site B) | HTTPS | 443 (via Router) | Binary transfers, validation responses. |
Firewall Requirements
Standard Federation Direct Connectivity
All JPDs participating in a Federation must be able to reach each other over HTTPS. The following table lists the minimum requirement.
| Rule | Source | Destination | Port | Protocol |
|---|---|---|---|---|
| Federation sync | Each JPD | Every other JPD | 443 | HTTPS |
Federation over Bridge
When using Federation over JFrog Bridge, only outbound connectivity from the self-managed JPD is required.
| Rule | Source | Destination | Port | Protocol |
|---|---|---|---|---|
| Bridge tunnel | Self-managed JPD | SaaS JPD | 443 | HTTPS (outbound only) |
No inbound firewall rules are needed on the self-managed side. See Federation over JFrog Bridge for details.
Probe Endpoints
RTFS exposes health check endpoints for Kubernetes probes. See Verify RTFS Is Running for a usage example.
| Probe | Endpoint | Purpose |
|---|---|---|
| Liveness | /rtfs/api/v1/system/liveness | Confirms the RTFS process is running. |
| Readiness | /rtfs/api/v1/system/readiness | Confirms RTFS is ready to serve traffic (database connected, configuration loaded). |
Test the liveness endpoint directly:
curl -s -o /dev/null -w "%{http_code}\n" https://<JFROG_PLATFORM_URL>/rtfs/api/v1/system/livenessWhere:
<JFROG_PLATFORM_URL>: The hostname of your JFrog Platform Deployment
For example:
curl -s -o /dev/null -w "%{http_code}\n" https://mycompany.jfrog.io/rtfs/api/v1/system/livenessA response of 200 indicates the endpoint is reachable and RTFS is healthy.
Proxy Configuration
If a proxy is required for outbound Federation traffic, configure it on each Federated repository. See Configure Proxy for Federation.
HTTP Timeout Settings
Network-related timeouts that may need adjustment for geographically distant members are listed in the following table. See RTFS Configuration for the complete property reference.
| Property | Default | Description |
|---|---|---|
rtfs.reactive.http.client.connect.timeout.sec | 120 | Connection establishment timeout (seconds). |
rtfs.reactive.http.client.response.timeout.sec | 120 | Response wait timeout (seconds). |
rtfs.reactive.http.client.read.timeout.sec | 120 | Read timeout (seconds). |
rtfs.reactive.http.client.write.timeout.sec | 120 | Write timeout (seconds). |
rtfs.http.client.connection.timeout.ms | 5000 | HTTP client connection timeout (milliseconds). |
rtfs.http.client.socket.timeout.sec | 300 | HTTP socket timeout for long-running operations (seconds). |
Related Topics
Updated about 7 hours ago
