Repository: quarkusio/quarkus
Issue: Unrecognized configuration key set by DevServices

### Describe the bug

When starting a application that use the postgress jdbc dev services and an empty application.properties, this warning is printed in the startup log:

`Unrecognized configuration key "quarkus.datasource.jdbc.url" was provided; it will be ignored; verify that the dependency extension for this configuration is set or that you did not make a typo`




### Expected behavior

Dev Services should not set Unrecognized configuration keys or at least not show the warning

### Actual behavior

User are warned about something they can not do anything about

### How to Reproduce?

Reproducer: https://github.com/phillip-kruger/devui-example

1) clone the about repo and start the app, you should see the warning in the log

### Output of `uname -a` or `ver`

Linux pkruger-laptop 6.2.9-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Mar 30 22:31:57 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

### Output of `java -version`

OpenJDK 64-Bit Server VM (Red_Hat-17.0.6.0.10-1.fc37) (build 17.0.6+10, mixed mode, sharing)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

999-SNAPSHOT

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)

### Additional information

As discussed here: https://github.com/quarkusio/quarkus/pull/32563#issuecomment-1505174872

Changed files:
extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java

diff --git a/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java b/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java
index 83af2b468d6..bfeafc14aa2 100644
--- a/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java
+++ b/extensions/datasource/deployment/src/main/java/io/quarkus/datasource/deployment/devservices/DevServicesDatasourceProcessor.java
@@ -23,6 +23,8 @@
 import io.quarkus.datasource.deployment.spi.DevServicesDatasourceResultBuildItem;
 import io.quarkus.datasource.runtime.DataSourceBuildTimeConfig;
 import io.quarkus.datasource.runtime.DataSourcesBuildTimeConfig;
+import io.quarkus.deployment.Capabilities;
+import io.quarkus.deployment.Capability;
 import io.quarkus.deployment.IsNormal;
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
@@ -57,7 +59,9 @@ public class DevServicesDatasourceProcessor {
     static volatile boolean first = true;
 
     @BuildStep
-    DevServicesDatasourceResultBuildItem launchDatabases(CurateOutcomeBuildItem curateOutcomeBuildItem,
+    DevServicesDatasourceResultBuildItem launchDatabases(
+            Capabilities capabilities,
+            CurateOutcomeBuildItem curateOutcomeBuildItem,
             DockerStatusBuildItem dockerStatusBuildItem,
             List<DefaultDataSourceDbKindBuildItem> installedDrivers,
             List<DevServicesDatasourceProviderBuildItem> devDBProviders,
@@ -133,7 +137,7 @@ DevServicesDatasourceResultBuildItem launchDatabases(CurateOutcomeBuildItem cura
         Map<String, DevServicesDatasourceProvider> devDBProviderMap = devDBProviders.stream()
                 .collect(Collectors.toMap(DevServicesDatasourceProviderBuildItem::getDatabase,
                         DevServicesDatasourceProviderBuildItem::getDevServicesProvider));
-        RunningDevService defaultDevService = startDevDb(null, curateOutcomeBuildItem, installedDrivers,
+        RunningDevService defaultDevService = startDevDb(null, capabilities, curateOutcomeBuildItem, installedDrivers,
                 !dataSourceBuildTimeConfig.namedDataSources.isEmpty(),
                 devDBProviderMap,
                 dataSourceBuildTimeConfig.defaultDataSource,
@@ -145,7 +149,7 @@ DevServicesDatasourceResultBuildItem launchDatabases(CurateOutcomeBuildItem cura
         }
         defaultResult = toDbResult(defaultDevService);
         for (Map.Entry<String, DataSourceBuildTimeConfig> entry : dataSourceBuildTimeConfig.namedDataSources.entrySet()) {
-            RunningDevService namedDevService = startDevDb(entry.getKey(), curateOutcomeBuildItem,
+            RunningDevService namedDevService = startDevDb(entry.getKey(), capabilities, curateOutcomeBuildItem,
                     installedDrivers, true,
                     devDBProviderMap, entry.getValue(), configHandlersByDbType, propertiesMap,
                     dockerStatusBuildItem,
@@ -192,7 +196,9 @@ private String trim(String optional) {
         return optional.trim();
     }
 
-    private RunningDevService startDevDb(String dbName,
+    private RunningDevService startDevDb(
+            String dbName,
+            Capabilities capabilities,
             CurateOutcomeBuildItem curateOutcomeBuildItem,
             List<DefaultDataSourceDbKindBuildItem> installedDrivers,
             boolean hasNamedDatasources,
@@ -314,8 +320,17 @@ private RunningDevService startDevDb(String dbName,
 
             Map<String, String> devDebProperties = new HashMap<>();
             for (DevServicesDatasourceConfigurationHandlerBuildItem devDbConfigurationHandlerBuildItem : configHandlers) {
-                devDebProperties.putAll(devDbConfigurationHandlerBuildItem.getConfigProviderFunction()
-                        .apply(dbName, datasource));
+                Map<String, String> properties = devDbConfigurationHandlerBuildItem.getConfigProviderFunction().apply(dbName,
+                        datasource);
+                for (Map.Entry<String, String> entry : properties.entrySet()) {
+                    if (entry.getKey().contains(".jdbc.") && entry.getKey().endsWith(".url")) {
+                        if (capabilities.isCapabilityWithPrefixPresent(Capability.AGROAL)) {
+                            devDebProperties.put(entry.getKey(), entry.getValue());
+                        }
+                    } else {
+                        devDebProperties.put(entry.getKey(), entry.getValue());
+                    }
+                }
             }
             setDataSourceProperties(devDebProperties, dbName, "db-kind", defaultDbKind.get());
             if (datasource.getUsername() != null) {