Skip to content

Add native to framework LabelSelector support #1538

Closed
@Danil-Grigorev

Description

@Danil-Grigorev

Would you like to work on this feature?

yes

What problem are you trying to solve?

While trying to implement a requirement to reconcile objects based on label existence on either the object of the objects Namespace, we faced with missing functionality. Passing label selector to the controller to establish watches on the resource is not possible in this scenario without duplicating cache content, or entirely ignoring label selectors in watch and storing all watched resources in memory.

In such case we need to perform label selector matching logic on the client side.

Describe the solution you'd like

#1482 or similar.

User can preserve the original LabelSelector for serialization/deserialization purposes.
A separate structure capable of converting From LabelSelector will allow to perform match operation on the resource or directly resource labels.

Describe alternatives you've considered

Linkerd: https://github.com/linkerd/linkerd2/blob/main/policy-controller/k8s/api/src/labels.rs
Crust-gather: https://github.com/crust-gather/crust-gather/blob/main/src/gather/selector.rs

Documentation, Adoption, Migration Strategy

No response

Target crate for feature

core

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions