%% -*- erlang -*- %% Copyright (C) 2014, Jaguar Land Rover %% %% This program is licensed under the terms and conditions of the %% Mozilla Public License, version 2.0. The full text of the %% Mozilla Public License is at https://www.mozilla.org/MPL/2.0/ %% %% Configuration file for the (in-vehicle) IVI used by the hvac_demo %% %% See ../hvac_demo/README.md for details on the demo. %% %% See ../CONFIGURE.md for a details on the configuration process %% itself. %% [ %% All erlang apps needed to fire up a node. Do not touch. {apps, [kernel, stdlib, sasl, {setup, load}, syntax_tools, lager, crypto, public_key, exo, compiler, ssl, asn1, wse, %% RVI-specific apps. %% Do not touch unless you are replacing apps with your own %% version. If you are replacing an app with a non-Erlang version, %% it still has to be loaded in order to resolve. %% If, for example, you want to deploy your own scheduler %% outside Erlang, replace %% %% schedule, %% with %% { schedule, load }, %% rvi, rvi_common, service_edge, service_discovery, authorize, schedule, data_link_bert_rpc, protocol ]}, %% %% Custom environment settings %% for all apps running on the node. %% {env, [ %% Lager is the main logging mechanism. %% See https://github.com/basho/lager for details. %% {lager, [ { handlers, %% Change this to debug, info, notice, warning, or error in %% order to lower the console chatter. [ {lager_console_backend, notice} ] } ] }, %% All RVI configuration is done here. %% Please note that the rvi_node.sh launch script %% can still override the port range and static nodes %% through its command line parameters. %% {rvi, [ %% Specify the node address that data_link uses to listen to %% incoming traffic from other rvi nodes. %% %% This is the address that is announced to %% other rvi nodes during service discovery and should be %% forwarded through firewalls and port forwarding to to the port %% specified by the configuration entry rvi -> components -> %% data_link -> bert_rpc_server (see below). %% %% If this node is sitting behind a firewall and cannot %% receive incomign connections on any address, its %% node_address should be set to "0.0.0.0:0" to inform %% the remote node that it should not attempt to %% connect back to self. { node_address, "127.0.0.1:8817" }, %% Specify the prefix of all services that this rvi node is hosting. %% %% All local services regsitering with service edge will be prefixed with %% the string below when they are announced to remote rvi nodes %% that connect to this node (using the address specified %% by node_address above). %% %% If a locally connected service registers itself as %% "hvac/fan_speed", and the node_service_prefix is %% "jlr.com/vin/1234/", this node will announce the service %% "jlr.com/vin/1234/hvac/fan_speed" as being available %% to remotely connected rvi nodes. %% %% Two rvi nodes should never have the same node_service_prefix %% value. %% { node_service_prefix, "jlr.com/vin/1234/"}, %% Specify static service prefixes with well known addresses %% %% Static nodes allows a local RVI node to route services with %% matching prefixes to a well known address of a remote node. A %% static node is often a backend/cloud server that is assumed to %% be found at a given address as soon as network connectivity %% has been established. %% %% When a locally connected service issues a message or rpc to a %% service, and the network address of the service cannot be %% found in the tables maintained by the peer-to-peer service %% discovery process, the static nodes table below is scanned as %% to prefix match the service and locate a suitable network %% address. %% { static_nodes, [ %% rvi1.nginfotpdx.net is the JLR hosted RVI server. { "jlr.com/backend/", "38.129.64.13:8807" } ] }, { components, [ { service_edge, %% This is the URL that local services use to connect to %% the RVI system. It is also used by %% the other components below to send inter-compoonent %% JSON-RPC calls to the service edge. %% %% The host and address given in URL should route to the port given %% in exo_http_opts below. %% %% The web socket integrates with the rvi.js javascript code %% that connects Tizen IVI to the RVI system. [ { url, "http://127.0.0.1:8811" }, { exo_http_opts, [ { port, 8811 } ] }, { websocket, [ { port, 8818}]} ] }, { service_discovery, [ { url, "http://127.0.0.1:8812" }, { exo_http_opts, [ { port, 8812 } ] } ] }, { schedule, [ { url, "http://127.0.0.1:8813" }, { exo_http_opts, [ { port, 8813 } ] } ] }, { authorize, [ { url, "http://127.0.0.1:8814" }, { exo_http_opts, [ { port, 8814 } ] } ] }, { protocol, [ { url, "http://127.0.0.1:8815" }, { exo_http_opts, [ { port, 8815 } ] } ] }, { data_link, [ { url, "http://127.0.0.1:8816" }, { exo_http_opts, [ { port, 8816 } ] }, %% The bert_rpc_server port will be used to listen to incoming %% traffic from remote nodes. %% Must match the port given in node_address { bert_rpc_server, [ {port, 8817 }]} ] } ] } ]} ]} ].