2018-06-13 13:43:48 +00:00
|
|
|
[
|
|
|
|
|
2019-06-27 15:58:45 +00:00
|
|
|
{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, #{}}
|
|
|
|
}}
|
2018-06-13 13:43:48 +00:00
|
|
|
]}
|
|
|
|
]},
|
|
|
|
|
|
|
|
{scoper, [
|
2019-06-27 15:58:45 +00:00
|
|
|
{storage, scoper_storage_logger}
|
2018-06-13 13:43:48 +00:00
|
|
|
]},
|
|
|
|
|
2018-07-05 10:57:59 +00:00
|
|
|
{dmt_client, [
|
2020-01-27 13:40:48 +00:00
|
|
|
{cache_update_interval, 5000}, % milliseconds
|
2018-07-05 10:57:59 +00:00
|
|
|
{max_cache_size, #{
|
2020-01-27 13:40:48 +00:00
|
|
|
elements => 20,
|
|
|
|
memory => 52428800 % 50Mb
|
2018-07-05 10:57:59 +00:00
|
|
|
}},
|
2020-01-27 13:40:48 +00:00
|
|
|
{woody_event_handlers, [
|
|
|
|
{scoper_woody_event_handler, #{
|
|
|
|
event_handler_opts => #{
|
|
|
|
formatter_opts => #{
|
|
|
|
max_length => 1000
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
]},
|
2018-07-05 10:57:59 +00:00
|
|
|
{service_urls, #{
|
|
|
|
'Repository' => <<"http://dominant:8022/v1/domain/repository">>,
|
|
|
|
'RepositoryClient' => <<"http://dominant:8022/v1/domain/repository_client">>
|
|
|
|
}}
|
|
|
|
]},
|
|
|
|
|
2019-10-07 08:45:00 +00:00
|
|
|
{party_client, [
|
|
|
|
{services, #{
|
|
|
|
party_management => "http://hellgate:8022/v1/processing/partymgmt"
|
|
|
|
}},
|
|
|
|
{woody, #{
|
|
|
|
cache_mode => safe, % disabled | safe | aggressive
|
|
|
|
options => #{
|
|
|
|
woody_client => #{
|
2020-01-27 13:40:48 +00:00
|
|
|
event_handler => {scoper_woody_event_handler, #{
|
|
|
|
event_handler_opts => #{
|
|
|
|
formatter_opts => #{
|
|
|
|
max_length => 1000
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}}
|
2019-10-07 08:45:00 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
]},
|
|
|
|
|
2018-06-13 13:43:48 +00:00
|
|
|
{fistful, [
|
|
|
|
{providers, #{
|
|
|
|
<<"ncoeps">> => #{
|
|
|
|
payment_institution_id => 100,
|
2018-10-05 11:19:46 +00:00
|
|
|
routes => [<<"mocketbank">>],
|
2018-06-13 13:43:48 +00:00
|
|
|
identity_classes => #{
|
|
|
|
<<"person">> => #{
|
|
|
|
name => <<"Person">>,
|
2018-07-06 15:11:59 +00:00
|
|
|
contract_template_id => 10000,
|
2018-07-05 10:57:59 +00:00
|
|
|
initial_level => <<"anonymous">>,
|
2018-06-13 13:43:48 +00:00
|
|
|
levels => #{
|
2018-06-21 17:02:37 +00:00
|
|
|
<<"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">>
|
|
|
|
}
|
2018-06-13 13:43:48 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-07-05 10:57:59 +00:00
|
|
|
}},
|
|
|
|
{services, #{
|
2019-10-07 08:45:00 +00:00
|
|
|
'eventsink' => "http://machinegun:8022/v1/event_sink",
|
|
|
|
'automaton' => "http://machinegun:8022/v1/automaton",
|
2019-10-14 11:16:30 +00:00
|
|
|
'accounter' => "http://shumway:8022/shumpune",
|
2018-07-06 13:49:30 +00:00
|
|
|
'identification' => "http://identification:8022/v1/identification"
|
|
|
|
}}
|
|
|
|
]},
|
|
|
|
|
2018-10-05 11:19:46 +00:00
|
|
|
{ff_transfer, [
|
2019-01-17 08:52:58 +00:00
|
|
|
{max_session_poll_timeout, 14400} %% 4h
|
2018-07-08 16:58:55 +00:00
|
|
|
]},
|
|
|
|
|
2018-07-06 13:49:30 +00:00
|
|
|
%% wapi
|
|
|
|
{wapi, [
|
|
|
|
{ip, "::"},
|
|
|
|
{port, 8080},
|
|
|
|
%% To send ASCII text in 5xx replies
|
|
|
|
%% {oops_bodies, #{
|
|
|
|
%% 500 => "oops_bodies/500_body"
|
|
|
|
%% }},
|
|
|
|
{realm, <<"external">>},
|
2018-07-08 16:58:55 +00:00
|
|
|
{public_endpoint, <<"http://wapi">>},
|
2018-07-06 13:49:30 +00:00
|
|
|
{authorizers, #{
|
|
|
|
jwt => #{
|
|
|
|
signee => wapi,
|
|
|
|
keyset => #{
|
|
|
|
wapi => {pem_file, "var/keys/wapi/private.pem"}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}},
|
2019-08-22 14:33:39 +00:00
|
|
|
{health_check, #{
|
|
|
|
service => {erl_health, service , [<<"wapi">>]}
|
|
|
|
}},
|
2019-02-26 12:38:19 +00:00
|
|
|
{max_deadline, 60000}, % milliseconds
|
2020-01-29 15:07:07 +00:00
|
|
|
{file_storage_url_lifetime, 60}, % seconds
|
|
|
|
{lechiffre_opts, #{
|
|
|
|
encryption_key_path => <<"path/to/key1.secret">>,
|
|
|
|
decryption_key_paths => [<<"path/to/key1.secret">>]
|
|
|
|
}}
|
2019-02-21 14:34:37 +00:00
|
|
|
]},
|
|
|
|
|
|
|
|
{wapi_woody_client, [
|
2018-07-06 13:49:30 +00:00
|
|
|
{service_urls, #{
|
|
|
|
webhook_manager => "http://hooker:8022/hook",
|
|
|
|
cds_storage => "http://cds:8022/v1/storage",
|
2018-11-21 09:19:40 +00:00
|
|
|
identdoc_storage => "http://cds:8022/v1/identity_document_storage",
|
|
|
|
fistful_stat => "http://fistful-magista:8022/stat"
|
2018-07-08 16:58:55 +00:00
|
|
|
}},
|
2018-09-04 16:48:19 +00:00
|
|
|
{api_deadlines, #{
|
|
|
|
wallet => 5000 % millisec
|
|
|
|
}},
|
2018-12-13 08:29:18 +00:00
|
|
|
{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
|
|
|
|
}
|
2019-02-21 14:34:37 +00:00
|
|
|
}}
|
2018-06-13 13:43:48 +00:00
|
|
|
]},
|
|
|
|
|
2018-07-05 10:57:59 +00:00
|
|
|
{ff_server, [
|
2018-06-13 13:43:48 +00:00
|
|
|
{ip, "::"},
|
|
|
|
{port, 8022},
|
2020-01-27 13:40:48 +00:00
|
|
|
{default_woody_handling_timeout, 30000},
|
2018-07-06 13:49:30 +00:00
|
|
|
{net_opts, [
|
|
|
|
% Bump keepalive timeout up to a minute
|
|
|
|
{timeout, 60000}
|
|
|
|
]},
|
2020-02-03 09:21:32 +00:00
|
|
|
{scoper_event_handler_options, #{
|
|
|
|
event_handler_opts => #{
|
|
|
|
formatter_opts => #{
|
|
|
|
max_length => 1000,
|
|
|
|
max_printable_string_length => 80
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}},
|
2019-08-22 14:33:39 +00:00
|
|
|
{health_check, #{
|
|
|
|
disk => {erl_health, disk , ["/", 99] },
|
|
|
|
memory => {erl_health, cg_memory, [99] },
|
|
|
|
service => {erl_health, service , [<<"fistful-server">>]}
|
|
|
|
}},
|
2018-11-02 11:21:59 +00:00
|
|
|
{eventsink, #{
|
|
|
|
identity => #{
|
2019-10-07 08:45:00 +00:00
|
|
|
namespace => <<"ff/identity">>
|
2018-11-02 11:21:59 +00:00
|
|
|
},
|
|
|
|
wallet => #{
|
2019-10-07 08:45:00 +00:00
|
|
|
namespace => <<"ff/wallet_v2">>
|
2018-11-02 11:21:59 +00:00
|
|
|
},
|
|
|
|
withdrawal => #{
|
2019-10-07 08:45:00 +00:00
|
|
|
namespace => <<"ff/withdrawal_v2">>
|
2018-11-09 11:38:05 +00:00
|
|
|
},
|
|
|
|
deposit => #{
|
2019-10-07 08:45:00 +00:00
|
|
|
namespace => <<"ff/deposit_v1">>
|
2018-11-09 11:38:05 +00:00
|
|
|
},
|
|
|
|
destination => #{
|
2019-10-07 08:45:00 +00:00
|
|
|
namespace => <<"ff/destination_v2">>
|
2018-11-09 11:38:05 +00:00
|
|
|
},
|
|
|
|
source => #{
|
2019-10-07 08:45:00 +00:00
|
|
|
namespace => <<"ff/source_v1">>
|
2018-11-15 11:32:50 +00:00
|
|
|
},
|
|
|
|
withdrawal_session => #{
|
2019-10-07 08:45:00 +00:00
|
|
|
namespace => <<"ff/withdrawal/session_v2">>
|
2018-11-02 11:21:59 +00:00
|
|
|
}
|
|
|
|
}}
|
2019-11-15 13:13:20 +00:00
|
|
|
]},
|
|
|
|
|
|
|
|
{bender_client, [
|
|
|
|
{service_url, <<"http://bender:8022/v1/bender">>},
|
|
|
|
{deadline, 60000}
|
|
|
|
%{retries, #{
|
|
|
|
% 'GenerateID' => finish,
|
|
|
|
% 'GetInternalID' => finish,
|
|
|
|
% '_' => finish
|
|
|
|
%}}
|
2018-06-13 13:43:48 +00:00
|
|
|
]}
|
|
|
|
].
|