mirror of
https://github.com/valitydev/kds.git
synced 2024-11-06 00:05:18 +00:00
ED-242: Update erlang and deps (#36)
This commit is contained in:
parent
f8deaa2502
commit
e37c7bbc0e
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@ -18,5 +18,5 @@ build('kds', 'docker-host', finalHook) {
|
||||
pipeErlangService = load("${env.JENKINS_LIB}/pipeErlangService.groovy")
|
||||
}
|
||||
|
||||
pipeErlangService.runPipe(false, true)
|
||||
pipeErlangService.runPipe(false)
|
||||
}
|
||||
|
7
Makefile
7
Makefile
@ -14,11 +14,11 @@ SERVICE_IMAGE_PUSH_TAG ?= $(SERVICE_IMAGE_TAG)
|
||||
|
||||
# Base image for the service
|
||||
BASE_IMAGE_NAME := service-erlang
|
||||
BASE_IMAGE_TAG := b2c2a3f8c46842488eef78a2574ba880eeff07b9
|
||||
BASE_IMAGE_TAG := ef20e2ec1cb1528e9214bdeb862b15478950d5cd
|
||||
|
||||
# Build image tag to be used
|
||||
BUILD_IMAGE_NAME := build-erlang
|
||||
BUILD_IMAGE_TAG := 77025543100d92756b4d47f68538e8e70cafc7ef
|
||||
BUILD_IMAGE_TAG := aaa79c2d6b597f93f5f8b724eecfc31ec2e2a23b
|
||||
|
||||
CALL_W_CONTAINER := all submodules compile xref lint dialyze test \
|
||||
release clean distclean check_format format
|
||||
@ -43,7 +43,7 @@ xref: submodules
|
||||
$(REBAR) xref
|
||||
|
||||
lint:
|
||||
elvis rock
|
||||
elvis rock -V
|
||||
|
||||
check_format:
|
||||
$(REBAR) fmt -c
|
||||
@ -64,7 +64,6 @@ clean:
|
||||
$(REBAR) clean
|
||||
|
||||
distclean:
|
||||
$(REBAR) clean -a
|
||||
rm -rf _build
|
||||
|
||||
test: submodules
|
||||
|
@ -9,7 +9,6 @@
|
||||
crypto,
|
||||
woody,
|
||||
erl_health,
|
||||
how_are_you,
|
||||
shamir,
|
||||
scoper,
|
||||
msgpack,
|
||||
|
@ -25,7 +25,7 @@ handle_function(OperationID, Args, Context, Opts) ->
|
||||
)
|
||||
).
|
||||
|
||||
handle_function_('StartInit', [Threshold], _Context, _Opts) ->
|
||||
handle_function_('StartInit', {Threshold}, _Context, _Opts) ->
|
||||
try kds_keyring_manager:initialize(Threshold) of
|
||||
EncryptedMasterKeyShares ->
|
||||
{ok, encode_encrypted_shares(EncryptedMasterKeyShares)}
|
||||
@ -37,7 +37,7 @@ handle_function_('StartInit', [Threshold], _Context, _Opts) ->
|
||||
invalid_args ->
|
||||
raise(#cds_InvalidArguments{})
|
||||
end;
|
||||
handle_function_('ValidateInit', [SignedShare], _Context, _Opts) ->
|
||||
handle_function_('ValidateInit', {SignedShare}, _Context, _Opts) ->
|
||||
{ShareholderId, Share} = decode_signed_share(SignedShare),
|
||||
VerifiedShare = verify_signed_share(ShareholderId, Share, 'ValidateInit'),
|
||||
try kds_keyring_manager:validate_init(ShareholderId, VerifiedShare) of
|
||||
@ -53,14 +53,14 @@ handle_function_('ValidateInit', [SignedShare], _Context, _Opts) ->
|
||||
{operation_aborted, Reason} ->
|
||||
raise(#cds_OperationAborted{reason = atom_to_binary(Reason, utf8)})
|
||||
end;
|
||||
handle_function_('CancelInit', [], _Context, _Opts) ->
|
||||
handle_function_('CancelInit', {}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:cancel_init()}
|
||||
catch
|
||||
{invalid_status, Status} ->
|
||||
raise(#cds_InvalidStatus{status = Status})
|
||||
end;
|
||||
handle_function_('Lock', [], _Context, _Opts) ->
|
||||
handle_function_('Lock', {}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:lock()}
|
||||
catch
|
||||
@ -69,7 +69,7 @@ handle_function_('Lock', [], _Context, _Opts) ->
|
||||
{invalid_status, Status} ->
|
||||
raise(#cds_InvalidStatus{status = Status})
|
||||
end;
|
||||
handle_function_('StartUnlock', [], _Context, _Opts) ->
|
||||
handle_function_('StartUnlock', {}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:start_unlock()}
|
||||
catch
|
||||
@ -78,7 +78,7 @@ handle_function_('StartUnlock', [], _Context, _Opts) ->
|
||||
{invalid_activity, Activity} ->
|
||||
raise(#cds_InvalidActivity{activity = Activity})
|
||||
end;
|
||||
handle_function_('ConfirmUnlock', [SignedShare], _Context, _Opts) ->
|
||||
handle_function_('ConfirmUnlock', {SignedShare}, _Context, _Opts) ->
|
||||
{ShareholderId, Share} = decode_signed_share(SignedShare),
|
||||
VerifiedShare = verify_signed_share(ShareholderId, Share, 'ConfirmUnlock'),
|
||||
try kds_keyring_manager:confirm_unlock(ShareholderId, VerifiedShare) of
|
||||
@ -94,14 +94,14 @@ handle_function_('ConfirmUnlock', [SignedShare], _Context, _Opts) ->
|
||||
{operation_aborted, Reason} ->
|
||||
raise(#cds_OperationAborted{reason = atom_to_binary(Reason, utf8)})
|
||||
end;
|
||||
handle_function_('CancelUnlock', [], _Context, _Opts) ->
|
||||
handle_function_('CancelUnlock', {}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:cancel_unlock()}
|
||||
catch
|
||||
{invalid_status, Status} ->
|
||||
raise(#cds_InvalidStatus{status = Status})
|
||||
end;
|
||||
handle_function_('StartRotate', [], _Context, _Opts) ->
|
||||
handle_function_('StartRotate', {}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:start_rotate()}
|
||||
catch
|
||||
@ -110,7 +110,7 @@ handle_function_('StartRotate', [], _Context, _Opts) ->
|
||||
{invalid_activity, Activity} ->
|
||||
raise(#cds_InvalidActivity{activity = Activity})
|
||||
end;
|
||||
handle_function_('ConfirmRotate', [SignedShare], _Context, _Opts) ->
|
||||
handle_function_('ConfirmRotate', {SignedShare}, _Context, _Opts) ->
|
||||
{ShareholderId, Share} = decode_signed_share(SignedShare),
|
||||
VerifiedShare = verify_signed_share(ShareholderId, Share, 'ConfirmRotate'),
|
||||
try kds_keyring_manager:confirm_rotate(ShareholderId, VerifiedShare) of
|
||||
@ -126,14 +126,14 @@ handle_function_('ConfirmRotate', [SignedShare], _Context, _Opts) ->
|
||||
{operation_aborted, Reason} ->
|
||||
raise(#cds_OperationAborted{reason = atom_to_binary(Reason, utf8)})
|
||||
end;
|
||||
handle_function_('CancelRotate', [], _Context, _Opts) ->
|
||||
handle_function_('CancelRotate', {}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:cancel_rotate()}
|
||||
catch
|
||||
{invalid_status, Status} ->
|
||||
raise(#cds_InvalidStatus{status = Status})
|
||||
end;
|
||||
handle_function_('StartRekey', [Threshold], _Context, _Opts) ->
|
||||
handle_function_('StartRekey', {Threshold}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:start_rekey(Threshold)}
|
||||
catch
|
||||
@ -144,7 +144,7 @@ handle_function_('StartRekey', [Threshold], _Context, _Opts) ->
|
||||
invalid_args ->
|
||||
raise(#cds_InvalidArguments{})
|
||||
end;
|
||||
handle_function_('ConfirmRekey', [SignedShare], _Context, _Opts) ->
|
||||
handle_function_('ConfirmRekey', {SignedShare}, _Context, _Opts) ->
|
||||
{ShareholderId, Share} = decode_signed_share(SignedShare),
|
||||
VerifiedShare = verify_signed_share(ShareholderId, Share, 'ConfirmRekey'),
|
||||
try kds_keyring_manager:confirm_rekey(ShareholderId, VerifiedShare) of
|
||||
@ -160,7 +160,7 @@ handle_function_('ConfirmRekey', [SignedShare], _Context, _Opts) ->
|
||||
{operation_aborted, Reason} ->
|
||||
raise(#cds_OperationAborted{reason = atom_to_binary(Reason, utf8)})
|
||||
end;
|
||||
handle_function_('StartRekeyValidation', [], _Context, _Opts) ->
|
||||
handle_function_('StartRekeyValidation', {}, _Context, _Opts) ->
|
||||
try kds_keyring_manager:start_validate_rekey() of
|
||||
EncryptedMasterKeyShares ->
|
||||
{ok, encode_encrypted_shares(EncryptedMasterKeyShares)}
|
||||
@ -170,7 +170,7 @@ handle_function_('StartRekeyValidation', [], _Context, _Opts) ->
|
||||
{invalid_activity, Activity} ->
|
||||
raise(#cds_InvalidActivity{activity = Activity})
|
||||
end;
|
||||
handle_function_('ValidateRekey', [SignedShare], _Context, _Opts) ->
|
||||
handle_function_('ValidateRekey', {SignedShare}, _Context, _Opts) ->
|
||||
{ShareholderId, Share} = decode_signed_share(SignedShare),
|
||||
VerifiedShare = verify_signed_share(ShareholderId, Share, 'ValidateRekey'),
|
||||
try kds_keyring_manager:validate_rekey(ShareholderId, VerifiedShare) of
|
||||
@ -186,19 +186,19 @@ handle_function_('ValidateRekey', [SignedShare], _Context, _Opts) ->
|
||||
{operation_aborted, Reason} ->
|
||||
raise(#cds_OperationAborted{reason = atom_to_binary(Reason, utf8)})
|
||||
end;
|
||||
handle_function_('CancelRekey', [], _Context, _Opts) ->
|
||||
handle_function_('CancelRekey', {}, _Context, _Opts) ->
|
||||
try
|
||||
{ok, kds_keyring_manager:cancel_rekey()}
|
||||
catch
|
||||
{invalid_status, Status} ->
|
||||
raise(#cds_InvalidStatus{status = Status})
|
||||
end;
|
||||
handle_function_('GetState', [], _Context, _Opts) ->
|
||||
handle_function_('GetState', {}, _Context, _Opts) ->
|
||||
case kds_keyring_manager:get_status() of
|
||||
Status ->
|
||||
{ok, encode_state(Status)}
|
||||
end;
|
||||
handle_function_('UpdateKeyringMeta', [KeyringMeta], _Context, _Opts) ->
|
||||
handle_function_('UpdateKeyringMeta', {KeyringMeta}, _Context, _Opts) ->
|
||||
try
|
||||
DecodedKeyringMeta = kds_keyring_meta:decode_keyring_meta_diff(KeyringMeta),
|
||||
kds_keyring_manager:update_meta(DecodedKeyringMeta)
|
||||
@ -211,7 +211,7 @@ handle_function_('UpdateKeyringMeta', [KeyringMeta], _Context, _Opts) ->
|
||||
{validation_failed, Reason} ->
|
||||
raise(#cds_InvalidKeyringMeta{reason = erlang:atom_to_binary(Reason, utf8)})
|
||||
end;
|
||||
handle_function_('GetKeyringMeta', [], _Context, _Opts) ->
|
||||
handle_function_('GetKeyringMeta', {}, _Context, _Opts) ->
|
||||
KeyringMeta = kds_keyring_manager:get_meta(),
|
||||
EncodedKeyringMeta = kds_keyring_meta:encode_keyring_meta(KeyringMeta),
|
||||
{ok, EncodedKeyringMeta}.
|
||||
|
@ -23,7 +23,7 @@ handle_function(OperationID, Args, Context, Opts) ->
|
||||
)
|
||||
).
|
||||
|
||||
handle_function_('GetKeyring', [], _Context, _Opts) ->
|
||||
handle_function_('GetKeyring', {}, _Context, _Opts) ->
|
||||
try kds_keyring_manager:get_keyring() of
|
||||
Keyring ->
|
||||
{ok, encode_keyring(Keyring)}
|
||||
|
@ -18,11 +18,11 @@
|
||||
%% API
|
||||
%%
|
||||
|
||||
-spec call(atom(), atom(), list(), woody:url()) -> result().
|
||||
-spec call(atom(), atom(), woody:args(), woody:url()) -> result().
|
||||
call(ServiceCode, Function, Args, RootUrl) ->
|
||||
call(ServiceCode, Function, Args, RootUrl, #{}).
|
||||
|
||||
-spec call(atom(), atom(), list(), woody:url(), woody_client:options() | map()) -> result().
|
||||
-spec call(atom(), atom(), woody:args(), woody:url(), woody_client:options() | map()) -> result().
|
||||
call(ServiceCode, Function, Args, RootUrl, ExtraOpts) ->
|
||||
Request = {kds_thrift_services:service(ServiceCode), Function, Args},
|
||||
Path = genlib:to_binary(kds_thrift_services:path(ServiceCode)),
|
||||
|
@ -38,7 +38,7 @@
|
||||
| {error, {invalid_activity, {initialization, kds_keyring_initializer:state()}}}
|
||||
| {error, {invalid_arguments, binary()}}.
|
||||
start_init(Threshold, RootUrl) ->
|
||||
try kds_woody_client:call(keyring_management, 'StartInit', [Threshold], RootUrl) of
|
||||
try kds_woody_client:call(keyring_management, 'StartInit', {Threshold}, RootUrl) of
|
||||
EncryptedShares ->
|
||||
decode_encrypted_shares(EncryptedShares)
|
||||
catch
|
||||
@ -59,7 +59,7 @@ start_init(Threshold, RootUrl) ->
|
||||
| {error, {invalid_arguments, binary()}}.
|
||||
validate_init(ShareholderId, Share, RootUrl) ->
|
||||
SignedShare = encode_signed_share(ShareholderId, Share),
|
||||
try kds_woody_client:call(keyring_management, 'ValidateInit', [SignedShare], RootUrl) of
|
||||
try kds_woody_client:call(keyring_management, 'ValidateInit', {SignedShare}, RootUrl) of
|
||||
{success, #cds_Success{}} ->
|
||||
ok;
|
||||
{more_keys_needed, More} ->
|
||||
@ -81,7 +81,7 @@ validate_init(ShareholderId, Share, RootUrl) ->
|
||||
| {error, {invalid_activity, {initialization, kds_keyring_initializer:state()}}}.
|
||||
cancel_init(RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'CancelInit', [], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'CancelInit', {}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}};
|
||||
@ -95,7 +95,7 @@ cancel_init(RootUrl) ->
|
||||
| {error, {invalid_activity, {unlock, kds_keyring_unlocker:state()}}}.
|
||||
start_unlock(RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'StartUnlock', [], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'StartUnlock', {}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}};
|
||||
@ -112,7 +112,7 @@ start_unlock(RootUrl) ->
|
||||
| {error, {operation_aborted, binary()}}.
|
||||
confirm_unlock(ShareholderId, Share, RootUrl) ->
|
||||
SignedShare = encode_signed_share(ShareholderId, Share),
|
||||
try kds_woody_client:call(keyring_management, 'ConfirmUnlock', [SignedShare], RootUrl) of
|
||||
try kds_woody_client:call(keyring_management, 'ConfirmUnlock', {SignedShare}, RootUrl) of
|
||||
{success, #cds_Success{}} ->
|
||||
ok;
|
||||
{more_keys_needed, More} ->
|
||||
@ -133,7 +133,7 @@ confirm_unlock(ShareholderId, Share, RootUrl) ->
|
||||
| {error, {invalid_status, kds_keyring_manager:state()}}.
|
||||
cancel_unlock(RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'CancelUnlock', [], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'CancelUnlock', {}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}}
|
||||
@ -144,7 +144,7 @@ cancel_unlock(RootUrl) ->
|
||||
| {error, {invalid_status, kds_keyring_manager:state()}}.
|
||||
lock(RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'Lock', [], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'Lock', {}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}}
|
||||
@ -156,7 +156,7 @@ lock(RootUrl) ->
|
||||
| {error, {invalid_activity, {rotation, kds_keyring_rotator:state()}}}.
|
||||
start_rotate(RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'StartRotate', [], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'StartRotate', {}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}};
|
||||
@ -173,7 +173,7 @@ start_rotate(RootUrl) ->
|
||||
| {error, {operation_aborted, binary()}}.
|
||||
confirm_rotate(ShareholderId, Share, RootUrl) ->
|
||||
SignedShare = encode_signed_share(ShareholderId, Share),
|
||||
try kds_woody_client:call(keyring_management, 'ConfirmRotate', [SignedShare], RootUrl) of
|
||||
try kds_woody_client:call(keyring_management, 'ConfirmRotate', {SignedShare}, RootUrl) of
|
||||
{success, #cds_Success{}} ->
|
||||
ok;
|
||||
{more_keys_needed, More} ->
|
||||
@ -194,7 +194,7 @@ confirm_rotate(ShareholderId, Share, RootUrl) ->
|
||||
| {error, {invalid_status, kds_keyring_manager:state()}}.
|
||||
cancel_rotate(RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'CancelRotate', [], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'CancelRotate', {}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}}
|
||||
@ -207,7 +207,7 @@ cancel_rotate(RootUrl) ->
|
||||
| {error, {invalid_arguments, binary()}}.
|
||||
start_rekey(Threshold, RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'StartRekey', [Threshold], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'StartRekey', {Threshold}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}};
|
||||
@ -226,7 +226,7 @@ start_rekey(Threshold, RootUrl) ->
|
||||
| {error, {operation_aborted, binary()}}.
|
||||
confirm_rekey(ShareholderId, Share, RootUrl) ->
|
||||
SignedShare = encode_signed_share(ShareholderId, Share),
|
||||
try kds_woody_client:call(keyring_management, 'ConfirmRekey', [SignedShare], RootUrl) of
|
||||
try kds_woody_client:call(keyring_management, 'ConfirmRekey', {SignedShare}, RootUrl) of
|
||||
{success, #cds_Success{}} ->
|
||||
ok;
|
||||
{more_keys_needed, More} ->
|
||||
@ -247,7 +247,7 @@ confirm_rekey(ShareholderId, Share, RootUrl) ->
|
||||
| {error, {invalid_status, kds_keyring_manager:state()}}
|
||||
| {error, {invalid_activity, {rekeying, kds_keyring_rotator:state()}}}.
|
||||
start_rekey_validation(RootUrl) ->
|
||||
try kds_woody_client:call(keyring_management, 'StartRekeyValidation', [], RootUrl) of
|
||||
try kds_woody_client:call(keyring_management, 'StartRekeyValidation', {}, RootUrl) of
|
||||
EncryptedShares ->
|
||||
decode_encrypted_shares(EncryptedShares)
|
||||
catch
|
||||
@ -266,7 +266,7 @@ start_rekey_validation(RootUrl) ->
|
||||
| {error, {operation_aborted, binary()}}.
|
||||
validate_rekey(ShareholderId, Share, RootUrl) ->
|
||||
SignedShare = encode_signed_share(ShareholderId, Share),
|
||||
try kds_woody_client:call(keyring_management, 'ValidateRekey', [SignedShare], RootUrl) of
|
||||
try kds_woody_client:call(keyring_management, 'ValidateRekey', {SignedShare}, RootUrl) of
|
||||
{success, #cds_Success{}} ->
|
||||
ok;
|
||||
{more_keys_needed, More} ->
|
||||
@ -287,7 +287,7 @@ validate_rekey(ShareholderId, Share, RootUrl) ->
|
||||
| {error, {invalid_status, kds_keyring_manager:state()}}.
|
||||
cancel_rekey(RootUrl) ->
|
||||
try
|
||||
kds_woody_client:call(keyring_management, 'CancelRekey', [], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'CancelRekey', {}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidStatus{status = Status} ->
|
||||
{error, {invalid_status, Status}}
|
||||
@ -295,7 +295,7 @@ cancel_rekey(RootUrl) ->
|
||||
|
||||
-spec get_state(woody:url()) -> kds_keyring_manager:status().
|
||||
get_state(RootUrl) ->
|
||||
State = kds_woody_client:call(keyring_management, 'GetState', [], RootUrl),
|
||||
State = kds_woody_client:call(keyring_management, 'GetState', {}, RootUrl),
|
||||
decode_state(State).
|
||||
|
||||
-spec update_keyring_meta(kds_keyring_meta:keyring_meta(), woody:url()) ->
|
||||
@ -305,7 +305,7 @@ get_state(RootUrl) ->
|
||||
update_keyring_meta(KeyringMeta, RootUrl) ->
|
||||
try
|
||||
EncodedMeta = kds_keyring_meta:encode_keyring_meta_diff(KeyringMeta),
|
||||
kds_woody_client:call(keyring_management, 'UpdateKeyringMeta', [EncodedMeta], RootUrl)
|
||||
kds_woody_client:call(keyring_management, 'UpdateKeyringMeta', {EncodedMeta}, RootUrl)
|
||||
catch
|
||||
#cds_InvalidKeyringMeta{reason = Reason} ->
|
||||
{error, {invalid_keyring_meta, Reason}};
|
||||
@ -315,7 +315,7 @@ update_keyring_meta(KeyringMeta, RootUrl) ->
|
||||
|
||||
-spec get_keyring_meta(woody:url()) -> kds_keyring_meta:keyring_meta().
|
||||
get_keyring_meta(RootUrl) ->
|
||||
KeyringMeta = kds_woody_client:call(keyring_management, 'GetKeyringMeta', [], RootUrl),
|
||||
KeyringMeta = kds_woody_client:call(keyring_management, 'GetKeyringMeta', {}, RootUrl),
|
||||
kds_keyring_meta:decode_keyring_meta(KeyringMeta).
|
||||
|
||||
-spec get_keyring(woody:url(), term()) -> kds_keyring:keyring().
|
||||
@ -329,7 +329,7 @@ get_keyring(RootUrl, SSLOptions) ->
|
||||
]
|
||||
}
|
||||
},
|
||||
try kds_woody_client:call(keyring_storage, 'GetKeyring', [], RootUrl, ExtraOpts) of
|
||||
try kds_woody_client:call(keyring_storage, 'GetKeyring', {}, RootUrl, ExtraOpts) of
|
||||
Keyring ->
|
||||
decode_keyring(Keyring)
|
||||
catch
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit f42e059d9ec93826ba4ad23232eed8ce67bd5486
|
||||
Subproject commit be44d69fc87b22a0bb82d98d6eae7658d1647f98
|
34
elvis.config
34
elvis.config
@ -6,9 +6,9 @@
|
||||
filter => "*.erl",
|
||||
ignore => ["_thrift.erl$"],
|
||||
rules => [
|
||||
{elvis_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_style, no_tabs},
|
||||
{elvis_style, no_trailing_whitespace},
|
||||
{elvis_text_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_text_style, no_tabs},
|
||||
{elvis_text_style, no_trailing_whitespace},
|
||||
{elvis_style, macro_module_names},
|
||||
{elvis_style, operator_spaces, #{rules => [{right, ","}, {right, "++"}, {left, "++"}]}},
|
||||
{elvis_style, nesting_level, #{level => 3}},
|
||||
@ -19,7 +19,15 @@
|
||||
{elvis_style, no_behavior_info},
|
||||
{elvis_style, module_naming_convention, #{regex => "^([a-z][a-z0-9]*_?)*(_SUITE)?$"}},
|
||||
{elvis_style, function_naming_convention, #{regex => "^([a-z][a-z0-9]*_?)*$"}},
|
||||
{elvis_style, state_record_and_type},
|
||||
{elvis_style, state_record_and_type, #{
|
||||
ignore => [
|
||||
kds_keyring_initializer,
|
||||
kds_keyring_manager,
|
||||
kds_keyring_rekeyer,
|
||||
kds_keyring_rotator,
|
||||
kds_keyring_unlocker
|
||||
]
|
||||
}},
|
||||
{elvis_style, no_spec_with_records},
|
||||
{elvis_style, dont_repeat_yourself, #{min_complexity => 15}},
|
||||
{elvis_style, no_debug_call, #{ignore => [elvis, elvis_utils]}}
|
||||
@ -29,9 +37,9 @@
|
||||
dirs => ["apps/*/test"],
|
||||
filter => "*.erl",
|
||||
rules => [
|
||||
{elvis_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_style, no_tabs},
|
||||
{elvis_style, no_trailing_whitespace},
|
||||
{elvis_text_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_text_style, no_tabs},
|
||||
{elvis_text_style, no_trailing_whitespace},
|
||||
{elvis_style, macro_module_names},
|
||||
{elvis_style, operator_spaces, #{rules => [{right, ","}, {right, "++"}, {left, "++"}]}},
|
||||
{elvis_style, nesting_level, #{level => 3}},
|
||||
@ -58,18 +66,18 @@
|
||||
dirs => ["."],
|
||||
filter => "rebar.config",
|
||||
rules => [
|
||||
{elvis_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_style, no_tabs},
|
||||
{elvis_style, no_trailing_whitespace}
|
||||
{elvis_text_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_text_style, no_tabs},
|
||||
{elvis_text_style, no_trailing_whitespace}
|
||||
]
|
||||
},
|
||||
#{
|
||||
dirs => ["apps/*/src"],
|
||||
filter => "*.app.src",
|
||||
rules => [
|
||||
{elvis_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_style, no_tabs},
|
||||
{elvis_style, no_trailing_whitespace}
|
||||
{elvis_text_style, line_length, #{limit => 120, skip_comments => false}},
|
||||
{elvis_text_style, no_tabs},
|
||||
{elvis_text_style, no_trailing_whitespace}
|
||||
]
|
||||
}
|
||||
]}
|
||||
|
30
rebar.config
30
rebar.config
@ -19,20 +19,17 @@
|
||||
% Common project dependencies.
|
||||
{deps, [
|
||||
{lib_combin, "0.1.5"},
|
||||
{jsx, "2.9.0"},
|
||||
{jose, "1.11.1"},
|
||||
{prometheus, "4.6.0"},
|
||||
{jsx, "3.1.0"},
|
||||
{jose, "1.11.2"},
|
||||
{prometheus, "4.8.1"},
|
||||
{prometheus_cowboy, "0.1.8"},
|
||||
{shamir, {git, "git@github.com:rbkmoney/shamir.git", {branch, master}}},
|
||||
{woody, {git, "git@github.com:rbkmoney/woody_erlang.git", {branch, master}}},
|
||||
{genlib, {git, "git@github.com:rbkmoney/genlib.git", {branch, master}}},
|
||||
{how_are_you, {git, "https://github.com/rbkmoney/how_are_you.git", {branch, master}}},
|
||||
{woody_api_hay, {git, "https://github.com/rbkmoney/woody_api_hay.git", {branch, "master"}}},
|
||||
{shamir, {git, "https://github.com/rbkmoney/shamir.git", {branch, master}}},
|
||||
{woody, {git, "https://github.com/rbkmoney/woody_erlang.git", {branch, master}}},
|
||||
{genlib, {git, "https://github.com/rbkmoney/genlib.git", {branch, master}}},
|
||||
{erl_health, {git, "https://github.com/rbkmoney/erlang-health.git", {branch, master}}},
|
||||
{cds_proto, {git, "git@github.com:rbkmoney/cds-proto.git", {branch, master}}},
|
||||
{cds_proto, {git, "https://github.com/rbkmoney/cds-proto.git", {branch, master}}},
|
||||
{msgpack, {git, "https://github.com/rbkmoney/msgpack-erlang", {branch, master}}},
|
||||
{scoper, {git, "git@github.com:rbkmoney/scoper.git", {branch, master}}},
|
||||
{logger_logstash_formatter, {git, "git@github.com:rbkmoney/logger_logstash_formatter.git", {branch, "master"}}}
|
||||
{scoper, {git, "https://github.com/rbkmoney/scoper.git", {branch, master}}}
|
||||
]}.
|
||||
|
||||
{xref_checks, [
|
||||
@ -57,12 +54,19 @@
|
||||
{profiles, [
|
||||
{prod, [
|
||||
{deps, [
|
||||
{recon, "2.3.2"}
|
||||
{how_are_you, {git, "https://github.com/rbkmoney/how_are_you.git", {ref, "2fd80134"}}},
|
||||
{woody_api_hay, {git, "https://github.com/rbkmoney/woody_api_hay.git", {ref, "4c39134cd"}}},
|
||||
{logger_logstash_formatter,
|
||||
{git, "https://github.com/rbkmoney/logger_logstash_formatter.git", {ref, "87e52c755"}}},
|
||||
{recon, "2.5.2"}
|
||||
]},
|
||||
{relx, [
|
||||
{release, {kds, "0.1.0"}, [
|
||||
{recon, load},
|
||||
{logger_logstash_formatter, load},
|
||||
woody_api_hay,
|
||||
how_are_you,
|
||||
sasl,
|
||||
kds
|
||||
]},
|
||||
{sys_config, "./config/sys.config"},
|
||||
@ -90,7 +94,7 @@
|
||||
{overrides, [
|
||||
{override, rebar3_protobuffs_plugin, [
|
||||
{deps, [
|
||||
{protobuffs, {git, "git://github.com/basho/erlang_protobuffs.git", {tag, "0.8.2"}}}
|
||||
{protobuffs, {git, "https://github.com/basho/erlang_protobuffs.git", {tag, "0.8.2"}}}
|
||||
]}
|
||||
]},
|
||||
{override, protobuffs, [
|
||||
|
135
rebar.lock
135
rebar.lock
@ -1,134 +1,111 @@
|
||||
{"1.2.0",
|
||||
[{<<"accept">>,{pkg,<<"accept">>,<<"0.3.5">>},2},
|
||||
{<<"bear">>,{pkg,<<"bear">>,<<"0.8.7">>},2},
|
||||
{<<"cache">>,{pkg,<<"cache">>,<<"2.2.0">>},1},
|
||||
{<<"cache">>,{pkg,<<"cache">>,<<"2.3.3">>},1},
|
||||
{<<"cds_proto">>,
|
||||
{git,"git@github.com:rbkmoney/cds-proto.git",
|
||||
{ref,"1f1eb62f0440f7d5e5b1a0e58bf9cab91c052271"}},
|
||||
{git,"https://github.com/rbkmoney/cds-proto.git",
|
||||
{ref,"74a763b2ba3f45753a0c2c73048906ac95ff16e5"}},
|
||||
0},
|
||||
{<<"certifi">>,{pkg,<<"certifi">>,<<"2.5.2">>},2},
|
||||
{<<"certifi">>,{pkg,<<"certifi">>,<<"2.6.1">>},2},
|
||||
{<<"cg_mon">>,
|
||||
{git,"https://github.com/rbkmoney/cg_mon.git",
|
||||
{ref,"5a87a37694e42b6592d3b4164ae54e0e87e24e18"}},
|
||||
1},
|
||||
{<<"cowboy">>,{pkg,<<"cowboy">>,<<"2.7.0">>},1},
|
||||
{<<"cowlib">>,{pkg,<<"cowlib">>,<<"2.8.0">>},2},
|
||||
{<<"cowboy">>,{pkg,<<"cowboy">>,<<"2.9.0">>},1},
|
||||
{<<"cowlib">>,{pkg,<<"cowlib">>,<<"2.11.0">>},2},
|
||||
{<<"erl_health">>,
|
||||
{git,"https://github.com/rbkmoney/erlang-health.git",
|
||||
{ref,"406fdd367bc085eec48e2337dad63a86ef81acd3"}},
|
||||
{ref,"5958e2f35cd4d09f40685762b82b82f89b4d9333"}},
|
||||
0},
|
||||
{<<"folsom">>,
|
||||
{git,"git@github.com:folsom-project/folsom.git",
|
||||
{ref,"9309bad9ffadeebbefe97521577c7480c7cfcd8a"}},
|
||||
1},
|
||||
{<<"genlib">>,
|
||||
{git,"git@github.com:rbkmoney/genlib.git",
|
||||
{ref,"f805a11f6e73faffb05656c5192fbe199df36f27"}},
|
||||
{git,"https://github.com/rbkmoney/genlib.git",
|
||||
{ref,"2bbc54d4abe0f779d57c8f5911dce64d295b1cd1"}},
|
||||
0},
|
||||
{<<"gproc">>,{pkg,<<"gproc">>,<<"0.8.0">>},1},
|
||||
{<<"hackney">>,{pkg,<<"hackney">>,<<"1.16.0">>},1},
|
||||
{<<"how_are_you">>,
|
||||
{git,"https://github.com/rbkmoney/how_are_you.git",
|
||||
{ref,"2bb46054e16aaba9357747cc72b7c42e1897a56d"}},
|
||||
0},
|
||||
{<<"idna">>,{pkg,<<"idna">>,<<"6.0.1">>},2},
|
||||
{<<"jose">>,{pkg,<<"jose">>,<<"1.11.1">>},0},
|
||||
{<<"jsx">>,{pkg,<<"jsx">>,<<"2.9.0">>},0},
|
||||
{<<"gproc">>,{pkg,<<"gproc">>,<<"0.9.0">>},1},
|
||||
{<<"hackney">>,{pkg,<<"hackney">>,<<"1.17.4">>},1},
|
||||
{<<"idna">>,{pkg,<<"idna">>,<<"6.1.1">>},2},
|
||||
{<<"jose">>,{pkg,<<"jose">>,<<"1.11.2">>},0},
|
||||
{<<"jsx">>,{pkg,<<"jsx">>,<<"3.1.0">>},0},
|
||||
{<<"lib_combin">>,{pkg,<<"lib_combin">>,<<"0.1.5">>},0},
|
||||
{<<"logger_logstash_formatter">>,
|
||||
{git,"git@github.com:rbkmoney/logger_logstash_formatter.git",
|
||||
{ref,"87e52c755cf9e64d651e3ddddbfcd2ccd1db79db"}},
|
||||
0},
|
||||
{<<"metrics">>,{pkg,<<"metrics">>,<<"1.0.1">>},2},
|
||||
{<<"mimerl">>,{pkg,<<"mimerl">>,<<"1.2.0">>},2},
|
||||
{<<"msgpack">>,
|
||||
{git,"https://github.com/msgpack/msgpack-erlang",
|
||||
{ref,"a022774168aa36324a250816a0bd834438881ada"}},
|
||||
{git,"https://github.com/rbkmoney/msgpack-erlang",
|
||||
{ref,"9d56647ed77498c7655da39891c4985142697083"}},
|
||||
0},
|
||||
{<<"parse_trans">>,{pkg,<<"parse_trans">>,<<"3.3.0">>},2},
|
||||
{<<"pooler">>,
|
||||
{git,"git@github.com:seth/pooler.git",
|
||||
{ref,"9c28fb479f9329e2a1644565a632bc222780f1b7"}},
|
||||
0},
|
||||
{<<"prometheus">>,{pkg,<<"prometheus">>,<<"4.6.0">>},0},
|
||||
{<<"parse_trans">>,{pkg,<<"parse_trans">>,<<"3.3.1">>},2},
|
||||
{<<"prometheus">>,{pkg,<<"prometheus">>,<<"4.8.1">>},0},
|
||||
{<<"prometheus_cowboy">>,{pkg,<<"prometheus_cowboy">>,<<"0.1.8">>},0},
|
||||
{<<"prometheus_httpd">>,{pkg,<<"prometheus_httpd">>,<<"2.1.11">>},1},
|
||||
{<<"proper">>,{pkg,<<"proper">>,<<"1.3.0">>},1},
|
||||
{<<"ranch">>,{pkg,<<"ranch">>,<<"1.7.1">>},2},
|
||||
{<<"recon">>,{pkg,<<"recon">>,<<"2.3.2">>},0},
|
||||
{<<"quantile_estimator">>,{pkg,<<"quantile_estimator">>,<<"0.2.1">>},1},
|
||||
{<<"ranch">>,{pkg,<<"ranch">>,<<"1.8.0">>},2},
|
||||
{<<"scoper">>,
|
||||
{git,"git@github.com:rbkmoney/scoper.git",
|
||||
{ref,"95643f40dd628c77f33f12be96cf1c39dccc9683"}},
|
||||
{git,"https://github.com/rbkmoney/scoper.git",
|
||||
{ref,"7f3183df279bc8181efe58dafd9cae164f495e6f"}},
|
||||
0},
|
||||
{<<"shamir">>,
|
||||
{git,"git@github.com:rbkmoney/shamir.git",
|
||||
{git,"https://github.com/rbkmoney/shamir.git",
|
||||
{ref,"8ac011408f20891dddecedf15243109bdf479725"}},
|
||||
0},
|
||||
{<<"snowflake">>,
|
||||
{git,"https://github.com/rbkmoney/snowflake.git",
|
||||
{ref,"7f379ad5e389e1c96389a8d60bae8117965d6a6d"}},
|
||||
{ref,"de159486ef40cec67074afe71882bdc7f7deab72"}},
|
||||
1},
|
||||
{<<"ssl_verify_fun">>,{pkg,<<"ssl_verify_fun">>,<<"1.1.6">>},2},
|
||||
{<<"thrift">>,
|
||||
{git,"https://github.com/rbkmoney/thrift_erlang.git",
|
||||
{ref,"aa233e29a8d8682ae9e088eedde772f0ee45d105"}},
|
||||
{ref,"846a0819d9b6d09d0c31f160e33a78dbad2067b4"}},
|
||||
1},
|
||||
{<<"unicode_util_compat">>,{pkg,<<"unicode_util_compat">>,<<"0.5.0">>},3},
|
||||
{<<"unicode_util_compat">>,{pkg,<<"unicode_util_compat">>,<<"0.7.0">>},2},
|
||||
{<<"woody">>,
|
||||
{git,"git@github.com:rbkmoney/woody_erlang.git",
|
||||
{ref,"b563bbb4351d9ac41a5bad6c9683f3a5b2e6b543"}},
|
||||
0},
|
||||
{<<"woody_api_hay">>,
|
||||
{git,"https://github.com/rbkmoney/woody_api_hay.git",
|
||||
{ref,"3cb6404bfbe80478a71c88b33c0bd352e94cd3c3"}},
|
||||
{git,"https://github.com/rbkmoney/woody_erlang.git",
|
||||
{ref,"330bdcf71e99c2ea7aed424cd718939cb360ec1c"}},
|
||||
0}]}.
|
||||
[
|
||||
{pkg_hash,[
|
||||
{<<"accept">>, <<"B33B127ABCA7CC948BBE6CAA4C263369ABF1347CFA9D8E699C6D214660F10CD1">>},
|
||||
{<<"bear">>, <<"16264309AE5D005D03718A5C82641FCC259C9E8F09ADEB6FD79CA4271168656F">>},
|
||||
{<<"cache">>, <<"3C11DBF4CD8FCD5787C95A5FB2A04038E3729CFCA0386016EEA8C953AB48A5AB">>},
|
||||
{<<"certifi">>, <<"B7CFEAE9D2ED395695DD8201C57A2D019C0C43ECAF8B8BCB9320B40D6662F340">>},
|
||||
{<<"cowboy">>, <<"91ED100138A764355F43316B1D23D7FF6BDB0DE4EA618CB5D8677C93A7A2F115">>},
|
||||
{<<"cowlib">>, <<"FD0FF1787DB84AC415B8211573E9A30A3EBE71B5CBFF7F720089972B2319C8A4">>},
|
||||
{<<"gproc">>, <<"CEA02C578589C61E5341FCE149EA36CCEF236CC2ECAC8691FBA408E7EA77EC2F">>},
|
||||
{<<"hackney">>, <<"5096AC8E823E3A441477B2D187E30DD3FFF1A82991A806B2003845CE72CE2D84">>},
|
||||
{<<"idna">>, <<"1D038FB2E7668CE41FBF681D2C45902E52B3CB9E9C77B55334353B222C2EE50C">>},
|
||||
{<<"jose">>, <<"59DA64010C69AAD6CDE2F5B9248B896B84472E99BD18F246085B7B9FE435DCDB">>},
|
||||
{<<"jsx">>, <<"D2F6E5F069C00266CAD52FB15D87C428579EA4D7D73A33669E12679E203329DD">>},
|
||||
{<<"cache">>, <<"B23A5FE7095445A88412A6E614C933377E0137B44FFED77C9B3FEF1A731A20B2">>},
|
||||
{<<"certifi">>, <<"DBAB8E5E155A0763EEA978C913CA280A6B544BFA115633FA20249C3D396D9493">>},
|
||||
{<<"cowboy">>, <<"865DD8B6607E14CF03282E10E934023A1BD8BE6F6BACF921A7E2A96D800CD452">>},
|
||||
{<<"cowlib">>, <<"0B9FF9C346629256C42EBE1EEB769A83C6CB771A6EE5960BD110AB0B9B872063">>},
|
||||
{<<"gproc">>, <<"853CCB7805E9ADA25D227A157BA966F7B34508F386A3E7E21992B1B484230699">>},
|
||||
{<<"hackney">>, <<"99DA4674592504D3FB0CFEF0DB84C3BA02B4508BAE2DFF8C0108BAA0D6E0977C">>},
|
||||
{<<"idna">>, <<"8A63070E9F7D0C62EB9D9FCB360A7DE382448200FBBD1B106CC96D3D8099DF8D">>},
|
||||
{<<"jose">>, <<"F4C018CCF4FDCE22C71E44D471F15F723CB3EFAB5D909AB2BA202B5BF35557B3">>},
|
||||
{<<"jsx">>, <<"D12516BAA0BB23A59BB35DCCAF02A1BD08243FCBB9EFE24F2D9D056CCFF71268">>},
|
||||
{<<"lib_combin">>, <<"00F241FDCB6AFFFC1DE109A61A216C07E4E51C52CCB165656565BF660E7C78EB">>},
|
||||
{<<"metrics">>, <<"25F094DEA2CDA98213CECC3AEFF09E940299D950904393B2A29D191C346A8486">>},
|
||||
{<<"mimerl">>, <<"67E2D3F571088D5CFD3E550C383094B47159F3EEE8FFA08E64106CDF5E981BE3">>},
|
||||
{<<"parse_trans">>, <<"09765507A3C7590A784615CFD421D101AEC25098D50B89D7AA1D66646BC571C1">>},
|
||||
{<<"prometheus">>, <<"20510F381DB1CCAB818B4CF2FAC5FA6AB5CC91BC364A154399901C001465F46F">>},
|
||||
{<<"parse_trans">>, <<"16328AB840CC09919BD10DAB29E431DA3AF9E9E7E7E6F0089DD5A2D2820011D8">>},
|
||||
{<<"prometheus">>, <<"FA76B152555273739C14B06F09F485CF6D5D301FE4E9D31B7FF803D26025D7A0">>},
|
||||
{<<"prometheus_cowboy">>, <<"CFCE0BC7B668C5096639084FCD873826E6220EA714BF60A716F5BD080EF2A99C">>},
|
||||
{<<"prometheus_httpd">>, <<"F616ED9B85B536B195D94104063025A91F904A4CFC20255363F49A197D96C896">>},
|
||||
{<<"proper">>, <<"C1ACD51C51DA17A2FE91D7A6FC6A0C25A6A9849D8DC77093533109D1218D8457">>},
|
||||
{<<"ranch">>, <<"6B1FAB51B49196860B733A49C07604465A47BDB78AA10C1C16A3D199F7F8C881">>},
|
||||
{<<"recon">>, <<"4444C879BE323B1B133EEC5241CB84BD3821EA194C740D75617E106BE4744318">>},
|
||||
{<<"quantile_estimator">>, <<"EF50A361F11B5F26B5F16D0696E46A9E4661756492C981F7B2229EF42FF1CD15">>},
|
||||
{<<"ranch">>, <<"8C7A100A139FD57F17327B6413E4167AC559FBC04CA7448E9BE9057311597A1D">>},
|
||||
{<<"ssl_verify_fun">>, <<"CF344F5692C82D2CD7554F5EC8FD961548D4FD09E7D22F5B62482E5AEAEBD4B0">>},
|
||||
{<<"unicode_util_compat">>, <<"8516502659002CEC19E244EBD90D312183064BE95025A319A6C7E89F4BCCD65B">>}]},
|
||||
{<<"unicode_util_compat">>, <<"BC84380C9AB48177092F43AC89E4DFA2C6D62B40B8BD132B1059ECC7232F9A78">>}]},
|
||||
{pkg_hash_ext,[
|
||||
{<<"accept">>, <<"11B18C220BCC2EAB63B5470C038EF10EB6783BCB1FCDB11AA4137DEFA5AC1BB8">>},
|
||||
{<<"bear">>, <<"534217DCE6A719D59E54FB0EB7A367900DBFC5F85757E8C1F94269DF383F6D9B">>},
|
||||
{<<"cache">>, <<"3E7D6706DE5DF76C4D71C895B4BE62B01C3DE6EDB63197035E465C3BCE63F19B">>},
|
||||
{<<"certifi">>, <<"3B3B5F36493004AC3455966991EAF6E768CE9884693D9968055AEEEB1E575040">>},
|
||||
{<<"cowboy">>, <<"04FD8C6A39EDC6AAA9C26123009200FC61F92A3A94F3178C527B70B767C6E605">>},
|
||||
{<<"cowlib">>, <<"79F954A7021B302186A950A32869DBC185523D99D3E44CE430CD1F3289F41ED4">>},
|
||||
{<<"gproc">>, <<"580ADAFA56463B75263EF5A5DF4C86AF321F68694E7786CB057FD805D1E2A7DE">>},
|
||||
{<<"hackney">>, <<"3BF0BEBBD5D3092A3543B783BF065165FA5D3AD4B899B836810E513064134E18">>},
|
||||
{<<"idna">>, <<"A02C8A1C4FD601215BB0B0324C8A6986749F807CE35F25449EC9E69758708122">>},
|
||||
{<<"jose">>, <<"078F6C9FB3CD2F4CFAFC972C814261A7D1E8D2B3685C0A76EB87E158EFFF1AC5">>},
|
||||
{<<"jsx">>, <<"8EE1DB1CABAFDD578A2776A6AAAE87C2A8CE54B47B59E9EC7DAB5D7EB71CD8DC">>},
|
||||
{<<"cache">>, <<"44516CE6FA03594D3A2AF025DD3A87BFE711000EB730219E1DDEFC816E0AA2F4">>},
|
||||
{<<"certifi">>, <<"524C97B4991B3849DD5C17A631223896272C6B0AF446778BA4675A1DFF53BB7E">>},
|
||||
{<<"cowboy">>, <<"2C729F934B4E1AA149AFF882F57C6372C15399A20D54F65C8D67BEF583021BDE">>},
|
||||
{<<"cowlib">>, <<"2B3E9DA0B21C4565751A6D4901C20D1B4CC25CBB7FD50D91D2AB6DD287BC86A9">>},
|
||||
{<<"gproc">>, <<"587E8AF698CCD3504CF4BA8D90F893EDE2B0F58CABB8A916E2BF9321DE3CF10B">>},
|
||||
{<<"hackney">>, <<"DE16FF4996556C8548D512F4DBE22DD58A587BF3332E7FD362430A7EF3986B16">>},
|
||||
{<<"idna">>, <<"92376EB7894412ED19AC475E4A86F7B413C1B9FBB5BD16DCCD57934157944CEA">>},
|
||||
{<<"jose">>, <<"98143FBC48D55F3A18DABA82D34FE48959D44538E9697C08F34200FA5F0947D2">>},
|
||||
{<<"jsx">>, <<"0C5CC8FDC11B53CC25CF65AC6705AD39E54ECC56D1C22E4ADB8F5A53FB9427F3">>},
|
||||
{<<"lib_combin">>, <<"D565215B9E5B3B1EF0B1A5DEDD0CC41AEA0814D6EAD6191584B5961C9DB874D5">>},
|
||||
{<<"metrics">>, <<"69B09ADDDC4F74A40716AE54D140F93BEB0FB8978D8636EADED0C31B6F099F16">>},
|
||||
{<<"mimerl">>, <<"F278585650AA581986264638EBF698F8BB19DF297F66AD91B18910DFC6E19323">>},
|
||||
{<<"parse_trans">>, <<"17EF63ABDE837AD30680EA7F857DD9E7CED9476CDD7B0394432AF4BFC241B960">>},
|
||||
{<<"prometheus">>, <<"4905FD2992F8038ECCD7AA0CD22F40637ED618C0BED1F75C05AACEC15B7545DE">>},
|
||||
{<<"parse_trans">>, <<"07CD9577885F56362D414E8C4C4E6BDF10D43A8767ABB92D24CBE8B24C54888B">>},
|
||||
{<<"prometheus">>, <<"6EDFBE928D271C7F657A6F2C46258738086584BD6CAE4A000B8B9A6009BA23A5">>},
|
||||
{<<"prometheus_cowboy">>, <<"BA286BECA9302618418892D37BCD5DC669A6CC001F4EB6D6AF85FF81F3F4F34C">>},
|
||||
{<<"prometheus_httpd">>, <<"0BBE831452CFDF9588538EB2F570B26F30C348ADAE5E95A7D87F35A5910BCF92">>},
|
||||
{<<"proper">>, <<"4AA192FCCDDD03FDBE50FEF620BE9D4D2F92635B54F55FB83AEC185994403CBC">>},
|
||||
{<<"ranch">>, <<"451D8527787DF716D99DC36162FCA05934915DB0B6141BBDAC2EA8D3C7AFC7D7">>},
|
||||
{<<"recon">>, <<"A6FCFBDABE1AEF9119B871304846B1CE282D9A4124BCDDAFC7616C1A256C7596">>},
|
||||
{<<"quantile_estimator">>, <<"282A8A323CA2A845C9E6F787D166348F776C1D4A41EDE63046D72D422E3DA946">>},
|
||||
{<<"ranch">>, <<"49FBCFD3682FAB1F5D109351B61257676DA1A2FDBE295904176D5E521A2DDFE5">>},
|
||||
{<<"ssl_verify_fun">>, <<"BDB0D2471F453C88FF3908E7686F86F9BE327D065CC1EC16FA4540197EA04680">>},
|
||||
{<<"unicode_util_compat">>, <<"D48D002E15F5CC105A696CF2F1BBB3FC72B4B770A184D8420C8DB20DA2674B38">>}]}
|
||||
{<<"unicode_util_compat">>, <<"25EEE6D67DF61960CF6A794239566599B09E17E668D3700247BC498638152521">>}]}
|
||||
].
|
||||
|
Loading…
Reference in New Issue
Block a user