class Fabric8ConfigServerBootstrapper extends KubernetesConfigServerBootstrapper {

	@Override
	public void initialize(BootstrapRegistry registry) {<FILL_FUNCTION_BODY>}

}

		if (hasConfigServerInstanceProvider()) {
			return;
		}

		registry.registerIfAbsent(KubernetesDiscoveryProperties.class, context -> {
			if (!getDiscoveryEnabled(context)) {
				return null;
			}
			return createKubernetesDiscoveryProperties(context);
		});

		registry.registerIfAbsent(KubernetesClientProperties.class, context -> {
			if (!getDiscoveryEnabled(context)) {
				return null;
			}
			return createKubernetesClientProperties(context);
		});

		// create instance provider
		registry.registerIfAbsent(ConfigServerInstanceProvider.Function.class, context -> {
			if (!getDiscoveryEnabled(context)) {
				return (id) -> Collections.emptyList();
			}
			if (context.isRegistered(KubernetesDiscoveryClient.class)) {
				KubernetesDiscoveryClient client = context.get(KubernetesDiscoveryClient.class);
				return client::getInstances;
			}
			else {
				PropertyResolver propertyResolver = getPropertyResolver(context);
				Fabric8AutoConfiguration fabric8AutoConfiguration = new Fabric8AutoConfiguration();
				Config config = fabric8AutoConfiguration
						.kubernetesClientConfig(context.get(KubernetesClientProperties.class));
				KubernetesClient kubernetesClient = fabric8AutoConfiguration.kubernetesClient(config);
				KubernetesDiscoveryProperties discoveryProperties = context.get(KubernetesDiscoveryProperties.class);
				KubernetesDiscoveryClient discoveryClient = new KubernetesDiscoveryClient(kubernetesClient,
						discoveryProperties,
						KubernetesClientServicesFunctionProvider.servicesFunction(discoveryProperties,
								new KubernetesNamespaceProvider(propertyResolver
										.get(KubernetesNamespaceProvider.NAMESPACE_PROPERTY, String.class, null))),
						null, new ServicePortSecureResolver(discoveryProperties));
				return discoveryClient::getInstances;
			}
		});
	
<methods>public non-sealed void <init>() ,public static KubernetesClientProperties createKubernetesClientProperties(org.springframework.boot.context.properties.bind.Binder, org.springframework.boot.context.properties.bind.BindHandler) ,public static KubernetesClientProperties createKubernetesClientProperties(org.springframework.boot.BootstrapContext) ,public static KubernetesDiscoveryProperties createKubernetesDiscoveryProperties(org.springframework.boot.context.properties.bind.Binder, org.springframework.boot.context.properties.bind.BindHandler) ,public static KubernetesDiscoveryProperties createKubernetesDiscoveryProperties(org.springframework.boot.BootstrapContext) ,public static java.lang.Boolean getDiscoveryEnabled(org.springframework.boot.context.properties.bind.Binder, org.springframework.boot.context.properties.bind.BindHandler) ,public static java.lang.Boolean getDiscoveryEnabled(org.springframework.boot.BootstrapContext) ,public static boolean hasConfigServerInstanceProvider() <variables>