Object Storage Buckets

Bucket-level inventory across MinIO (VM-side) and NooBaa OBC (in-cluster) — owner, purpose, lifecycle, readers, writers.

The lab uses two object-storage planes:

  • MinIO VM — standalone S3 endpoint outside any OpenShift cluster, used for CI evidence and backups that need to survive cluster reinstalls.
  • NooBaa MCG (in-cluster on spoke-dc-v6) — OBC-managed buckets provisioned through ODF for in-cluster operands (Loki, Tempo, Quay).

This page lists the named buckets / OBCs in use. Where a credential custody location is given it is a logical reference, not a usable token.

MinIO VM buckets

BucketOwnerPurposeLifecycleRead byWritten by
developer-ci-evidenceplatform-adminPer-build evidence (Trivy reports, SBOM, release records)smoke/ 30d, builds/ 90d, trivy/ 180d, sbom/ 365d, releases/ 365dDefectDojo importer (deferred), human auditor (read-only key)Jenkins (nexus-jenkinsbot parent), Jenkins build openliberty-readiness-probe-image-build
oadp-hub-dc-v6platform-adminOADP Velero backups for hub clusterOADP retention policyOADP restoreOADP backup controller on hub-dc-v6
oadp-spoke-dc-v6platform-adminOADP Velero backups for spoke clusterOADP retention policyOADP restoreOADP backup controller on spoke-dc-v6
acm-dpa-hub-dc-v6platform-adminACM DataProtectionApplication targetOADP retention policyACM restoreACM DPA
vault-snapshotsplatform-adminVault Raft snapshotsVault snapshot retentionVault restoreVault VM snapshot job

CI evidence prefix layout (developer-ci-evidence)

PrefixContent
builds/Build manifests + image-digest records (90d)
trivy/Trivy vulnerability reports per build (180d)
sbom/SBOM artifacts (CycloneDX/SPDX) per build (365d)
releases/Release evidence (manifest + signatures) (365d)
smoke/Smoke-test artifacts (30d)

NooBaa MCG OBCs (in-cluster, spoke-dc-v6)

NooBaa OBCs are provisioned through ObjectBucketClaim CRs. NooBaa writes an AWS_* Secret + a BUCKET_* ConfigMap; an ESO bridge transforms those into the operand-shaped Secret (LokiStack/TempoStack expect lowercase keys).

OBC / BucketOwnerPurposeLifecycleRead byWritten by
loki-storage (bucket loki-chunks)observability platform teamLokiStack chunk storeLokiStack retentionLokiStack queriersLokiStack distributors / ingesters
tempo-traces (bucket tempo-traces)observability platform teamTempoStack trace blocksTempoStack retentionTempoStack querierTempoStack ingester
quay-storage (bucket quay-registry)platform-adminQuay image blobsOperator-managedQuay registry pullQuay registry push

OBC -> operand Secret bridge

The bridge ExternalSecret (one per operand) lives in the operand’s GitOps overlay:

OperandExternalSecret manifest
TempoStackclusters/spoke-dc-v6/platform-services/tracing/externalsecret-tempo-storage.yaml
LokiStackclusters/spoke-dc-v6/platform-services/logging/externalsecret-loki-storage.yaml (tracked under #233)
Quayuses quay-config-bundle-secret populated from Vault path secret/ocp/spoke-dc-v6/quay/config-bundle

Credential custody (logical reference)

CredentialCustodyReference
developer-ci-evidence writerlocal file at "$MINIO_WRITER_ENV" # writer env file in local secrets dirconnection-details/minio.md
developer-ci-evidence readerlocal file at "$MINIO_READER_ENV" # reader env file in local secrets dirconnection-details/minio.md
OADP aws profile per clusterOADP DataProtectionApplication -> Secret in openshift-adp namespaceOADP install runbook
NooBaa OBC credsNooBaa-generated Secret in operand namespace, bridged via ESOproject_obc_to_operand_secret_bridge.md

Failure modes

SymptomRoot causeFix
LokiStack Warning Degraded, “missing endpoint key”OBC Secret has AWS_* keys but LokiStack wants lowercase endpoint/bucketnames/…Apply the ESO bridge ExternalSecret (Tempo pattern, tracked under #233 for Loki).
QuayRegistry stalls reconciliationVault path secret/ocp/spoke-dc-v6/quay/config-bundle emptyPopulate the Vault path, then restart the Quay operator.
oc mirror rejected by MinIOWrong target — MinIO is not the OpenShift mirrorUse Nexus mirror-registry.apps.sub.comptech-lab.com for oc mirror; MinIO is OADP/evidence only.

Internal only

MinIO endpoint host, access keys, secret keys, and the audit-grade backup/restore status are kept in opp-full-plat/connection-details/.

Last regenerated from connection-details/minio.md, connection-details/jenkins-ocp-path.md, project_obc_to_operand_secret_bridge.md, reference_lab_infrastructure.md.

Last reviewed: 2026-05-11