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
KubernetesConfiguration makes creation of AppsV1Api conditional on the absence of DeploymentProperties, even though those properties are the configuration needed to create the client and are enabled by the same configuration class.
Executed at fda742c48e7f553c9964cf74b36732326d0fde00 with ApplicationContextRunner:
Observed: context starts with zero AppsV1Api beans. The condition report explicitly says scale.enabled=true matched, but apiClient's OnMissingBean condition failed because deploymentProperties already exists. The decision depends on bean registration, not the values of those properties; supplying a pre-registered/custom properties bean disables the client factory. The scaler factory has the same wrong missing-properties condition.
The component KubernetesScaler accepts Optional.empty(). A subsequent scaleByNum(3) was also executed and throws NullPointerException because appsV1Api is null; only ApiException is handled. Do not interpret this report as proof that every default Boot registration ordering fails: the explicit pre-registered-properties path above is the verified trigger.
Use the client/scaler bean types as the relevant back-off conditions rather than the existence of their configuration properties. Preserve supported custom client/properties overrides. Make disabled/unavailable scaling explicit so applying a policy does not fail with a null dereference. Cover standard binding, pre-registered properties, a custom AppsV1Api, enabled/disabled mode and missing-client policy activation.
Medium severity, high confidence for the reproduced configuration. Distinct from #7698 (uninitialized V1Scale spec) and #7886 (time-window scheduling).
Activity
konlue commentedon Oct 21, 2026
/assign
fix(admin): register k8s properties as a conditional bean and verify …
fix(admin): keep the deployment properties prefix on the class only (a…
fix(admin): back k8s client/scaler beans off their own types and guar…
fix(admin): register k8s properties as a conditional bean and verify …
fix(admin): keep the deployment properties prefix on the class only (a…
fix(admin): back k8s client/scaler beans off their own types and guar…