You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add missing default-filters and comparable-resource-versions config keys
`withDefaultFilters(boolean)` had no binding in ConfigLoader, and
`comparableResourceVersions` existed on the informer config builder but had
neither an overrider method nor a config key, making the informer options
asymmetric.
- add `josdk.controller.<name>.default-filters`
- add `ControllerConfigurationOverrider#withComparableResourceVersions` and
`josdk.controller.<name>.informer.comparable-resource-versions`
The binding coverage tests did not catch the missing `default-filters` key
because they matched bindings to setters by parameter type only, so any
`Boolean` binding made every `boolean` setter look covered. They now use an
explicit setter-name to key mapping, which fails when a scalar setter is added
without a key, and check that every mapped key is actually looked up.
Copy file name to clipboardExpand all lines: docs/content/en/docs/documentation/operations/configuration.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -350,6 +350,7 @@ All controller-level keys are prefixed with `josdk.controller.<controller-name>.
350
350
|`josdk.controller.<name>.max-reconciliation-interval`|`Duration`| Maximum interval between reconciliations even without events |
351
351
|`josdk.controller.<name>.field-manager`|`String`| Field manager name used for SSA operations |
352
352
|`josdk.controller.<name>.trigger-reconciler-on-all-events`|`Boolean`| Trigger reconciliation on every event, not only meaningful changes |
353
+
|`josdk.controller.<name>.default-filters`|`Boolean`| When `false`, JOSDK's internal update filters (generation-aware, finalizer-needed, marked-for-deletion) are not applied and the user's `onUpdateFilter` becomes the sole filter |
|`josdk.controller.<name>.informer.label-selector`|`String`| Label selector for the primary resource informer (alias for `label-selector`) |
384
385
|`josdk.controller.<name>.informer.shard-selector`|`String`| Shard selector for the primary resource informer (alias for `shard-selector`) |
385
386
|`josdk.controller.<name>.informer.list-limit`|`Long`| Page size for paginated informer list requests; omit for no pagination |
387
+
|`josdk.controller.<name>.informer.comparable-resource-versions`|`Boolean`| Whether the resource versions of the primary resource can be treated as integers and thus compared |
Copy file name to clipboardExpand all lines: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfigurationOverrider.java
+12Lines changed: 12 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -198,6 +198,18 @@ public ControllerConfigurationOverrider<R> withDefaultFilters(boolean defaultFil
198
198
returnthis;
199
199
}
200
200
201
+
/**
202
+
* Sets whether the resource versions of the watched primary resource can be considered integers,
0 commit comments