mirror of
https://github.com/valitydev/fistful-server.git
synced 2024-11-06 10:45:21 +00:00
223 lines
7.7 KiB
Plaintext
223 lines
7.7 KiB
Plaintext
[
|
|
|
|
{kernel, [
|
|
{log_level, info},
|
|
{logger, [
|
|
{handler, default, logger_std_h, #{
|
|
level => debug,
|
|
config => #{
|
|
type => {file, "/var/log/fistful-server/console.json"},
|
|
sync_mode_qlen => 20
|
|
},
|
|
formatter => {logger_logstash_formatter, #{}}
|
|
}}
|
|
]}
|
|
]},
|
|
|
|
{scoper, [
|
|
{storage, scoper_storage_logger}
|
|
]},
|
|
|
|
{dmt_client, [
|
|
{max_cache_size, #{
|
|
elements => 1
|
|
}},
|
|
{service_urls, #{
|
|
'Repository' => <<"http://dominant:8022/v1/domain/repository">>,
|
|
'RepositoryClient' => <<"http://dominant:8022/v1/domain/repository_client">>
|
|
}}
|
|
]},
|
|
|
|
{fistful, [
|
|
{providers, #{
|
|
<<"ncoeps">> => #{
|
|
payment_institution_id => 100,
|
|
routes => [<<"mocketbank">>],
|
|
identity_classes => #{
|
|
<<"person">> => #{
|
|
name => <<"Person">>,
|
|
contract_template_id => 10000,
|
|
initial_level => <<"anonymous">>,
|
|
levels => #{
|
|
<<"anonymous">> => #{
|
|
name => <<"Anonymous">>,
|
|
contractor_level => none
|
|
},
|
|
<<"partly-identified">> => #{
|
|
name => <<"Partially identified">>,
|
|
contractor_level => partial
|
|
},
|
|
<<"identified">> => #{
|
|
name => <<"Fully identified">>,
|
|
contractor_level => full
|
|
}
|
|
},
|
|
challenges => #{
|
|
<<"esia">> => #{
|
|
name => <<"ЕСИА">>,
|
|
base => <<"anonymous">>,
|
|
target => <<"partly-identified">>
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}},
|
|
{services, #{
|
|
'partymgmt' => "http://hellgate:8022/v1/processing/partymgmt",
|
|
'accounter' => "http://shumway:8022/accounter",
|
|
'identification' => "http://identification:8022/v1/identification"
|
|
}}
|
|
]},
|
|
|
|
{ff_transfer, [
|
|
{withdrawal,
|
|
#{provider => #{
|
|
<<"mocketbank">> => #{
|
|
adapter => #{
|
|
event_handler => scoper_woody_event_handler,
|
|
url => <<"http://adapter-mocketbank:8022/proxy/mocketbank/p2p-credit">>
|
|
},
|
|
adapter_opts => #{},
|
|
accounts => #{
|
|
<<"RUB">> => #{
|
|
id => <<"some_id">>,
|
|
identity => <<"some_other_id">>,
|
|
currency => <<"RUB">>,
|
|
accounter_account_id => 123
|
|
}
|
|
},
|
|
fee => #{<<"RUB">> => #{postings => []}}
|
|
}
|
|
},
|
|
system => #{
|
|
accounts => #{
|
|
settlement => #{
|
|
<<"RUB">> => #{
|
|
id => <<"system_some_id">>,
|
|
identity => <<"system_some_other_id">>,
|
|
currency => <<"RUB">>,
|
|
accounter_account_id => <<"system_some_third_id">>
|
|
}
|
|
},
|
|
subagent => #{
|
|
<<"RUB">> => #{
|
|
id => <<"system_some_id">>,
|
|
identity => <<"system_some_other_id">>,
|
|
currency => <<"RUB">>,
|
|
accounter_account_id => <<"system_some_third_id">>
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}},
|
|
{max_session_poll_timeout, 14400} %% 4h
|
|
]},
|
|
|
|
%% wapi
|
|
{wapi, [
|
|
{ip, "::"},
|
|
{port, 8080},
|
|
%% To send ASCII text in 5xx replies
|
|
%% {oops_bodies, #{
|
|
%% 500 => "oops_bodies/500_body"
|
|
%% }},
|
|
{realm, <<"external">>},
|
|
{public_endpoint, <<"http://wapi">>},
|
|
{authorizers, #{
|
|
jwt => #{
|
|
signee => wapi,
|
|
keyset => #{
|
|
wapi => {pem_file, "var/keys/wapi/private.pem"}
|
|
}
|
|
}
|
|
}},
|
|
{health_checkers, [
|
|
{erl_health, service , [<<"wapi">>]}
|
|
]},
|
|
{max_deadline, 60000}, % milliseconds
|
|
{file_storage_url_lifetime, 60} % seconds
|
|
]},
|
|
|
|
{wapi_woody_client, [
|
|
{service_urls, #{
|
|
webhook_manager => "http://hooker:8022/hook",
|
|
cds_storage => "http://cds:8022/v1/storage",
|
|
identdoc_storage => "http://cds:8022/v1/identity_document_storage",
|
|
fistful_stat => "http://fistful-magista:8022/stat"
|
|
}},
|
|
{api_deadlines, #{
|
|
wallet => 5000 % millisec
|
|
}},
|
|
{service_retries, #{
|
|
party_management => #{
|
|
% function => retry strategy
|
|
% '_' work as "any"
|
|
% default value is 'finish'
|
|
% for more info look genlib_retry :: strategy()
|
|
% https://github.com/rbkmoney/genlib/blob/master/src/genlib_retry.erl#L19
|
|
'Get' => {linear, 3, 1000},
|
|
'_' => finish
|
|
}
|
|
}}
|
|
]},
|
|
|
|
{ff_server, [
|
|
{ip, "::"},
|
|
{port, 8022},
|
|
{woody_opts, #{
|
|
net_opts => [
|
|
% Bump keepalive timeout up to a minute
|
|
{timeout, 60000}
|
|
]
|
|
}},
|
|
{services, #{
|
|
'eventsink' => "http://machinegun:8022/v1/event_sink",
|
|
'automaton' => "http://machinegun:8022/v1/automaton"
|
|
}},
|
|
{admin, #{
|
|
%% handler_limits => #{},
|
|
path => <<"/v1/admin">>
|
|
}},
|
|
{net_opts, [
|
|
% Bump keepalive timeout up to a minute
|
|
{timeout, 60000}
|
|
]},
|
|
{health_checkers, [
|
|
{erl_health, disk , ["/", 99] },
|
|
{erl_health, cg_memory, [99] },
|
|
{erl_health, service , [<<"fistful-server">>]}
|
|
]},
|
|
{eventsink, #{
|
|
identity => #{
|
|
namespace => <<"ff/identity">>,
|
|
path => <<"/v1/eventsink/identity">>
|
|
},
|
|
wallet => #{
|
|
namespace => <<"ff/wallet_v2">>,
|
|
path => <<"/v1/eventsink/wallet">>
|
|
},
|
|
withdrawal => #{
|
|
namespace => <<"ff/withdrawal_v2">>,
|
|
path => <<"/v1/eventsink/withdrawal">>
|
|
},
|
|
deposit => #{
|
|
namespace => <<"ff/deposit_v1">>,
|
|
path => <<"/v1/eventsink/deposit">>
|
|
},
|
|
destination => #{
|
|
namespace => <<"ff/destination_v2">>,
|
|
path => <<"/v1/eventsink/destination">>
|
|
},
|
|
source => #{
|
|
namespace => <<"ff/source_v1">>,
|
|
path => <<"/v1/eventsink/source">>
|
|
},
|
|
withdrawal_session => #{
|
|
namespace => <<"ff/withdrawal/session_v2">>,
|
|
path => <<"/v1/eventsink/withdrawal/session">>
|
|
}
|
|
}}
|
|
]}
|
|
].
|