We have internal classes like for example QuarkusSessionBuilder, MicroProfileMetricsUpdater, and others.
They are and should reside in the runtime module. The problem is that this module is imported in the client application and all classes from runtime are accessible to the client app.
We should at least move those classes to the internal package to signal that they should not be used in the client code. On the other hand, public classes should be moved to api package.
The second problem that should be solved in this task is to find a reason why the CassandraClientConfig and CassandraClientConnectionConfig must be in the com.datastax.oss.quarkus.config and not in the com.datastax.oss.quarkus.runtime.config. Currently, with such change, they are not visible in the deployment module. We should fix it and move those classes to com.datastax.oss.quarkus.runtime.config if possible.