-module(oidcc_sup). -behaviour(supervisor). -export([start_link/0]). -export([init/1]). start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []). init([]) -> Procs = [ openid_provider_manager(), openid_session_manager(), openid_client(), openid_provider_supervisor(), session_supervisor(), http_cache() ], {ok, {{one_for_one, 1, 5}, Procs}}. openid_provider_supervisor() -> #{ id => op_sup, start => {oidcc_openid_provider_sup, start_link, []}, type => supervisor }. session_supervisor() -> #{ id => session_sup, start => {oidcc_session_sup, start_link, []}, type => supervisor }. openid_provider_manager() -> #{ id => op_mgr, start => {oidcc_openid_provider_mgr, start_link, []}, type => worker }. openid_session_manager() -> #{ id => session_mgr, start => {oidcc_session_mgr, start_link, []}, type => worker }. openid_client() -> #{ id => client, start => {oidcc_client, start_link, []}, type => worker }. http_cache() -> #{ id => cache, start => {oidcc_http_cache, start_link, []}, type => worker }.