Skip to content

proxystore.endpoint.config

Endpoint configuration.

MAX_OBJECT_SIZE_DEFAULT module-attribute

MAX_OBJECT_SIZE_DEFAULT = 100000000

Default maximum endpoint object size in bytes.

EndpointRelayAuthConfig

Bases: BaseModel

Endpoint relay server authentication configuration.

Attributes:

  • method (Literal['globus'] | None) –

    Relay server authentication method.

  • kwargs (dict[str, Any]) –

    Arbitrary options used by the authentication method.

EndpointRelayICEServerConfig

Bases: BaseModel

STUN/TURN server used when gathering ICE candidates.

Attributes:

  • urls (str | list[str]) –

    One or more URLs of the STUN or TURN server (e.g., stun:stun.l.google.com:19302).

  • username (str | None) –

    Optional username for authenticating with a TURN server.

  • credential (str | None) –

    Optional credential for authenticating with a TURN server.

EndpointRelayConfig

Bases: BaseModel

Endpoint relay server configuration.

Attributes:

  • address (str | None) –

    Address of the relay server to register with.

  • auth (EndpointRelayAuthConfig) –

    Relay server authentication configuration.

  • ice_servers (list[EndpointRelayICEServerConfig] | None) –

    STUN/TURN servers to use when gathering ICE candidates for peer connections. If None, a default set of public STUN servers is used. An empty list disables server-reflexive candidate gathering entirely, which is useful when all peers are on the same host or when STUN servers are unreachable.

  • peer_channels (int) –

    Number of peer channels to multiplex communication over.

  • verify_certificate (bool) –

    Validate the relay server's SSL certificate. This should only be disabled when testing endpoints with local relay servers using self-signed certificates.

EndpointStorageConfig

Bases: BaseModel

Endpoint data storage configuration.

Attributes:

  • database_path (str | None) –

    Optional path to SQLite database file that will be used for storing endpoint data. If None, data will only be stored in-memory.

  • max_object_size (int) –

    Maximum object size in bytes. If 0, there is no limit on object sizes.

object_size_limit property

object_size_limit: int | None

Maximum object size in bytes or None if there is no limit.

EndpointConfig

Bases: BaseModel

Endpoint configuration.

Attributes:

  • name (str) –

    Endpoint name.

  • uuid (str) –

    Endpoint UUID.

  • host (str | None) –

    Host endpoint is running on.

  • host_type (Literal['fqdn', 'ip', 'static']) –

    Type of host address to use. If "ip" or "fqdn", the host is determined when the endpoint starts. If "static", the host field is used.

  • port (int) –

    Port endpoint is running on.

  • tls (bool) –

    Encrypt connections between clients and the endpoint with TLS. The endpoint generates a self-signed certificate each time it starts, and clients only trust that certificate.

  • relay (EndpointRelayConfig) –

    Relay server configuration used for peering.

  • storage (EndpointStorageConfig) –

    Storage configuration.

Raises:

  • ValueError –

    If the name does not contain only alphanumeric, dash, or underscore characters, if the UUID cannot be parsed, or if the port is not in the range [1, 65535].

validate_name

validate_name(name: str) -> bool

Validate name only contains alphanumeric or dash/underscore chars.

Source code in proxystore/endpoint/config.py
def validate_name(name: str) -> bool:
    """Validate name only contains alphanumeric or dash/underscore chars."""
    return len(re.findall(r'[^A-Za-z0-9_\-]', name)) == 0 and len(name) > 0