1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-31 03:45:17 +00:00

Fix: Hard-coded ClusterRoleName in OwnerRef breaks ()

* fix hardcoded clusterrole name

* Fix label
This commit is contained in:
Vyankatesh Kudtarkar 2021-11-16 17:02:42 +05:30 committed by GitHub
parent e3c17972a8
commit fa95132806
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 12 additions and 10 deletions
charts/kyverno/templates
config
pkg
config
webhookconfig

View file

@ -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

View file

@ -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:

View file

@ -7245,6 +7245,7 @@ kind: ClusterRole
metadata:
labels:
app: kyverno
app.kubernetes.io/ownerreference: "true"
name: kyverno:webhook
rules:
- apiGroups:

View file

@ -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

View file

@ -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:

View file

@ -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 (

View file

@ -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