From 1cedee492b15e2b0afca663097d1454d1ff7ddd6 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Tue, 30 Dec 2025 14:47:11 +0700 Subject: [PATCH 1/2] chore: update to version v3 --- ansible/roles/dashmate/defaults/main.yml | 26 +++++++- .../roles/dashmate/templates/dashmate.json.j2 | 61 ++++++++++--------- 2 files changed, 54 insertions(+), 33 deletions(-) diff --git a/ansible/roles/dashmate/defaults/main.yml b/ansible/roles/dashmate/defaults/main.yml index 056a0ad9..f56e2394 100644 --- a/ansible/roles/dashmate/defaults/main.yml +++ b/ansible/roles/dashmate/defaults/main.yml @@ -20,9 +20,7 @@ dashmate_platform_gateway_listeners_dapi_and_drive_http2_max_concurrent_streams: dashmate_platform_gateway_listeners_dapi_and_drive_wait_for_st_result_timeout: "125s" dashmate_platform_gateway_max_heap_size_in_bytes: 125000000 # 1 Gb dashmate_platform_gateway_upstreams_drive_grpc_max_requests: 10000 -dashmate_platform_gateway_upstreams_dapi_api_max_requests: 10000 -dashmate_platform_gateway_upstreams_dapi_core_streams_max_requests: 100 -dashmate_platform_gateway_upstreams_dapi_json_rpc_max_requests: 10000 +dashmate_platform_gateway_upstreams_rs_dapi_max_requests: 10000 dashmate_platform_gateway_metrics_enabled: false dashmate_platform_gateway_metrics_port: 9090 dashmate_platform_gateway_rate_limiter_enabled: true @@ -32,8 +30,21 @@ dashmate_platform_gateway_rate_limiter_metrics_docker_image: "prom/statsd-export dashmate_platform_gateway_rate_limiter_metrics_port: 9102 dashmate_platform_gateway_rate_limiter_unit: "minute" dashmate_platform_gateway_rate_limiter_requests_per_unit: 150 + +# DAPI rs-dapi configuration dashmate_platform_dapi_api_docker_deploy_replicas: 1 +dashmate_platform_dapi_rs_dapi_wait_for_st_result_timeout: 120000 +# Legacy - kept for backward compatibility dashmate_platform_dapi_api_wait_for_st_result_timeout: 120000 +# rs-dapi metrics +dashmate_platform_dapi_rs_dapi_metrics_enabled: false +dashmate_platform_dapi_rs_dapi_metrics_host: "127.0.0.1" +dashmate_platform_dapi_rs_dapi_metrics_port: 9091 +# rs-dapi logging +dashmate_platform_dapi_rs_dapi_log_level: "debug" +dashmate_platform_dapi_rs_dapi_log_json_format: false +dashmate_platform_dapi_rs_dapi_access_log_path: +dashmate_platform_dapi_rs_dapi_access_log_format: "combined" dashmate_platform_drive_abci_metrics_enabled: false dashmate_platform_drive_abci_metrics_port: 29090 dashmate_platform_drive_tenderdash_p2p_flush_throttle_timeout: "100ms" @@ -68,6 +79,7 @@ platform_drive_instant_lock_quorum_dkg_interval: platform_drive_instant_lock_quorum_active_signers: platform_drive_instant_lock_quorum_rotation: dashmate_core_rpc_dashmate_password: +dashmate_core_rpc_quorum_list_password: dashmate_core_rpc_dapi_password: dashmate_core_rpc_drive_consensus_password: dashmate_core_rpc_drive_check_tx_password: @@ -76,6 +88,14 @@ platform_drive_grovedb_visualizer_enabled: false platform_drive_grovedb_visualizer_port: 8083 initial_platform_protocol_version: +dashmate_platform_quorum_list_enabled: false +dashmate_platform_quorum_list_docker_image: "dashpay/quorum-list-server:latest" +dashmate_platform_quorum_list_api_host: "127.0.0.1" +dashmate_platform_quorum_list_api_port: 2444 +dashmate_platform_quorum_list_previous_blocks_offset: 8 +dashmate_platform_quorum_list_version_check_host: "" +dashmate_platform_quorum_list_address_host_override: "" + # Unsafe params. Use only if you understand what you are doing. dashmate_platform_drive_tenderdash_consensus_unsafe_override_propose_timeout: dashmate_platform_drive_tenderdash_consensus_unsafe_override_propose_delta: diff --git a/ansible/roles/dashmate/templates/dashmate.json.j2 b/ansible/roles/dashmate/templates/dashmate.json.j2 index c2968f8a..8505d0eb 100644 --- a/ansible/roles/dashmate/templates/dashmate.json.j2 +++ b/ansible/roles/dashmate/templates/dashmate.json.j2 @@ -59,6 +59,13 @@ "whitelist": null, "lowPriority": false }, + "quorum_list": { + "password": "{{ dashmate_core_rpc_quorum_list_password | default(dashmate_core_rpc_dashmate_password) }}", + "whitelist": [ + "quorum", "masternode", "getblockcount" + ], + "lowPriority": true + }, "dashmate": { "password": "{{ dashmate_core_rpc_dashmate_password }}", "whitelist": null, @@ -152,6 +159,19 @@ }, "platform": { "enable": {% if dashmate_platform_enable %}true{% else %}false{% endif %}, + "quorumList": { + "enabled": {% if dashmate_platform_quorum_list_enabled | default(false) %}true{% else %}false{% endif %}, + "docker": { + "image": "{{ dashmate_platform_quorum_list_docker_image | default('dashpay/quorum-list-server:latest') }}" + }, + "api": { + "host": "{{ dashmate_platform_quorum_list_api_host | default('127.0.0.1') }}", + "port": {{ dashmate_platform_quorum_list_api_port | default(2444) }} + }, + "previousBlocksOffset": {{ dashmate_platform_quorum_list_previous_blocks_offset | default(8) }}, + "versionCheckHost": "{{ dashmate_platform_quorum_list_version_check_host | default('') }}", + "addressHostOverride": "{{ dashmate_platform_quorum_list_address_host_override | default('') }}" + }, "gateway": { "docker": { "image": "{{ gateway_image }}" @@ -162,11 +182,8 @@ "driveGrpc": { "maxRequests": {{ dashmate_platform_gateway_upstreams_drive_grpc_max_requests }} }, - "dapiApi": { - "maxRequests": {{ dashmate_platform_gateway_upstreams_dapi_api_max_requests }} - }, - "dapiCoreStreams": { - "maxRequests": {{ dashmate_platform_gateway_upstreams_dapi_core_streams_max_requests }} + "rsDapi": { + "maxRequests": {{ dashmate_platform_gateway_upstreams_rs_dapi_max_requests }} }, "dapiJsonRpc": { "maxRequests": {{ dashmate_platform_gateway_upstreams_dapi_json_rpc_max_requests }} @@ -232,24 +249,6 @@ } }, "dapi": { - "deprecated": { - "enabled": false - }, - "api": { - "docker": { - "image": "{{ dapi_image }}", - "deploy": { - "replicas": {{ dashmate_platform_dapi_api_docker_deploy_replicas }} - }, - "build": { - "enabled": false, - "context": "{{ dashmate_source_dir }}", - "dockerFile": "{{ dashmate_source_dir }}/Dockerfile", - "target": "dapi" - } - }, - "waitForStResultTimeout": {{ dashmate_platform_dapi_api_wait_for_st_result_timeout }} - }, "rsDapi": { "docker": { "image": "{% if rs_dapi_image is defined %}{{ rs_dapi_image }}{% else %}{{ dapi_image | regex_replace('^dashpay/dapi:', 'dashpay/rs-dapi:') }}{% endif %}", @@ -264,15 +263,17 @@ } }, "metrics": { - "host": "127.0.0.1", - "port": 9091 + "enabled": {% if dashmate_platform_dapi_rs_dapi_metrics_enabled | default(false) %}true{% else %}false{% endif %}, + "host": "{{ dashmate_platform_dapi_rs_dapi_metrics_host | default('127.0.0.1') }}", + "port": {{ dashmate_platform_dapi_rs_dapi_metrics_port | default(9091) }} }, "logs": { - "level": "debug", - "jsonFormat": false, - "accessLogPath": null, - "accessLogFormat": "combined" - } + "level": "{{ dashmate_platform_dapi_rs_dapi_log_level | default('debug') }}", + "jsonFormat": {% if dashmate_platform_dapi_rs_dapi_log_json_format | default(false) %}true{% else %}false{% endif %}, + "accessLogPath": {% if dashmate_platform_dapi_rs_dapi_access_log_path is defined and dashmate_platform_dapi_rs_dapi_access_log_path %}"{{ dashmate_platform_dapi_rs_dapi_access_log_path }}"{% else %}null{% endif %}, + "accessLogFormat": "{{ dashmate_platform_dapi_rs_dapi_access_log_format | default('combined') }}" + }, + "waitForStResultTimeout": {{ dashmate_platform_dapi_rs_dapi_wait_for_st_result_timeout | default(dashmate_platform_dapi_api_wait_for_st_result_timeout) }} } }, "drive": { From e24ff4a0bf64a8d8ee6bb32ecbf1fd789456d3c8 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Tue, 30 Dec 2025 16:44:30 +0700 Subject: [PATCH 2/2] Update main.yml --- ansible/roles/dashmate/defaults/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible/roles/dashmate/defaults/main.yml b/ansible/roles/dashmate/defaults/main.yml index f56e2394..e09b136a 100644 --- a/ansible/roles/dashmate/defaults/main.yml +++ b/ansible/roles/dashmate/defaults/main.yml @@ -19,6 +19,7 @@ dashmate_platform_gateway_max_connections: 5000 dashmate_platform_gateway_listeners_dapi_and_drive_http2_max_concurrent_streams: 100 dashmate_platform_gateway_listeners_dapi_and_drive_wait_for_st_result_timeout: "125s" dashmate_platform_gateway_max_heap_size_in_bytes: 125000000 # 1 Gb +dashmate_platform_gateway_upstreams_dapi_json_rpc_max_requests: 10000 dashmate_platform_gateway_upstreams_drive_grpc_max_requests: 10000 dashmate_platform_gateway_upstreams_rs_dapi_max_requests: 10000 dashmate_platform_gateway_metrics_enabled: false