rhi

Coordinated trade for connected markets
git clone https://radroots.dev/git/rhi.git
Log | Files | Refs | README | LICENSE

config.v1.example.toml (2864B)


      1 schema = "radroots.rhi.config"
      2 schema_version = 1
      3 
      4 [service]
      5 shutdown_grace_ms = 30000
      6 
      7 [logging]
      8 level = "info"
      9 format = "json"
     10 
     11 [operations]
     12 enabled = false
     13 
     14 [database]
     15 busy_timeout_ms = 5000
     16 max_connections = 8
     17 minimum_free_bytes = 268435456
     18 
     19 [identity.service]
     20 provider = "encrypted_file"
     21 envelope_path = "/var/lib/radroots/services/rhi/default/secrets/service.identity.ncrypt"
     22 credential_reference = "service_wrapping_key"
     23 expected_public_key = "2222222222222222222222222222222222222222222222222222222222222222"
     24 
     25 [[relays]]
     26 id = "relay-primary"
     27 url = "wss://relay.example.com/"
     28 read = true
     29 write = true
     30 required = true
     31 authentication = "required"
     32 
     33 [[relays]]
     34 id = "relay-secondary"
     35 url = "wss://relay-secondary.example.com/"
     36 read = false
     37 write = true
     38 required = false
     39 authentication = "none"
     40 
     41 [network]
     42 connect_deadline_ms = 10000
     43 dns_answer_limit = 16
     44 
     45 [evidence]
     46 contract = "radroots.rhi.evidence-policy"
     47 contract_version = 1
     48 policy_id = "production-primary"
     49 
     50 [[evidence.sources]]
     51 source_id = "trade-primary"
     52 kind = "nostr_relay"
     53 relay_id = "relay-primary"
     54 required = true
     55 selector = "trade_mutation_lineage_v1"
     56 deadline_ms = 10000
     57 lookback_seconds = 86400
     58 overlap_seconds = 300
     59 
     60 [reconciliation]
     61 concurrency = 8
     62 queue_capacity = 4096
     63 lease_ms = 30000
     64 lease_renewal_ms = 10000
     65 max_attempts = 10
     66 initial_backoff_ms = 250
     67 maximum_backoff_ms = 30000
     68 attempt_deadline_ms = 30000
     69 
     70 [attestation]
     71 contract = "radroots.rhi.evidence_attestation.v1"
     72 contract_version = 1
     73 method = "signed_evidence_snapshot"
     74 reducer_contract = "radroots.trade.reducer.v1"
     75 reducer_contract_version = 1
     76 
     77 [publication]
     78 mode = "required"
     79 target_relay_ids = ["relay-primary", "relay-secondary"]
     80 
     81 [publication.retry]
     82 max_attempts = 10
     83 initial_backoff_ms = 250
     84 maximum_backoff_ms = 30000
     85 attempt_deadline_ms = 15000
     86 
     87 [presence]
     88 enabled = true
     89 profile = true
     90 application_handler = true
     91 target_relay_ids = ["relay-primary", "relay-secondary"]
     92 
     93 [resource_limits.admin]
     94 header_count = 32
     95 header_bytes = 16384
     96 request_body_utf8_bytes = 65536
     97 response_body_utf8_bytes = 1048576
     98 concurrent_connections = 32
     99 request_deadline_ms = 15000
    100 idle_timeout_ms = 30000
    101 query_items = 100
    102 
    103 [resource_limits.events]
    104 wire_bytes = 262144
    105 content_bytes = 131072
    106 tag_count = 1024
    107 tag_total_elements = 4096
    108 tag_element_bytes = 4096
    109 tag_total_bytes = 131072
    110 
    111 [resource_limits.source_results]
    112 events = 4096
    113 bytes = 8388608
    114 
    115 [resource_limits.queues]
    116 ingress = 1024
    117 reconciliation = 4096
    118 publication = 4096
    119 presence = 64
    120 
    121 [resource_limits.metrics]
    122 descriptors = 64
    123 samples = 512
    124 labels_per_sample = 8
    125 render_utf8_bytes = 1048576
    126 
    127 [resource_limits.runtime]
    128 worker_threads = 4
    129 blocking_threads = 8
    130 
    131 [retention]
    132 duplicate_observations_ms = 604800000
    133 completed_jobs_ms = 2592000000
    134 terminal_publication_attempts_ms = 2592000000
    135 terminal_presence_attempts_ms = 2592000000
    136 operation_dedup_ms = 604800000
    137 audit_ms = 31536000000