<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CLI on EdgeVPN</title>
    <link>https://mudler.github.io/edgevpn/docs/reference/cli/</link>
    <description>Recent content in CLI on EdgeVPN</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://mudler.github.io/edgevpn/docs/reference/cli/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>start</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/start/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/start/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Connect over the p2p network without establishing a VPN.&#xA;Useful for setting up relays or hop nodes to improve the network connectivity.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn start [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>api</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/api/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Start listening locally, providing an API for the network.&#xA;A simple UI interface is available to display network data.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn api [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--enable-healthchecks&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;ENABLE_HEALTHCHECKS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--debug&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;127.0.0.1:8080&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Listening address. To listen to a socket, prefix with unix://, e.g. unix:///socket.path&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>service-add</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/service-add/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/service-add/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Aliases: &lt;code&gt;sa&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Expose a local or a remote endpoint connection as a service in the VPN.&#xA;The host will act as a proxy between the service and the connection&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn service-add [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Unique name of the service to be server over the network.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--address&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Remote address that the service is running to. That can be a remote webserver, a local SSH server, etc. For example, &amp;lsquo;192.168.1.1:80&amp;rsquo;, or &amp;lsquo;127.0.0.1:22&amp;rsquo;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>service-connect</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/service-connect/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/service-connect/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Aliases: &lt;code&gt;sc&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Bind a local port to connect to a remote service in the network.&#xA;Creates a local listener which connects over the service in the network without creating a VPN.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn service-connect [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Unique name of the service in the network.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--address&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Address where to bind locally. E.g. &amp;lsquo;:8080&amp;rsquo;. A proxy will be created to the service over the network&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>file-receive</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/file-receive/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/file-receive/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Aliases: &lt;code&gt;fr&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Receive a file from the network without connecting over VPN&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn file-receive [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Unique name of the file to be received over the network.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--path&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Destination where to save the file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>proxy</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/proxy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/proxy/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Start a proxy locally, providing an ingress point for the network.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn proxy [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;:8080&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PROXYLISTEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Listening address&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--api&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;API&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Starts also the API daemon locally for inspecting the network status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--api-listen&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;127.0.0.1:8081&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;APILISTEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;API listen address, used only with &amp;ndash;api. Must differ from &amp;ndash;listen. Accepts a TCP host:port or a unix socket path with the &amp;lsquo;unix://&amp;rsquo; prefix (e.g. unix:///run/edgevpn.sock). Socket mode defaults to 0660 and can be overridden via APILISTENUNIXMODE.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--debug&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Starts the API with pprof attached&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PROXYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;proxy announce time interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dead-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PROXYDEADINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;interval (in seconds) wether detect egress nodes offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>file-send</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/file-send/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/file-send/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Aliases: &lt;code&gt;fs&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Serve a file to the network without connecting over VPN&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn file-send [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Unique name of the file to be served over the network.  This is also the ID used to refer when receiving it.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--path&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;File to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>dns</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/dns/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/dns/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Start a local dns server which uses the blockchain to resolve addresses&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn dns [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--config&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCONFIG&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a path to a edgevpn config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLISTENMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override default 0.0.0.0 listen multiaddresses&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht-announce-maddrs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTANNOUNCEMADDRS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Override listen-maddrs on DHT announce&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--timeout&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;15s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTIMEOUT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a default timeout for connection stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--bootstrap-iface&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPIFACE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Setup interface on startup (need privileges)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--packet-mtu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1420&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPACKETMTU&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a mtu&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--channel-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNCHANNELBUFFERSIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a channel buffer size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;720&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHTINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DHT discovery interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-announce-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger announce interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-discovery-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;5m&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYDISCOVERYINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Autorelay discovery interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYSTATICONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use only defined static relays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-synchronization-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSYNCINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger synchronization interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-global&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITGLOBAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit global requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;10&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITPEER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit perr requests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;60&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMITINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Rate limit interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--nat-ratelimit&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATRATELIMIT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Changes the default rate limiting configured in helping other peers determine their reachability status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--max-connections&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMAXCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ledger-state&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLEDGERSTATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a ledger state directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--mdns&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNMDNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable mDNS for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically act as a relay if the node can accept inbound connections&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--concurrency&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;Number of concurrent requests to serve&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--holepunch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNHOLEPUNCH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automatically try holepunching when possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natservice&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATSERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to determine reachability status of nodes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--natmap&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNNATMAP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Tries to open a port in the firewall via upnp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dht&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNDHT&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable DHT for peer discovery&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--low-profile&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOWPROFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable low profile. Lowers connections usage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-scrub-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;600&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKSCRUBINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck scrub interval&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--aliveness-healthcheck-max-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;900&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;HEALTHCHECKMAXINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Healthcheck max interval. Threshold after a node is determined offline&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;info&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--libp2p-log-level&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;fatal&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNLIBP2PLOGLEVEL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify libp2p loglevel&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--discovery-bootstrap-peers&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBOOTSTRAPPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of discovery peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-high-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_HIGH_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;max number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--connection-low-water&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_CONNECTION_LOW_WATER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;low number of connection allowed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--autorelay-static-peer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNAUTORELAYPEERS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of autorelay static peers to use&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Offer the circuit-v2 relay service to cluster peers (i.e. let other peers reserve a slot on this node and route relayed traffic through us). Disabling does NOT prevent this node from USING other relays as a client via AutoRelay — set this to false on resource-constrained nodes or nodes that should not act as relays.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-network-only&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_NETWORK_ONLY&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Restrict incoming relay reservations to peers observed in the local ledger&amp;rsquo;s alive bucket (cluster members). Strangers that found us via the public DHT or another relay discovery path are rejected. Requires the alive service to be running. During a short bootstrap window — before the alive bucket is first observed — every reservation is allowed so the node itself can finish joining the cluster. Default ON: secure by default; pass &amp;ndash;relay-service-network-only=false to open the relay to all peers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-acl-refresh&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_SERVICE_ACL_REFRESH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Cadence at which the NetworkOnly relay-service ACL re-snapshots the alive bucket (Go duration). Should be &amp;lt;= the alive-service announce interval so peer churn is reflected within a couple of ticks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-data&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;1073741824&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DATA&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Bytes (per direction) a relayed connection may carry before reset. Higher values let cluster peers carry larger relayed transfers (e.g. model files for distributed inference) at the cost of a larger memory footprint per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-duration&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;30m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_DURATION&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum lifetime of a single relayed connection (Go duration). Higher values let cluster peers carry longer-running relayed transfers at the cost of holding circuits open. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-max-circuits&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;64&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_MAX_CIRCUITS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Maximum number of concurrent relay circuits per peer. Higher values let a single peer hold more simultaneous circuits through this node at the cost of a larger memory footprint; the number of peers that may relay through us is bounded separately by the reservation limits. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-reservation-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;1h0m0s&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_RESERVATION_TTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Time-to-live of a relay reservation (Go duration). Higher values reduce reservation churn for stable cluster peers; lower values free relay slots faster.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--relay-service-buffer-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;65536&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPN_RELAY_BUFFER_SIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Per-circuit relayed connection buffer size in bytes. Higher values improve throughput of large relayed transfers at the cost of memory per relay client. Set lower for resource-constrained deployments.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--blacklist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNBLACKLIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers/cidr to gate&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--token&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNTOKEN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify an edgevpn token in place of a config file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-enable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITENABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable resource management&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITFILE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a resource limit config (json)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-scope&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;system&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITSCOPE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a limit scope&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-streams-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGSTREAMSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound streams resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-inbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSINBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-conn-outbound&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGCONNSOUTBOUND&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Outbound connections resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--limit-config-fd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;30&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;LIMITCONFIGFD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Max fd resource limit configuration&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peerguard&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGUARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peerguard. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;enforce&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIP&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Ledger ownership enforcement: enforce (sign + reject unauthorized writes, default), observe (sign + log violations) or off (legacy, opt-out). All nodes on a network must run the same mode/wire format, so flip the whole network together.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--ownership-ttl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNOWNERSHIPTTL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Liveness window in seconds after which an inactive owner&amp;rsquo;s ledger entries may be reclaimed/reaped. 0 derives it from &amp;ndash;aliveness-healthcheck-interval (4x, so 8 minutes on defaults), which keeps healthy nodes from expiring when the heartbeat is retuned.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable privkey caching. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey-cache-dir&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;$HOME/.edgevpn&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPRIVKEYCACHEDIR&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Specify a directory used to store the generated privkey&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--static-peertable&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNSTATICPEERTABLE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of static peers to use (in &lt;code&gt;ip:peerid&lt;/code&gt; format)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--whitelist&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNWHITELIST&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of peers in the whitelist&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-autoclean&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTOCLEAN&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating autoclean. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-relaxed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_RELAXED&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enable peergating relaxation. (Experimental)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-auth&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PEERGATE_AUTH&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergate auth&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--peergate-interval&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;EDGEVPNPEERGATEINTERVAL&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Peergater interval time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--listen&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;DNSADDRESS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DNS listening address. Empty to disable dns server&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dns-forwarder&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;DNSFORWARD&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enables dns forwarding&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dns-cache-size&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;DNSCACHESIZE&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DNS LRU cache size&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--dns-forward-server&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;quot;8.8.8.8:53&amp;quot;, &amp;quot;1.1.1.1:53&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;DNSFORWARDSERVER&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List of DNS forward server, e.g. 8.8.8.8:53, 192.168.1.1:53 &amp;hellip;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>peergater</title>
      <link>https://mudler.github.io/edgevpn/docs/reference/cli/peergater/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mudler.github.io/edgevpn/docs/reference/cli/peergater/</guid>
      <description>&lt;!-- Generated by internal/docsgen. Do not edit; run `make docs-gen`. --&gt;&#xA;&lt;p&gt;Peergater auth utilities&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;edgevpn peergater [options]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;flags&#34;&gt;Flags&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;This command takes no flags of its own.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;peergater-ecdsa-genkey&#34;&gt;&lt;code&gt;peergater ecdsa-genkey&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Flag&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;          &lt;th&gt;Environment&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--privkey&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--pubkey&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
  </channel>
</rss>
