Installation Manual - 81 Hub operator ACM NetworkPolicy design

Read-only design gate for remaining hub-dc-v7 NetworkPolicy coverage after the first low-risk apply set.

This chapter records the hub-dc-v7 design gate for the remaining NetworkPolicy coverage work after the first low-risk set.

The gate was read-only. It did not apply new NetworkPolicies or change the Compliance Operator baseline.

Governance

FieldValue
IssueOP-GF-COMPLIANCE-10 / #402
MilestoneWorkspace Governance
Governing ADRADR 0016
PredecessorOP-GF-COMPLIANCE-9 / #401

Access Path

All live checks used the established path:

local workspace -> dl385-2 -> gf-ocp-bootstrap-01 -> hub-dc-v7 kubeconfig

No Secret values, kubeconfigs, tokens, pull secrets, PAT values, MinIO keys, or full Secret manifests were printed.

Live Health

Read-only validation at 2026-05-19T11:55:47Z:

CheckResult
OpenShift4.20.18
Network typeOVNKubernetes
ClusterVersionAvailable, not Progressing, not Failing
Nodes3/3 Ready
ClusterOperatorssteady
MachineConfigPoolssteady
Hub Argo CDSynced/Healthy at f4c643e
Non-running podsnone
Target CIS checkFAIL

ComplianceCheckResult counts:

StatusCount
PASS161
FAIL1
MANUAL21

Remaining Namespaces

Non-system namespaces still without NetworkPolicy:

cert-manager
cert-manager-operator
external-secrets-operator
hive
hypershift
multicluster-engine
open-cluster-management
open-cluster-management-agent
open-cluster-management-agent-addon
open-cluster-management-hub
rhacs-operator

Lower-Risk Apply Candidates

These namespaces do not expose admission webhooks, APIService backends, or routes in the live inventory.

NamespaceProposed next action
cert-manager-operatordefault-deny ingress plus monitoring allow on 8443
external-secrets-operatordefault-deny ingress plus monitoring allow on 8443 and 8080
rhacs-operatordefault-deny ingress plus monitoring allow on 8443
open-cluster-management-agentdefault-deny ingress only
open-cluster-management-agent-addondefault-deny ingress plus monitoring allow on 8443 and 8388

Monitoring source namespaces are labeled:

network.openshift.io/policy-group=monitoring

Sensitive Namespaces

These namespaces need a separate canary policy or tailoring decision.

NamespaceSensitive ingress
cert-managervalidating and mutating webhooks
hiveAPIService/v1.admission.hive.openshift.io and admission service
hypershiftvalidating and mutating HostedCluster/NodePool webhooks
multicluster-engineroutes, APIService backends, validating/mutating webhooks
open-cluster-managementroute, validating webhooks, metrics
open-cluster-management-hubcore ACM validating/mutating webhooks

Router source namespace is labeled:

network.openshift.io/policy-group=ingress

Admission webhook/APIService traffic needs extra care because kube-apiserver pods are host-networked. Do not apply broad default-deny to these namespaces without canary validation.

Tailoring Surface

The hub has no TailoredProfile today. The current ScanSettingBinding/cis uses Profile/ocp4-cis and Profile/ocp4-cis-node.

Relevant variable:

ocp4-var-network-policies-namespaces-exempt-regex

Current value:

None

If strict policy design is too risky for product-owned webhook/APIService namespaces, use a documented TailoredProfile rather than an unreviewed blanket default-deny.

Potential later tailoring candidate set:

cert-manager|hive|hypershift|multicluster-engine|open-cluster-management|open-cluster-management-hub

Recommendation

Use a split sequence:

  1. Apply lower-risk operator/agent policies in a separate gate.
  2. Validate hub health, Argo, pod readiness, metrics exposure, and Compliance inventory.
  3. Design canary webhook/APIService policies or a documented tailoring decision for the remaining product-owned namespaces.

Next Gate

Recommended next gate:

OP-GF-COMPLIANCE-11: apply hub lower-risk operator/agent NetworkPolicies

Last reviewed: 2026-05-19