Merge pull request #1622 from stingshen/stingshen/nil_cluster_secret
check if cluster secretRef is nil before using it
This commit is contained in:
commit
73e24c2ac5
|
@ -191,14 +191,29 @@ func startClusterStatusController(ctx controllerscontext.Context) (enabled bool,
|
|||
clusterPredicateFunc := predicate.Funcs{
|
||||
CreateFunc: func(createEvent event.CreateEvent) bool {
|
||||
obj := createEvent.Object.(*clusterv1alpha1.Cluster)
|
||||
|
||||
if obj.Spec.SecretRef == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return obj.Spec.SyncMode == clusterv1alpha1.Push
|
||||
},
|
||||
UpdateFunc: func(updateEvent event.UpdateEvent) bool {
|
||||
obj := updateEvent.ObjectNew.(*clusterv1alpha1.Cluster)
|
||||
|
||||
if obj.Spec.SecretRef == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return obj.Spec.SyncMode == clusterv1alpha1.Push
|
||||
},
|
||||
DeleteFunc: func(deleteEvent event.DeleteEvent) bool {
|
||||
obj := deleteEvent.Object.(*clusterv1alpha1.Cluster)
|
||||
|
||||
if obj.Spec.SecretRef == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return obj.Spec.SyncMode == clusterv1alpha1.Push
|
||||
},
|
||||
GenericFunc: func(genericEvent event.GenericEvent) bool {
|
||||
|
|
|
@ -121,11 +121,12 @@ func buildClusterConfig(clusterName string, client client.Client) (*rest.Config,
|
|||
return nil, fmt.Errorf("the api endpoint of cluster %s is empty", clusterName)
|
||||
}
|
||||
|
||||
if cluster.Spec.SecretRef == nil {
|
||||
return nil, fmt.Errorf("cluster %s does not have a secret", clusterName)
|
||||
}
|
||||
|
||||
secretNamespace := cluster.Spec.SecretRef.Namespace
|
||||
secretName := cluster.Spec.SecretRef.Name
|
||||
if secretName == "" {
|
||||
return nil, fmt.Errorf("cluster %s does not have a secret name", clusterName)
|
||||
}
|
||||
|
||||
secret := &corev1.Secret{}
|
||||
if err := client.Get(context.TODO(), types.NamespacedName{Namespace: secretNamespace, Name: secretName}, secret); err != nil {
|
||||
|
|
Loading…
Reference in New Issue