anchor.diff:  start (normal, defaults) ->
   	try
   		{ok, Supervisor} = start_supervisor (),
  -		ok = start_discovery (),
   		ok = start_daemons (),
  -		ok = start_wui (),
  -		ok = report (),
  +		% ok = start_discovery (),
  +		% ok = start_wui (),
   		{ok, Supervisor, void}
   	catch
   		throw : Error = {error, _Reason} ->
  
positive.code: 							(Descriptor) -> {error, {invalid_socket_descriptor, Descriptor}}
  						end},
  				{error, missing_wui_socket})),
  		_Port = erlang:open_port ({spawn_executable, erlang:binary_to_list (WuiExecutable)}, [
  				stream, binary,
  				{env, [
  						{"mosaic_node_ip", erlang:binary_to_list (WebmachineSocketIp)},
  						{"mosaic_node_port", erlang:integer_to_list (WebmachineSocketPort)},
  						{"mosaic_node_wui_ip", erlang:binary_to_list (WuiSocketIp)},
  						{"mosaic_node_wui_port", erlang:integer_to_list (WuiSocketPort)}]}]),
  		ok
  	catch
  		throw : ok -> ok;
  		throw : Error2 = {error, _Reason2} -> Error2
  	end.
  
  
  report () ->
  	try
  		{WebmachineSocketIp, WebmachineSocketPort} = enforce_ok_1 (mosaic_generic_coders:application_env_get (webmachine_address, mosaic_node,
  				{decode,
  						fun
  							({Ip, Port}) when is_list (Ip), is_integer (Port) -> {ok, {erlang:list_to_binary (Ip), Port}};
  							(Descriptor) -> {error, {invalid_socket_descriptor, Descriptor}}
  						end},
  				{error, missing_webmachine_socket})),
  		WebmachineSocketFqdn = enforce_ok_1 (mosaic_generic_coders:os_env_get (<<"mosaic_node_fqdn">>,
  				{decode, fun mosaic_generic_coders:decode_string/1}, {error, missing_webmachine_fqdn})),
  		WebmachineSocketFqdnString = erlang:binary_to_list (WebmachineSocketFqdn),
  		WebmachineSocket = {WebmachineSocketIp, WebmachineSocketPort, WebmachineSocketFqdn},
  		ok = error_logger:info_report (["Configured mOSAIC node webmachine...",
  					{url, erlang:list_to_binary ("http://" ++ WebmachineSocketFqdnString ++ ":" ++ erlang:integer_to_list (WebmachineSocketPort) ++ "/")},
  					{webmachine_endpoint, WebmachineSocket}]),
  		WuiExecutable = try
  			enforce_ok_1 (mosaic_generic_coders:os_bin_get (<<"mosaic-node-wui--run-node-wui">>))
  		catch throw : _Error1 = {error, _Reason1} -> undefined end,
  		{WuiSocketIp, WuiSocketPort} = enforce_ok_1 (mosaic_generic_coders:application_env_get (wui_address, mosaic_node,
  				{decode,
  						fun
  							({Ip, Port}) when is_list (Ip), is_integer (Port) -> {ok, {erlang:list_to_binary (Ip), Port}};
  							(Descriptor) -> {error, {invalid_socket_descriptor, Descriptor}}
  						end},
  				{error, missing_wui_socket})),
  		WuiSocketFqdn = if
  			WebmachineSocketIp =:= WuiSocketIp ->
  				WebmachineSocketFqdn;
  			true ->
  				enforce_ok_1 (mosaic_generic_coders:decode_string (WuiSocketIp))
  		end,
  		WuiSocketFqdnString = erlang:binary_to_list (WuiSocketFqdn),
  		WuiSocket = {WuiSocketIp, WuiSocketPort, WuiSocketFqdn},
  		if
  			WuiExecutable =/= undefined ->
  				ok = error_logger:info_report (["Configured mOSAIC node web-ui...",
  							{url, erlang:list_to_binary ("http://" ++ WuiSocketFqdnString ++ ":" ++ erlang:integer_to_list (WuiSocketPort) ++ "/")},
  							{wui_endpoint, WuiSocket}]);
  			true ->
  				ok
  		end,
  		ok
  	catch throw : Error = {error, _Reason} -> Error end.
  
  
  boot () ->
  
negative.code: 
  
  -export ([start/2, stop/1, boot/0]).
  -export ([start_supervisor/0, start_daemons/0, start_discovery/0, start_wui/0]).
  
  
  -import (mosaic_enforcements, [enforce_ok_1/1]).
  