During desired nodes updates the system validates that the provided node settings are valid in order to avoid boot looping issues. If one of the node settings depends on a secure setting, the validation fails even when the secure setting is present and correct.
server/src/main/java/org/elasticsearch/node/Node.java
b.bind(LocalHealthMonitor.class).toInstance(localHealthMonitor);
                b.bind(HealthInfoCache.class).toInstance(nodeHealthOverview);
                b.bind(HealthApiStats.class).toInstance(healthApiStats);
                b.bind(Tracer.class).toInstance(tracer);
                b.bind(FileSettingsService.class).toInstance(fileSettingsService);
                b.bind(WriteLoadForecaster.class).toInstance(writeLoadForecaster);
                b.bind(HealthPeriodicLogger.class).toInstance(healthPeriodicLogger);
                b.bind(CompatibilityVersions.class).toInstance(compatibilityVersions);
                b.bind(InferenceServiceRegistry.class).toInstance(inferenceServiceRegistry);
            });
            if (ReadinessService.enabled(environment)) {
                modules.add(b -> b.bind(ReadinessService.class).toInstance(newReadinessService(clusterService, environment)));
            }
            injector = modules.createInjector();
            
            
            
            
            
            clusterModule.setExistingShardsAllocators(injector.getInstance(GatewayAllocator.class));
            List<LifecycleComponent> pluginLifecycleComponents = pluginComponents.stream().map(p -> {
                if (p instanceof PluginComponentBinding<?, ?> pcb) {
                    return pcb.impl();
                }
                return p;
            }).filter(p -> p instanceof LifecycleComponent).map(p -> (LifecycleComponent) p).toList();
            resourcesToClose.addAll(pluginLifecycleComponents);
            resourcesToClose.add(injector.getInstance(PeerRecoverySourceService.class));
            this.pluginLifecycleComponents = Collections.unmodifiableList(pluginLifecycleComponents);