Skip to content

Add S3 endpoint URL support in webui/server/settings.json #1797

@junhaoliao

Description

@junhaoliao

Request

The webui server settings JSON configuration needs to support custom S3 endpoint URLs to enable compatibility with S3-compatible storage services such as MinIO, Ceph, and other object storage providers.

Currently, the clp_config.py schema supports endpoint_url in the S3Config model thanks to #1758 :

class S3Config(BaseModel):
    endpoint_url: str | None = None
    region_code: NonEmptyStr | None = None
    bucket: NonEmptyStr
    key_prefix: str
    aws_authentication: AwsAuthentication

However, the webui server settings in configmap.yaml only includes:

  • StreamFilesS3Region
  • StreamFilesS3PathPrefix
  • StreamFilesS3Profile

It does not include a field for StreamFilesS3EndpointUrl (or similar), which prevents the webui from connecting to non-AWS S3 endpoints.

This is important because:

  1. Many organizations use self-hosted S3-compatible storage (MinIO, Ceph, etc.)
  2. The rest of the CLP components already support custom endpoints via endpoint_url
  3. Without this, the webui cannot serve stream files from custom S3 endpoints

Possible implementation

  1. Add a StreamFilesS3EndpointUrl field to the webui server settings schema in webui/server

  2. Update controller.py to pass the config to the webui

  3. Update the webui server code to use the endpoint URL when creating the S3 client for fetching stream files

The webui server TypeScript code would need to be updated to:

  • Accept the new StreamFilesS3EndpointUrl setting
  • Pass the endpoint URL to the AWS S3 SDK client configuration

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions