mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-31 03:45:17 +00:00
Fix: Hard-coded ClusterRoleName in OwnerRef breaks (#2718)
* fix hardcoded clusterrole name * Fix label
This commit is contained in:
parent
e3c17972a8
commit
fa95132806
7 changed files with 12 additions and 10 deletions
charts/kyverno/templates
config
pkg
|
@ -22,6 +22,7 @@ kind: ClusterRole
|
|||
metadata:
|
||||
name: {{ template "kyverno.fullname" . }}:webhook
|
||||
labels: {{ include "kyverno.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/ownerreference: "true"
|
||||
app: kyverno
|
||||
rules:
|
||||
# Dynamic creation of webhooks, events & certs
|
||||
|
|
|
@ -7360,6 +7360,7 @@ metadata:
|
|||
app.kubernetes.io/name: kyverno
|
||||
app.kubernetes.io/part-of: kyverno
|
||||
app.kubernetes.io/version: latest
|
||||
app.kubernetes.io/ownerreference: "true"
|
||||
name: kyverno:webhook
|
||||
rules:
|
||||
- apiGroups:
|
||||
|
|
|
@ -7245,6 +7245,7 @@ kind: ClusterRole
|
|||
metadata:
|
||||
labels:
|
||||
app: kyverno
|
||||
app.kubernetes.io/ownerreference: "true"
|
||||
name: kyverno:webhook
|
||||
rules:
|
||||
- apiGroups:
|
||||
|
|
|
@ -22,6 +22,7 @@ kind: ClusterRole
|
|||
metadata:
|
||||
labels:
|
||||
app: kyverno
|
||||
app.kubernetes.io/ownerreference: "true"
|
||||
name: kyverno:webhook
|
||||
rules:
|
||||
# Dynamic creation of webhooks, events & certs
|
||||
|
|
|
@ -7278,6 +7278,7 @@ metadata:
|
|||
app.kubernetes.io/name: kyverno
|
||||
app.kubernetes.io/part-of: kyverno
|
||||
app.kubernetes.io/version: latest
|
||||
app.kubernetes.io/ownerreference: "true"
|
||||
name: kyverno:webhook
|
||||
rules:
|
||||
- apiGroups:
|
||||
|
|
|
@ -63,9 +63,6 @@ const (
|
|||
|
||||
// ClusterRoleKind define the default clusterrole resource kind
|
||||
ClusterRoleKind = "ClusterRole"
|
||||
|
||||
// ClusterRoleName define the default name of clusterrole
|
||||
ClusterRoleName = "kyverno:webhook"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
@ -60,27 +60,27 @@ func extractCA(config *rest.Config) (result []byte) {
|
|||
func (wrc *Register) constructOwner() v1.OwnerReference {
|
||||
logger := wrc.log
|
||||
|
||||
kubeClusterRole, err := wrc.GetKubePolicyClusterRole()
|
||||
kubeClusterRoleName, err := wrc.GetKubePolicyClusterRoleName()
|
||||
if err != nil {
|
||||
logger.Error(err, "failed to construct OwnerReference")
|
||||
logger.Error(err, "failed to get cluster role")
|
||||
return v1.OwnerReference{}
|
||||
}
|
||||
|
||||
return v1.OwnerReference{
|
||||
APIVersion: config.ClusterRoleAPIVersion,
|
||||
Kind: config.ClusterRoleKind,
|
||||
Name: config.ClusterRoleName,
|
||||
UID: kubeClusterRole.GetUID(),
|
||||
Name: kubeClusterRoleName.GetName(),
|
||||
UID: kubeClusterRoleName.GetUID(),
|
||||
}
|
||||
}
|
||||
|
||||
func (wrc *Register) GetKubePolicyClusterRole() (*unstructured.Unstructured, error) {
|
||||
kubeNamespace, err := wrc.client.GetResource(config.ClusterRoleAPIVersion, config.ClusterRoleKind, "", config.ClusterRoleName)
|
||||
func (wrc *Register) GetKubePolicyClusterRoleName() (*unstructured.Unstructured, error) {
|
||||
clusterRole, err := wrc.client.ListResource(config.ClusterRoleAPIVersion, config.ClusterRoleKind, "", &v1.LabelSelector{MatchLabels: map[string]string{"app.kubernetes.io/ownerreference": "true"}})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return kubeNamespace, nil
|
||||
return &clusterRole.Items[0], nil
|
||||
}
|
||||
|
||||
// GetKubePolicyDeployment gets Kyverno deployment using the resource cache
|
||||
|
|
Loading…
Add table
Reference in a new issue