veilid/doc/config/veilid-server-config.md
2022-09-19 20:41:54 -06:00

4.8 KiB

title keywords status
Veilid Server Configuration
config
veilid-server
Draft

Veilid Server Configuration

Configuration File

veilid-server may be run using configuration from both command-line arguments and the veilid-server.conf file.

Global Directives

Directive Description
daemon Run veilid-server in the background
client_api
auto_attach
logging
testing
core

daemon

daemon:
    enabled: false

client_api

client_api:
    enabled: true
    listen_address: 'localhost:5959'
Parameter Description
enabled
listen_address

enabled

TODO

listen_address

TODO

auto_attach

auto_attach: true

logging

logging:
    system:
        enabled: false
        level: 'info'
    terminal:
        enabled: true
        level: 'info'
    file: 
        enabled: false
        path: ''
        append: true
        level: 'info'
    api:
        enabled: true
        level: 'info'
    otlp:
        enabled: false
        level: 'trace'
        grpc_endpoint: 'localhost:4317'

testing

testing:
    subnode_index: 0

core

core:
    protected_store:
        allow_insecure_fallback: true
        always_use_insecure_storage: true
        insecure_fallback_directory: '%INSECURE_FALLBACK_DIRECTORY%'
        delete: false
    table_store:
        directory: '%TABLE_STORE_DIRECTORY%'
        delete: false
    block_store:
        directory: '%BLOCK_STORE_DIRECTORY%'
        delete: false
    network:
        connection_initial_timeout_ms: 2000
        connection_inactivity_timeout_ms: 60000
        max_connections_per_ip4: 32
        max_connections_per_ip6_prefix: 32
        max_connections_per_ip6_prefix_size: 56
        max_connection_frequency_per_min: 128
        client_whitelist_timeout_ms: 300000 
        reverse_connection_receipt_time_ms: 5000 
        hole_punch_receipt_time_ms: 5000 
        node_id: ''
        node_id_secret: ''
        bootstrap: ['bootstrap.dev.veilid.net']
        bootstrap_nodes: []
        routing_table:
            limit_over_attached: 64
            limit_fully_attached: 32
            limit_attached_strong: 16
            limit_attached_good: 8
            limit_attached_weak: 4
        rpc: 
            concurrency: 0
            queue_size: 1024
            max_timestamp_behind_ms: 10000
            max_timestamp_ahead_ms: 10000
            timeout_ms: 10000
            max_route_hop_count: 7
        dht:
            resolve_node_timeout:
            resolve_node_count: 20
            resolve_node_fanout: 3
            max_find_node_count: 20
            get_value_timeout:
            get_value_count: 20
            get_value_fanout: 3
            set_value_timeout:
            set_value_count: 20
            set_value_fanout: 5
            min_peer_count: 20
            min_peer_refresh_time_ms: 2000
            validate_dial_info_receipt_time_ms: 2000
        upnp: true
        natpmp: false
        detect_address_changes: true
        enable_local_peer_scope: false
        restricted_nat_retries: 0
        tls:
            certificate_path: '%CERTIFICATE_PATH%'
            private_key_path: '%PRIVATE_KEY_PATH%'
            connection_initial_timeout_ms: 2000
        application:
            https:
                enabled: false
                listen_address: ':5150'
                path: 'app'
                # url: 'https://localhost:5150'
            http:
                enabled: false
                listen_address: ':5150'
                path: 'app'
                # url: 'http://localhost:5150'
        protocol:
            udp:
                enabled: true
                socket_pool_size: 0
                listen_address: ':5150'
                # public_address: ''
            tcp:
                connect: true
                listen: true
                max_connections: 32
                listen_address: ':5150'
                #'public_address: ''
            ws:
                connect: true
                listen: true
                max_connections: 16
                listen_address: ':5150'
                path: 'ws'
                # url: 'ws://localhost:5150/ws'
            wss:
                connect: true
                listen: false
                max_connections: 16
                listen_address: ':5150'
                path: 'ws'
                # url: ''