Skip to content

Commit 6c4785d

Browse files
committed
Populate OM output-resources with discovered resources
Add all output resources categorized by cluster targeting: ManagementResources (control plane): - ClusterOperator status - Target namespace and resources (Service, ServiceAccounts, ConfigMaps, Secrets) - Operator namespace resources (ConfigMaps) - Roles and RoleBindings in target namespace - EventingNamespaces: target and operator namespaces UserWorkloadResources (user workload cluster): - Namespace openshift-infra - ClusterRoles and ClusterRoleBindings for: - Namespace security allocation controller - PodSecurity admission label syncers - CSR approver controller - Localhost recovery Generated with Claude Code
1 parent ba7f856 commit 6c4785d

File tree

1 file changed

+68
-3
lines changed

1 file changed

+68
-3
lines changed

pkg/cmd/mom/output_resources_command.go

Lines changed: 68 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,76 @@ func runOutputResources(ctx context.Context) (*libraryoutputresources.OutputReso
1818
ExactResources: []libraryoutputresources.ExactResourceID{},
1919
},
2020
ManagementResources: libraryoutputresources.ResourceList{
21-
ExactResources: []libraryoutputresources.ExactResourceID{},
22-
EventingNamespaces: []string{},
21+
ExactResources: []libraryoutputresources.ExactResourceID{
22+
// ClusterOperator status
23+
libraryoutputresources.ExactClusterOperator("kube-controller-manager"),
24+
25+
// Namespace
26+
libraryoutputresources.ExactNamespace("openshift-kube-controller-manager"),
27+
28+
// Service
29+
libraryoutputresources.ExactService("openshift-kube-controller-manager", "kube-controller-manager"),
30+
31+
// ServiceAccounts
32+
libraryoutputresources.ExactServiceAccount("openshift-kube-controller-manager", "kube-controller-manager-sa"),
33+
libraryoutputresources.ExactServiceAccount("openshift-kube-controller-manager", "localhost-recovery-client"),
34+
libraryoutputresources.ExactServiceAccount("openshift-kube-controller-manager", "kube-controller-manager-recycler"),
35+
36+
// ConfigMaps
37+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "config"),
38+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "cluster-policy-controller-config"),
39+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "kube-controller-manager-pod"),
40+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "recycler-config"),
41+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "controller-manager-kubeconfig"),
42+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "serviceaccount-ca"),
43+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "client-ca"),
44+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "aggregator-client-ca"),
45+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "service-ca"),
46+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "trusted-ca-bundle"),
47+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager", "kube-controller-cert-syncer-kubeconfig"),
48+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager-operator", "csr-controller-ca"),
49+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager-operator", "csr-signer-ca"),
50+
libraryoutputresources.ExactConfigMap("openshift-kube-controller-manager-operator", "csr-controller-signer-ca"),
51+
52+
// Secrets
53+
libraryoutputresources.ExactSecret("openshift-kube-controller-manager", "localhost-recovery-token"),
54+
libraryoutputresources.ExactSecret("openshift-kube-controller-manager", "csr-signer"),
55+
libraryoutputresources.ExactSecret("openshift-kube-controller-manager", "kube-controller-manager-client-cert-key"),
56+
57+
// RoleBindings in target namespace
58+
libraryoutputresources.ExactRoleBinding("openshift-kube-controller-manager", "system:openshift:leader-election-lock-kube-controller-manager"),
59+
libraryoutputresources.ExactRoleBinding("openshift-kube-controller-manager", "system:openshift:leader-election-lock-openshift-cluster-policy-controller"),
60+
61+
// Roles
62+
libraryoutputresources.ExactRole("openshift-kube-controller-manager", "system:openshift:leader-election-lock-openshift-cluster-policy-controller"),
63+
},
64+
EventingNamespaces: []string{
65+
"openshift-kube-controller-manager",
66+
"openshift-kube-controller-manager-operator",
67+
},
2368
},
2469
UserWorkloadResources: libraryoutputresources.ResourceList{
25-
ExactResources: []libraryoutputresources.ExactResourceID{},
70+
ExactResources: []libraryoutputresources.ExactResourceID{
71+
// Namespace for infrastructure
72+
libraryoutputresources.ExactNamespace("openshift-infra"),
73+
74+
// ClusterRoles for namespace security and pod security
75+
libraryoutputresources.ExactClusterRole("system:openshift:controller:namespace-security-allocation-controller"),
76+
libraryoutputresources.ExactClusterRole("system:openshift:controller:podsecurity-admission-label-syncer-controller"),
77+
libraryoutputresources.ExactClusterRole("system:openshift:controller:podsecurity-admission-label-privileged-namespaces-syncer-controller"),
78+
79+
// ClusterRoleBindings
80+
libraryoutputresources.ExactClusterRoleBinding("system:openshift:controller:namespace-security-allocation-controller"),
81+
libraryoutputresources.ExactClusterRoleBinding("system:openshift:controller:podsecurity-admission-label-syncer-controller"),
82+
libraryoutputresources.ExactClusterRoleBinding("system:openshift:controller:podsecurity-admission-label-privileged-namespaces-syncer-controller"),
83+
84+
// CSR approver
85+
libraryoutputresources.ExactClusterRole("system:openshift:controller:cluster-csr-approver-controller"),
86+
libraryoutputresources.ExactClusterRoleBinding("system:openshift:controller:cluster-csr-approver-controller"),
87+
88+
// Localhost recovery
89+
libraryoutputresources.ExactClusterRoleBinding("system:openshift:operator:kube-controller-manager-recovery"),
90+
},
2691
},
2792
}, nil
2893
}

0 commit comments

Comments
 (0)