pub struct RunnerSelector {
pub match_labels: Labels,
pub match_expressions: Vec<SelectorRequirement>,
}Expand description
Label selector for runner routing.
TaskSpec
┌────────────────────────────────────────────────────────┐
│ runner_selector: │
│ match_labels: { "zone": "eu" } │
│ match_expressions: [ {key:"gpu", op:Exists} ] │
└──────────────────────────┬─────────────────────────────┘
│ ALL requirements ANDed
▼
RunnerRouter::pick()
┌────────────────────────────────────────────────────────┐
│ Runner A labels: {"zone":"us","gpu":"a100"} ✗ skip │
│ Runner B labels: {"zone":"eu","gpu":"h100"} ✓ match │
│ Runner C labels: {"zone":"eu"} ✗ skip │
└────────────────────────────────────────────────────────┘Both match_labels and match_expressions are ANDed together.
An empty selector matches every runner.
§Also
SelectorRequirementindividual expression-based requirement.SelectorOperatorset operators (In,NotIn,Exists,DoesNotExist).TaskSpeccarries optionalrunner_selector.
Fields§
§match_labels: LabelsExact key=value pairs: sugar for In with a single value.
match_expressions: Vec<SelectorRequirement>Set-based requirements, ANDed with match_labels.
Implementations§
Source§impl RunnerSelector
impl RunnerSelector
Sourcepub fn from_labels(labels: Labels) -> Self
pub fn from_labels(labels: Labels) -> Self
Selector from exact key=value pairs only.
Sourcepub fn from_expressions(expr: Vec<SelectorRequirement>) -> Self
pub fn from_expressions(expr: Vec<SelectorRequirement>) -> Self
Selector from expressions only.
Trait Implementations§
Source§impl Clone for RunnerSelector
impl Clone for RunnerSelector
Source§fn clone(&self) -> RunnerSelector
fn clone(&self) -> RunnerSelector
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RunnerSelector
impl Debug for RunnerSelector
Source§impl Default for RunnerSelector
impl Default for RunnerSelector
Source§fn default() -> RunnerSelector
fn default() -> RunnerSelector
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for RunnerSelector
impl<'de> Deserialize<'de> for RunnerSelector
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RunnerSelector
impl PartialEq for RunnerSelector
Source§impl Serialize for RunnerSelector
impl Serialize for RunnerSelector
impl Eq for RunnerSelector
impl StructuralPartialEq for RunnerSelector
Auto Trait Implementations§
impl Freeze for RunnerSelector
impl RefUnwindSafe for RunnerSelector
impl Send for RunnerSelector
impl Sync for RunnerSelector
impl Unpin for RunnerSelector
impl UnsafeUnpin for RunnerSelector
impl UnwindSafe for RunnerSelector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more