6.5. Environment Specific Values in Fabric Profiles.

If you run a number of Fuse systems you may want to define environment-specific configurations. To do this you can create a profile containing properties as key-value pairs, and assign it to a container. When it is assigned to a container, every profile in that container can refer to the information stored in it.
For example, use the following commands to set up a proxy server and define environment-specific values for it.
  1. Create a profile called local_values
    JBossFuse:karaf@root> profile-create local_values
  2. Edit the new profile to include the hostname information.
    JBossFuse:karaf@root> fabric:profile-edit --pid io.fabric8.examplesystem/url=www.example.com local_values
    The contents of the io.fabric8.examplesystem PID in the local_values profile will be:
    url=www.example.com
  3. Add the new profile to the proxy-server container.
    JBossFuse:karaf@root> container-add-profile proxy-server local_values
  4. Create another new profile.
    JBossFuse:karaf@root> profile-create local_values_test
  5. Set the values in profile:io.fabric8.examplesystem to local_values_test.
    JBossFuse:karaf@root> fabric:profile-edit --pid 'csp.test/testUrl=${profile:io.fabric8.examplesystem/url}' local_values_test
    Setting value:${profile:io.fabric8.examplesystem/url} key:testUrl on pid:csp.test and profile:local_values_test version:1.0
    The content of pid:csp.test will be:
    testUrl=${profile:io.fabric8.examplesystem/url}
  6. Add the local_values profile to the abc container.
    JBossFuse:karaf@root> container-add-profile abc local_values
  7. Add the local_values_test profile to the abc container.
    JBossFuse:karaf@root> container-add-profile abc local_values_test
  8. Sign on to the abc container.
    JBossFuse:karaf@root> fabric:container-connect abc
  9. Issue the config:proplist command to show resolved environment settings.
    JBossFuse:admin@abc> config:proplist --pid csp.test
       fabric.zookeeper.pid = csp.test
       service.pid = csp.test
       testUrl = www.example.com