func()

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
}