in internal/resource/serviceaccount.go [40:57]
func (builder ServiceAccountBuilder) GetObsoleteObjects(ctx context.Context) ([]client.Object, error) {
currentServiceAccountList := &v1.ServiceAccountList{}
obsoleteObjects := []client.Object{}
listOptions := []client.ListOption{
client.InNamespace(builder.Instance.Namespace),
client.MatchingLabels(metadata.GetLabels(builder.Instance.Name, builder.Instance.Labels)),
}
if err := builder.Client.List(ctx, currentServiceAccountList, listOptions...); err != nil {
return nil, err
}
for _, serviceAccount := range currentServiceAccountList.Items {
sa := serviceAccount
if !builder.Instance.ServiceAccountProvided() || sa.Name != builder.Instance.Spec.ServiceAccount.Name {
obsoleteObjects = append(obsoleteObjects, &sa)
}
}
return obsoleteObjects, nil
}