Yes, so the JVM arguments not being added to the script is a known issue in Fuse Fabric and will be fixed in a future release.
The maven proxy URL setting is used by the script that is pushed out to a remote machine to download a copy of the Fuse Fabric distribution. It should then also be set in the fabric registry so that agent can download artifacts according to it's profile, this wouldn't show up in the etc/ directory. If you go to the command line of your FMC console you can do "features:install fabric-zookeeper-commands", then do "zk:list -r -d | more" and it should be that output, can't recall the exact key that's stored under.
Ok. In the meantime, is there a workaround for the JVM arguments (I really need to lower the Xmx value)? Where do the arguments list/value come from (hardcoded)?
Probably the easiest way to work around this is to set this environment variable in your user account's .bashrc or .profile depending on what shell you're using, for example:
JAVA_OPTS="-Xmx=512MB"; export JAVA_OPTS
this variable is passed to the JVM by the script when it's run.
I use a Windows workstation. I have just added a JAVA_OPTS environment variable to the system but still no luck.
I have even tried to change the JAVA_OPTS and DEFAULT_JAVA_OPTS values in the root container's karaf.bat script but the values are ignored and not used in instance.properties file.
The container opts are:
item.1.opts=-server -Dcom.sun.management.jmxremote -Dzookeeper.url\="P198829\:2181" -Xmx512m
If I edit these options they are overwritten each time I start the container from Fabric.
How are the options built?
So unfortunately I think the bit of metadata that we're looking for is currently stored as a binary blob in the fabric registry, so would need to be unserialized using the fabric API. I'll log a ticket to store this in a more user-friendly format, in which case you could use fabric:export, edit the file and then use fabric:import to update it.