%%% Copyright (c) 2014, NORDUnet A/S. %%% See LICENSE for licensing information. -module(catlfish_sup). -behaviour(supervisor). -export([start_link/1, init/1]). start_link(_Args) -> supervisor:start_link({local, ?MODULE}, ?MODULE, []). init([]) -> SSLOptions = [{certfile, application:get_env(catlfish, https_certfile, none)}, {keyfile, application:get_env(catlfish, https_keyfile, none)}, {cacertfile, application:get_env(catlfish, https_cacertfile, none)}], Servers = lists:map(fun (Config) -> {IpAddress, Port, Module} = Config, {ok, IPv4Address} = inet:parse_ipv4strict_address(IpAddress), WebConfig = [{ip, IPv4Address}, {port, Port}, {ssl, true}, {ssl_opts, SSLOptions} ], {catlfish_web, {catlfish_web, start, [WebConfig, Module]}, permanent, 5000, worker, dynamic} end, application:get_env(catlfish, https_servers, [])), {ok, {{one_for_one, 3, 10}, Servers}}.