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:
get_paginator('list_objects_v2') (listing backup sentinel files)
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
Problem
When
AWS_ENDPOINTis set for S3-compatible storage (e.g. MinIO), the postgres-operator UI partially uses it inui/operator_ui/spiloutils.py:read_stored_clustersandread_versionscorrectly useclient('s3', endpoint_url=AWS_ENDPOINT).In
read_basebackups, the code still uses plainclient('s3')for:get_paginator('list_objects_v2')(listing backup sentinel files)get_objectwhen reading each*_backup_stop_sentinel.jsonThose 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 andget_objectinread_basebackups, consistent withread_stored_clusters/read_versions.Affected versions
Observed in
v1.15.1;masterstill has the sameclient('s3')calls insideread_basebackupsas of this report.References
read_basebackups)