Installation Manual - 76 Hub audit log forwarding decision preflight

Decision and preflight for the remaining hub-dc-v7 CIS audit-log-forwarding finding after hub API/config hardening.

This chapter records the hub-dc-v7 audit-log-forwarding decision gate after hub CIS API/config hardening.

The gate was read-only. It did not install logging, Loki, MinIO credentials, Vault paths, or any ClusterLogForwarder.

Governance

FieldValue
IssueOP-GF-COMPLIANCE-5 / #397
MilestoneWorkspace Governance
Governing ADRADR 0016
Previous gateOP-GF-COMPLIANCE-4 / #396

Starting Point

After chapter 75, hub ocp4-cis was reduced to two failures:

CheckStatus
ocp4-cis-audit-log-forwarding-enabledFAIL
ocp4-cis-configure-network-policies-namespacesFAIL

Audit-log forwarding comes first because the hub APIServer audit profile is now WriteRequestBodies. That makes audit retention more important and also increases the volume that any logging path must absorb.

Hub Read-Only State

Hub health during the preflight:

CheckResult
OpenShift4.20.18
ClusterVersionAvailable, not Progressing, not Failing
Nodes3/3 Ready
ClusterOperatorssteady
MachineConfigPoolssteady
Hub Argo CDSynced/Healthy at 92198cc

Audit/compliance state:

CheckResult
APIServer audit profileWriteRequestBodies
ocp4-cis-audit-log-forwarding-enabledFAIL
Hub ocp4-cis countsPASS=160, FAIL=2, MANUAL=21

Logging state:

ItemResult
logging/Loki namespaceabsent
cluster-logging Subscription/CSVabsent
Loki Subscription/CSVabsent
ClusterLogForwarder CRDabsent
LokiStack CRDabsent
ClusterLogging CRDabsent

Storage and secret-delivery state:

ItemResult
block storageStorageClass/lvms-vg1
LVMClusteropenshift-lvm-storage/lvmcluster Ready
ObjectBucket APIabsent
object-bucket storage classabsent
Vault R1 ClusterSecretStoresReady
Existing ExternalSecretsReady
OADP MinIO pathBSL Available

Catalog availability:

PackageAvailable version
cluster-loggingcluster-logging.v6.5.0
loki-operatorloki-operator.v6.5.1

Spoke Pattern Compared

The spoke pattern is under:

clusters/spoke-dc-v7/operators/cluster-logging/
clusters/spoke-dc-v7/operators/loki-operator/
clusters/spoke-dc-v7/platform-services/logging/

It installs Logging/Loki 6.5, provisions a NooBaa ObjectBucketClaim/loki-bucket, reshapes the generated OBC secret with External Secrets, creates LokiStack/logging-loki, and forwards application, infrastructure, and audit logs through ClusterLogForwarder/instance.

That exact pattern is not portable to hub because hub has no NooBaa or ObjectBucket API.

Decision

Do not make a permanent hub exception the preferred path.

The hub is the management plane, WriteRequestBodies is enabled, and the CIS control expects audit logs to be shipped for retention. A formal exception would leave the hub with weaker audit evidence than the spoke.

Do not copy the spoke logging stack directly.

The spoke stack assumes ODF/NooBaa object storage. The hub is compact and has LVMS local block storage only.

The next gate should implement a hub-specific, audit-only design:

ComponentDecision
OperatorsInstall cluster-logging and loki-operator on hub
Object storageDedicated external MinIO bucket, for example loki-hub-dc-v7
Credential custodyDedicated MinIO user/policy, stored in Vault R1
Secret deliveryExternal Secrets projects Secret/logging-loki-s3
LokiStack1x.pico, storageClassName: lvms-vg1, tenants mode openshift-logging
ForwardingAudit-only ClusterLogForwarder/instance first
RBACcollect-audit-logs and logging-collector-logs-writer only

Forwarding application and infrastructure logs can be added later if needed. The first remediation gate should stay narrow and target the failing CIS audit-log-forwarding control.

Next Gate

Run:

OP-GF-COMPLIANCE-6: implement hub audit-log forwarding

The implementation gate should:

  1. Create a dedicated MinIO bucket and credential for hub Loki.
  2. Seed the credential into Vault R1 with a dedicated policy/role.
  3. Add hub GitOps desired state for Logging/Loki operators.
  4. Add LokiStack/logging-loki and an audit-only ClusterLogForwarder.
  5. Validate collector and Loki readiness.
  6. Run a hub ocp4-cis rescan and verify ocp4-cis-audit-log-forwarding-enabled moves to PASS.

After that, handle the final hub CIS failure:

ocp4-cis-configure-network-policies-namespaces

Last reviewed: 2026-05-19