Repository: quarkusio/quarkus
Issue: Quarkus is not following MP Health spec to disable vendor procedures

http://download.eclipse.org/microprofile/microprofile-health-2.1/microprofile-health-spec.html#_disabling_default_vendor_procedures states

> An implementation is allowed to supply a reasonable default (out-of-the-box) procedures as defined in the Health Check Procedures section. To disable all default vendor procedures users can specify a MicroProfile Config configuration property `mp.health.disable-default-procedures` to `true`. This allows the application to process and display only the user-defined health check procedures.

When using Quarkus specific `quarkus.health.extensions.enabled=false` (specified in application.properties) I'm able to suppress vendor specific checks.
```json
curl http://0.0.0.0:8080/health/ 2>/dev/null | jq .
{
  "status": "UP",
  "checks": []
}
```

When using MP Health specific `mp.health.disable-default-procedures=true` (specified in application.properties) I see "Database connections health check". 

```json
curl http://0.0.0.0:8080/health/ 2>/dev/null | jq .
{
  "status": "UP",
  "checks": [
    {
      "name": "Database connections health check",
      "status": "UP"
    }
  ]
}
```
"Database connections health check" shouldn't be visible.


I used Quarkus mvn plugin generated app and added following deps to have https://quarkus.io/guides/datasource#datasource-health-check
```xml
      <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-smallrye-health</artifactId>
      </dependency>
      <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-agroal</artifactId>
      </dependency>
```

Running against Quarkus master d0029637f

Changed files:
extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java

diff --git a/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java b/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java
index 1a2b0dbf593..985cb2db255 100644
--- a/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java
+++ b/extensions/smallrye-health/deployment/src/main/java/io/quarkus/smallrye/health/deployment/SmallRyeHealthProcessor.java
@@ -4,6 +4,7 @@
 import java.util.List;
 import java.util.Set;
 
+import org.eclipse.microprofile.config.ConfigProvider;
 import org.eclipse.microprofile.health.Health;
 import org.eclipse.microprofile.health.Liveness;
 import org.eclipse.microprofile.health.Readiness;
@@ -76,7 +77,10 @@ static final class SmallRyeHealthConfig {
     @BuildStep
     void healthCheck(BuildProducer<AdditionalBeanBuildItem> buildItemBuildProducer,
             List<HealthBuildItem> healthBuildItems) {
-        if (config.extensionsEnabled) {
+        boolean extensionsEnabled = config.extensionsEnabled &&
+                !ConfigProvider.getConfig().getOptionalValue("mp.health.disable-default-procedures", boolean.class)
+                        .orElse(false);
+        if (extensionsEnabled) {
             for (HealthBuildItem buildItem : healthBuildItems) {
                 if (buildItem.isEnabled()) {
                     buildItemBuildProducer.produce(new AdditionalBeanBuildItem(buildItem.getHealthCheckClass()));