Similar to the description in https://issues.couchbase.com/browse/JVMCBC-626, it should be possible to configure the environment from system properties.
While the connection string only has a subset of properties that match, we should strive to make as much as possible configurable through system properties. Similar to 2.x, something like "com.couchbase.foo=bar" should work.
Proposal is to add another PropertyLoader impl (https://github.com/couchbase/couchbase-jvm-clients/blob/master/core-io/src/main/java/com/couchbase/client/core/env/PropertyLoader.java) which is also loaded by default. The user can add more property loaders if they want on the env builder, but this one should be loaded by default for convenience.
Note that we can start simple by only mapping primitive types like strings and ints, if we want to go "all in" we can figure out if we can support more complex structures to load non-primitive variables as well.