Skip to content

[UI] read_basebackups ignores AWS_ENDPOINT for S3 list/get (MinIO/S3-compatible) #3078

@eric-x-liu

Description

@eric-x-liu

Problem

When AWS_ENDPOINT is set for S3-compatible storage (e.g. MinIO), the postgres-operator UI partially uses it in ui/operator_ui/spiloutils.py:

  • read_stored_clusters and read_versions correctly use client('s3', endpoint_url=AWS_ENDPOINT).

In read_basebackups, the code still uses plain client('s3') for:

  1. get_paginator('list_objects_v2') (listing backup sentinel files)
  2. get_object when reading each *_backup_stop_sentinel.json

Those calls hit the default AWS endpoint, so the Backups tab can list cluster/version prefixes but fail or show empty data when loading base backup details against a custom endpoint.

This is the same class of issue as the older UI S3 endpoint discussion (e.g. #1028); the basebackup path was never aligned with the other helpers.

Suggested fix

Reuse a single s3_client = client('s3', endpoint_url=AWS_ENDPOINT) (or equivalent) for the paginator and get_object in read_basebackups, consistent with read_stored_clusters / read_versions.

Affected versions

Observed in v1.15.1; master still has the same client('s3') calls inside read_basebackups as of this report.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions