These steps must be carried out on a machine with no direct Internet access, but with access to an HTTP proxy that can reach the JBoss repositories. Important The HTTP proxy must not be able to request back on the machine where Fuse is installed, as this would defeat the purpose of routing everything through the proxy. In practice this means that you can't test by installing Squid (or whatever) on the same machine as Fuse.
In the following steps, please substitute the correct host and port of your proxy.
install Fuse 6.1.0 GA and download patch Rollup 1
Set maximum JVM memory in bin/setenv to at least 768m.
fabric:create --wait-for-provisioning
container-remove-profile root jboss-fuse-full
wait-for-provisioning
fabric:profile-edit --pid io.fabric8.maven/proxy.host=squid.corp.redhat.com fabric
fabric:profile-edit --pid io.fabric8.maven/proxy.port=3128 fabric
fabric:profile-edit --pid io.fabric8.maven/proxy.protocol=http fabric
fabric:profile-edit --pid 'io.fabric8.maven/proxy.nonProxyHosts=192.*|127.*|localhost|localhost.localdomain' fabric
wait-for-provisioning
fabric:version-create --parent 1.0 1.1
fabric:patch-apply --version 1.1 file:///tmp//path/to/rollup/1.zip
container-upgrade 1.1 root
Having carried out these steps – which sometimes seem to need a number of restarts to get to completion – various operations fail. For example, container-create-ssh fails with the following exception:
"Downloading Maven Artifact with groupId: io.fabric8 artifactId: fabric8-karaf and version: 1.0.0.redhat-394 from repository: https://repo.fusesource.com/nexus/content/repositories/snapshots/
Using URL: https://repo.fusesource.com/nexus/content/repositories/snapshots/io/fabric8/fabric8-karaf/1.0.0.redhat-394/fabric8-karaf-1.0.0.redhat-394.zip
Download failed with code: 000"
If an existing ensemble is patched, then containers that previously worked sometimes get stuck in the "downloading" state or the "failed" state. There are various other instances of erratic behaviour that are hard to describe in detail.
Looking the logs for the Squid proxy, we can see that once Rollup 1 is installed, not further operations are made on the proxy. However, without Rollup 1 we see that operations like container-create-ssh result in a number of HTTP operations through the proxy:
10.5.10.35 - - [18/Oct/2014:18:11:00 +1100] "CONNECT repo.fusesource.com:443 HTTP/1.1" 200 - "-" "Java/1.7.0_51"
We surmise, therefore, that installing Rollup 1 breaks HTTP proxy access to remote Maven proxies