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.

PortProtocolServiceDirectionDescription
8025HTTPRTFS REST APIInternalREST API for RTFS operations, event propagation, and health checks.
8026gRPCRTFS gRPCInternalgRPC interface for Artifactory-to-RTFS communication (validation, events, sync, tunneling).
8046HTTPRouter (internal)InternalJFrog Router internal communication port.
8082HTTPRouter (external)ExternalJFrog 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.

FromToProtocolPortPurpose
ArtifactoryRTFSgRPC8026Event submission, validation, state queries, Full Sync, tunneling.
RTFSArtifactoryHTTP(Artifactory port)Batch propagation, binary transfers, metadata queries.
BothRouterHTTP8046 and 8082Service registration, internal routing.

External Communication Between JPDs

The following table describes external communication paths between JPDs.

FromToProtocolPortPurpose
RTFS (Site A)RTFS (Site B)HTTPS443 (via Router)Event propagation, Full Sync file list exchange, heartbeats, binary tasks.
Artifactory (Site A)Artifactory (Site B)HTTPS443 (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.

RuleSourceDestinationPortProtocol
Federation syncEach JPDEvery other JPD443HTTPS

Federation over Bridge

When using Federation over JFrog Bridge, only outbound connectivity from the self-managed JPD is required.

RuleSourceDestinationPortProtocol
Bridge tunnelSelf-managed JPDSaaS JPD443HTTPS (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.

ProbeEndpointPurpose
Liveness/rtfs/api/v1/system/livenessConfirms the RTFS process is running.
Readiness/rtfs/api/v1/system/readinessConfirms 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/liveness

Where:

  • <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/liveness

A 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.

PropertyDefaultDescription
rtfs.reactive.http.client.connect.timeout.sec120Connection establishment timeout (seconds).
rtfs.reactive.http.client.response.timeout.sec120Response wait timeout (seconds).
rtfs.reactive.http.client.read.timeout.sec120Read timeout (seconds).
rtfs.reactive.http.client.write.timeout.sec120Write timeout (seconds).
rtfs.http.client.connection.timeout.ms5000HTTP client connection timeout (milliseconds).
rtfs.http.client.socket.timeout.sec300HTTP socket timeout for long-running operations (seconds).

Related Topics


Did this page help you?