Webmesh Project
GitHubToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Bridge Configuration

In bridge mode, the options are identical to the node command, except you define multiple mesh connections. Each mesh connection is defined by a unique mesh ID and it’s connection and service options. One notable exception is that MeshDNS servers defined on the mesh level are ignored in favor of the global one.

In contrast to a regular node, environment variables are not supported. They will take precedence over the defaults in some cases, but not all. Global flags are supported, but do not override TLS and some WireGuard configurations.

Global Configurations

CLI FlagEnv VarConfig FileDefaultDescription
--global.allow-remote-detectionGLOBAL_ALLOW_REMOTE_DETECTIONglobal.allow-remote-detectionfalseAllow remote endpoint detection.
--global.detect-endpointsGLOBAL_DETECT_ENDPOINTSglobal.detect-endpointsfalseDetect and advertise publicly routable endpoints.
--global.detect-ipv6GLOBAL_DETECT_IPV6global.detect-ipv6falseDetect and advertise IPv6 endpoints.
--global.detect-private-endpointsGLOBAL_DETECT_PRIVATE_ENDPOINTSglobal.detect-private-endpointsfalseDetect and advertise private endpoints.
--global.disable-ipv4GLOBAL_DISABLE_IPV4global.disable-ipv4falseDisable IPv4.
--global.disable-ipv6GLOBAL_DISABLE_IPV6global.disable-ipv6falseDisable IPv6.
--global.endpointsGLOBAL_ENDPOINTSglobal.endpoints[]Additional endpoints to advertise when joining.
--global.insecureGLOBAL_INSECUREglobal.insecurefalseDisable TLS.
--global.insecure-skip-verifyGLOBAL_INSECURE_SKIP_VERIFYglobal.insecure-skip-verifyfalseSkip TLS verification.
--global.log-formatGLOBAL_LOG_FORMATglobal.log-formatLog format. One of ’text’ or ‘json’.
--global.log-levelGLOBAL_LOG_LEVELglobal.log-levelLog level.
--global.mtlsGLOBAL_MTLSglobal.mtlsfalseEnable mutual TLS.
--global.primary-endpointGLOBAL_PRIMARY_ENDPOINTglobal.primary-endpointPrimary endpoint to advertise when joining.
--global.tls-ca-fileGLOBAL_TLS_CA_FILEglobal.tls-ca-fileTLS CA file.
--global.tls-cert-fileGLOBAL_TLS_CERT_FILEglobal.tls-cert-fileTLS certificate file.
--global.tls-client-ca-fileGLOBAL_TLS_CLIENT_CA_FILEglobal.tls-client-ca-fileTLS client CA file.
--global.tls-key-fileGLOBAL_TLS_KEY_FILEglobal.tls-key-fileTLS key file.
--global.verify-chain-onlyGLOBAL_VERIFY_CHAIN_ONLYglobal.verify-chain-onlyfalseVerify only the certificate chain.

Mesh DNS Server Configurations

CLI FlagConfig FileDefaultDescription
--bridge.meshdns.cache-sizebridge.meshdns.cache-size0Size of the remote DNS cache (0 = disabled).
--bridge.meshdns.compressionbridge.meshdns.compressionfalseEnable DNS compression.
--bridge.meshdns.disable-forwardingbridge.meshdns.disable-forwardingfalseDisable forwarding requests.
--bridge.meshdns.enabledbridge.meshdns.enabledfalseEnable mesh DNS.
--bridge.meshdns.forwardersbridge.meshdns.forwarders[]DNS forwarders (default = bridged resolvers).
--bridge.meshdns.listen-tcpbridge.meshdns.listen-tcpTCP address to listen on for DNS requests.
--bridge.meshdns.listen-udpbridge.meshdns.listen-udpUDP address to listen on for DNS requests.
--bridge.meshdns.request-timeoutbridge.meshdns.request-timeout0sDNS request timeout.
--bridge.meshdns.reuse-portbridge.meshdns.reuse-port0Enable SO_REUSEPORT for mesh DNS. Only available on Linux systems.
--bridge.meshdns.subscribe-forwardersbridge.meshdns.subscribe-forwardersfalseSubscribe to new nodes that can forward requests.

Mesh DNS Client Configurations

CLI FlagConfig FileDefaultDescription
--bridge.use-meshdnsbridge.use-meshdnsfalseUse the meshdns server for local name resolution.

Mesh Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.mesh.default-ipam-static-ipv4bridge.<mesh-id>.mesh.default-ipam-static-ipv4[]Static IPv4 assignments to use for the default IPAM.
--bridge.<mesh-id>.mesh.disable-default-ipambridge.<mesh-id>.mesh.disable-default-ipamfalseDisable the default IPAM.
--bridge.<mesh-id>.mesh.disable-feature-advertisementbridge.<mesh-id>.mesh.disable-feature-advertisementfalseDisable feature advertisement.
--bridge.<mesh-id>.mesh.disable-ipv4bridge.<mesh-id>.mesh.disable-ipv4falseDisable IPv4 usage.
--bridge.<mesh-id>.mesh.disable-ipv6bridge.<mesh-id>.mesh.disable-ipv6falseDisable IPv6 usage.
--bridge.<mesh-id>.mesh.grpc-advertise-portbridge.<mesh-id>.mesh.grpc-advertise-port0Port to advertise for gRPC.
--bridge.<mesh-id>.mesh.ice-peersbridge.<mesh-id>.mesh.ice-peers[]Peers to request direct edges to over ICE.
--bridge.<mesh-id>.mesh.join-addressesbridge.<mesh-id>.mesh.join-addresses[]Addresses of nodes to join.
--bridge.<mesh-id>.mesh.join-multiaddrsbridge.<mesh-id>.mesh.join-multiaddrs[]Multiaddresses of nodes to join.
--bridge.<mesh-id>.mesh.libp2p-peersbridge.<mesh-id>.mesh.libp2p-peers[]Map of peer IDs to rendezvous strings for edges over libp2p.
--bridge.<mesh-id>.mesh.max-join-retriesbridge.<mesh-id>.mesh.max-join-retries0Maximum number of join retries.
--bridge.<mesh-id>.mesh.meshdns-advertise-portbridge.<mesh-id>.mesh.meshdns-advertise-port0Port to advertise for DNS.
--bridge.<mesh-id>.mesh.node-idbridge.<mesh-id>.mesh.node-idNode ID. One will be chosen automatically if left unset.
--bridge.<mesh-id>.mesh.primary-endpointbridge.<mesh-id>.mesh.primary-endpointPrimary endpoint to advertise when joining.
--bridge.<mesh-id>.mesh.request-observerbridge.<mesh-id>.mesh.request-observerfalseRequest to be an observer in the storage backend.
--bridge.<mesh-id>.mesh.request-votebridge.<mesh-id>.mesh.request-votefalseRequest a vote in elections for the storage backend.
--bridge.<mesh-id>.mesh.routesbridge.<mesh-id>.mesh.routes[]Additional routes to advertise to the mesh.
--bridge.<mesh-id>.mesh.storage-prefer-ipv6bridge.<mesh-id>.mesh.storage-prefer-ipv6falsePrefer IPv6 connections for the storage backend transport.
--bridge.<mesh-id>.mesh.use-meshdnsbridge.<mesh-id>.mesh.use-meshdnsfalseSet mesh DNS servers to the system configuration.
--bridge.<mesh-id>.mesh.zone-awareness-idbridge.<mesh-id>.mesh.zone-awareness-idZone awareness ID.

Auth Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.auth.basic.passwordbridge.<mesh-id>.auth.basic.passwordBasic auth password.
--bridge.<mesh-id>.auth.basic.usernamebridge.<mesh-id>.auth.basic.usernameBasic auth username.
--bridge.<mesh-id>.auth.id-auth.aliasbridge.<mesh-id>.auth.id-auth.aliasAlias to attempt to register with our ID.
--bridge.<mesh-id>.auth.id-auth.enabledbridge.<mesh-id>.auth.id-auth.enabledfalseEnable ID authentication.
--bridge.<mesh-id>.auth.ldap.passwordbridge.<mesh-id>.auth.ldap.passwordLDAP auth password.
--bridge.<mesh-id>.auth.ldap.usernamebridge.<mesh-id>.auth.ldap.usernameLDAP auth username.
--bridge.<mesh-id>.auth.mtls.cert-databridge.<mesh-id>.auth.mtls.cert-dataBase64 encoded TLS certificate data to present when joining.
--bridge.<mesh-id>.auth.mtls.cert-filebridge.<mesh-id>.auth.mtls.cert-filePath to a TLS certificate file to present when joining.
--bridge.<mesh-id>.auth.mtls.key-databridge.<mesh-id>.auth.mtls.key-dataBase64 encoded TLS key data for the certificate.
--bridge.<mesh-id>.auth.mtls.key-filebridge.<mesh-id>.auth.mtls.key-filePath to a TLS key file for the certificate.

TODO: Generic flags need to be provided for external plugin auth providers

Bootstrap Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.bootstrap.adminbridge.<mesh-id>.bootstrap.adminUser and/or node name to assign administrator privileges to when bootstraping a new cluster
--bridge.<mesh-id>.bootstrap.default-network-policybridge.<mesh-id>.bootstrap.default-network-policyDefault network policy to apply to the mesh when bootstraping a new cluster
--bridge.<mesh-id>.bootstrap.disable-rbacbridge.<mesh-id>.bootstrap.disable-rbacfalseDisable RBAC when bootstrapping a new cluster
--bridge.<mesh-id>.bootstrap.election-timeoutbridge.<mesh-id>.bootstrap.election-timeout0sElection timeout to use when bootstrapping a new cluster
--bridge.<mesh-id>.bootstrap.enabledbridge.<mesh-id>.bootstrap.enabledfalseAttempt to bootstrap a new cluster
--bridge.<mesh-id>.bootstrap.forcebridge.<mesh-id>.bootstrap.forcefalseForce new bootstrap
--bridge.<mesh-id>.bootstrap.ipv4-networkbridge.<mesh-id>.bootstrap.ipv4-networkIPv4 network of the mesh to write to the database when bootstraping a new cluster
--bridge.<mesh-id>.bootstrap.ipv6-networkbridge.<mesh-id>.bootstrap.ipv6-networkIPv6 network of the mesh to write to the database when bootstraping a new cluster, if left unset one will be generated
--bridge.<mesh-id>.bootstrap.mesh-domainbridge.<mesh-id>.bootstrap.mesh-domainDomain of the mesh to write to the database when bootstraping a new cluster
--bridge.<mesh-id>.bootstrap.transport.server-grpc-portsbridge.<mesh-id>.bootstrap.transport.server-grpc-ports[]Map of node IDs to gRPC ports to bootstrap with
--bridge.<mesh-id>.bootstrap.transport.tcp-advertise-addressbridge.<mesh-id>.bootstrap.transport.tcp-advertise-addressAddress to advertise for raft consensus
--bridge.<mesh-id>.bootstrap.transport.tcp-connect-timeoutbridge.<mesh-id>.bootstrap.transport.tcp-connect-timeout0sMaximum amount of time to wait for a TCP connection to be established
--bridge.<mesh-id>.bootstrap.transport.tcp-connection-poolbridge.<mesh-id>.bootstrap.transport.tcp-connection-pool0Maximum number of TCP connections to maintain to other nodes
--bridge.<mesh-id>.bootstrap.transport.tcp-listen-addressbridge.<mesh-id>.bootstrap.transport.tcp-listen-addressAddress to use when using TCP raft consensus to bootstrap
--bridge.<mesh-id>.bootstrap.transport.tcp-serversbridge.<mesh-id>.bootstrap.transport.tcp-servers[]Map of node IDs to raft addresses to bootstrap with
--bridge.<mesh-id>.bootstrap.votersbridge.<mesh-id>.bootstrap.voters[]Comma separated list of node IDs to assign voting privileges to when bootstraping a new cluster

Storage Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.storage.in-memorybridge.<mesh-id>.storage.in-memoryfalseUse in-memory storage
--bridge.<mesh-id>.storage.log-formatbridge.<mesh-id>.storage.log-formatLog format for the storage provider
--bridge.<mesh-id>.storage.log-levelbridge.<mesh-id>.storage.log-levelLog level for the storage provider
--bridge.<mesh-id>.storage.pathbridge.<mesh-id>.storage.pathPath to the storage directory
--bridge.<mesh-id>.storage.providerbridge.<mesh-id>.storage.providerStorage provider (defaults to raftstorage or passthrough depending on other options)

Raft Storage Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.storage.raft.apply-timeoutbridge.<mesh-id>.storage.raft.apply-timeout0sRaft apply timeout.
--bridge.<mesh-id>.storage.raft.commit-timeoutbridge.<mesh-id>.storage.raft.commit-timeout0sRaft commit timeout.
--bridge.<mesh-id>.storage.raft.connection-pool-countbridge.<mesh-id>.storage.raft.connection-pool-count0Raft connection pool count.
--bridge.<mesh-id>.storage.raft.connection-timeoutbridge.<mesh-id>.storage.raft.connection-timeout0sRaft connection timeout.
--bridge.<mesh-id>.storage.raft.election-timeoutbridge.<mesh-id>.storage.raft.election-timeout0sRaft election timeout.
--bridge.<mesh-id>.storage.raft.heartbeat-purge-thresholdbridge.<mesh-id>.storage.raft.heartbeat-purge-threshold0Raft heartbeat purge threshold.
--bridge.<mesh-id>.storage.raft.heartbeat-timeoutbridge.<mesh-id>.storage.raft.heartbeat-timeout0sRaft heartbeat timeout.
--bridge.<mesh-id>.storage.raft.leader-lease-timeoutbridge.<mesh-id>.storage.raft.leader-lease-timeout0sRaft leader lease timeout.
--bridge.<mesh-id>.storage.raft.listen-addressbridge.<mesh-id>.storage.raft.listen-addressRaft listen address.
--bridge.<mesh-id>.storage.raft.max-append-entriesbridge.<mesh-id>.storage.raft.max-append-entries0Raft max append entries.
--bridge.<mesh-id>.storage.raft.observer-chan-bufferbridge.<mesh-id>.storage.raft.observer-chan-buffer0Raft observer channel buffer.
--bridge.<mesh-id>.storage.raft.snapshot-intervalbridge.<mesh-id>.storage.raft.snapshot-interval0sRaft snapshot interval.
--bridge.<mesh-id>.storage.raft.snapshot-retentionbridge.<mesh-id>.storage.raft.snapshot-retention0Raft snapshot retention.
--bridge.<mesh-id>.storage.raft.snapshot-thresholdbridge.<mesh-id>.storage.raft.snapshot-threshold0Raft snapshot threshold.

External Storage Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.storage.external.configbridge.<mesh-id>.storage.external.config{}Configuration to pass to the plugin as key value pairs
--bridge.<mesh-id>.storage.external.insecurebridge.<mesh-id>.storage.external.insecurefalseUse an insecure connection to the plugin server
--bridge.<mesh-id>.storage.external.serverbridge.<mesh-id>.storage.external.serverAddress of a server for the plugin
--bridge.<mesh-id>.storage.external.tls-ca-filebridge.<mesh-id>.storage.external.tls-ca-filePath to a CA for verifying certificates
--bridge.<mesh-id>.storage.external.tls-cert-filebridge.<mesh-id>.storage.external.tls-cert-filePath to a certificate for authenticating to the plugin server
--bridge.<mesh-id>.storage.external.tls-key-filebridge.<mesh-id>.storage.external.tls-key-filePath to a key for authenticating to the plugin server
--bridge.<mesh-id>.storage.external.tls-skip-verifybridge.<mesh-id>.storage.external.tls-skip-verifyfalseSkip verifying the plugin server’s certificate

TLS Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.tls.ca-databridge.<mesh-id>.tls.ca-dataBase64 encoded TLS CA certificate for verifying peer certificates.
--bridge.<mesh-id>.tls.ca-filebridge.<mesh-id>.tls.ca-filePath to a TLS CA certificate for verifying peer certificates.
--bridge.<mesh-id>.tls.insecurebridge.<mesh-id>.tls.insecurefalseDisable TLS.
--bridge.<mesh-id>.tls.insecure-skip-verifybridge.<mesh-id>.tls.insecure-skip-verifyfalseSkip verification of the server TLS cert.
--bridge.<mesh-id>.tls.verify-chain-onlybridge.<mesh-id>.tls.verify-chain-onlyfalseVerify only the certificate chain.

WireGuard Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.wireguard.disable-full-tunnelbridge.<mesh-id>.wireguard.disable-full-tunnelfalseIgnore routes for a default gateway.
--bridge.<mesh-id>.wireguard.endpointsbridge.<mesh-id>.wireguard.endpoints[]Additional WireGuard endpoints to broadcast when joining.
--bridge.<mesh-id>.wireguard.force-interface-namebridge.<mesh-id>.wireguard.force-interface-namefalseForce the use of the given name by deleting any pre-existing interface with the same name.
--bridge.<mesh-id>.wireguard.force-tunbridge.<mesh-id>.wireguard.force-tunfalseForce the use of a TUN interface.
--bridge.<mesh-id>.wireguard.interface-namebridge.<mesh-id>.wireguard.interface-nameThe name of the interface.
--bridge.<mesh-id>.wireguard.key-filebridge.<mesh-id>.wireguard.key-fileThe path to the WireGuard private key. If it does not exist it will be created.
--bridge.<mesh-id>.wireguard.key-rotation-intervalbridge.<mesh-id>.wireguard.key-rotation-interval0sThe interval to rotate wireguard keys. Set this to 0 to disable key rotation.
--bridge.<mesh-id>.wireguard.listen-portbridge.<mesh-id>.wireguard.listen-port0The port to listen on.
--bridge.<mesh-id>.wireguard.masqueradebridge.<mesh-id>.wireguard.masqueradefalseEnable masquerading of traffic from the wireguard interface.
--bridge.<mesh-id>.wireguard.modprobebridge.<mesh-id>.wireguard.modprobefalseAttempt to load the wireguard kernel module on linux systems.
--bridge.<mesh-id>.wireguard.mtubridge.<mesh-id>.wireguard.mtu0The MTU to use for the interface.
--bridge.<mesh-id>.wireguard.persistent-keepalivebridge.<mesh-id>.wireguard.persistent-keepalive0sThe interval at which to send keepalive packets to peers.
--bridge.<mesh-id>.wireguard.record-metricsbridge.<mesh-id>.wireguard.record-metricsfalseRecord WireGuard metrics. These are only exposed if the metrics server is enabled.
--bridge.<mesh-id>.wireguard.record-metrics-intervalbridge.<mesh-id>.wireguard.record-metrics-interval0sThe interval at which to update WireGuard metrics.

Discovery Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.discovery.bootstrap-serversbridge.<mesh-id>.discovery.bootstrap-servers[]list of bootstrap servers to use for the DHT
--bridge.<mesh-id>.discovery.connect-timeoutbridge.<mesh-id>.discovery.connect-timeout0stimeout for connecting to a peer
--bridge.<mesh-id>.discovery.discoverbridge.<mesh-id>.discovery.discoverfalseuse the libp2p kademlia DHT for discovery
--bridge.<mesh-id>.discovery.local-addrsbridge.<mesh-id>.discovery.local-addrs[]list of local addresses to announce to the discovery service
--bridge.<mesh-id>.discovery.rendezvousbridge.<mesh-id>.discovery.rendezvouspre-shared key to use as a rendezvous point for peer discovery

Services Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.services.api.admin-enabledbridge.<mesh-id>.services.api.admin-enabledfalseEnable and register the AdminAPI.
--bridge.<mesh-id>.services.api.allowed-originsbridge.<mesh-id>.services.api.allowed-origins[]Allowed origins for CORS.
--bridge.<mesh-id>.services.api.cors-enabledbridge.<mesh-id>.services.api.cors-enabledfalseEnable CORS for the gRPC web server.
--bridge.<mesh-id>.services.api.disable-leader-proxybridge.<mesh-id>.services.api.disable-leader-proxyfalseDisable the leader proxy.
--bridge.<mesh-id>.services.api.disabledbridge.<mesh-id>.services.api.disabledfalseDisable the API. This is ignored when joining as a Raft member.
--bridge.<mesh-id>.services.api.insecurebridge.<mesh-id>.services.api.insecurefalseDisable TLS.
--bridge.<mesh-id>.services.api.libp2p.announcebridge.<mesh-id>.services.api.libp2p.announcefalseAnnounce this peer to the discovery service.
--bridge.<mesh-id>.services.api.libp2p.bootstrap-serversbridge.<mesh-id>.services.api.libp2p.bootstrap-servers[]List of bootstrap servers to use for the DHT.
--bridge.<mesh-id>.services.api.libp2p.connect-timeoutbridge.<mesh-id>.services.api.libp2p.connect-timeout0sTimeout for connecting to a peer.
--bridge.<mesh-id>.services.api.libp2p.enabledbridge.<mesh-id>.services.api.libp2p.enabledfalseEnable the libp2p API.
--bridge.<mesh-id>.services.api.libp2p.local-addrsbridge.<mesh-id>.services.api.libp2p.local-addrs[]List of local addresses to announce to the discovery service.
--bridge.<mesh-id>.services.api.libp2p.rendezvousbridge.<mesh-id>.services.api.libp2p.rendezvousPre-shared key to use as a rendezvous point for peer discovery.
--bridge.<mesh-id>.services.api.listen-addressbridge.<mesh-id>.services.api.listen-addressgRPC listen address.
--bridge.<mesh-id>.services.api.mesh-enabledbridge.<mesh-id>.services.api.mesh-enabledfalseEnable and register the MeshAPI.
--bridge.<mesh-id>.services.api.mtlsbridge.<mesh-id>.services.api.mtlsfalseRequire clients to provide a client certificate.
--bridge.<mesh-id>.services.api.mtls-client-ca-filebridge.<mesh-id>.services.api.mtls-client-ca-fileClient CA file if not provided by the mtls auth plugin
--bridge.<mesh-id>.services.api.tls-cert-databridge.<mesh-id>.services.api.tls-cert-dataTLS certificate data.
--bridge.<mesh-id>.services.api.tls-cert-filebridge.<mesh-id>.services.api.tls-cert-fileTLS certificate file.
--bridge.<mesh-id>.services.api.tls-key-databridge.<mesh-id>.services.api.tls-key-dataTLS key data.
--bridge.<mesh-id>.services.api.tls-key-filebridge.<mesh-id>.services.api.tls-key-fileTLS key file.
--bridge.<mesh-id>.services.api.web-enabledbridge.<mesh-id>.services.api.web-enabledfalseEnable gRPC over HTTP/1.1.
--bridge.<mesh-id>.services.metrics.enabledbridge.<mesh-id>.services.metrics.enabledfalseEnable gRPC metrics.
--bridge.<mesh-id>.services.metrics.listen-addressbridge.<mesh-id>.services.metrics.listen-addressgRPC metrics listen address.
--bridge.<mesh-id>.services.metrics.pathbridge.<mesh-id>.services.metrics.pathgRPC metrics path.
--bridge.<mesh-id>.services.registrar.enabledbridge.<mesh-id>.services.registrar.enabledfalseEnable the registrar service.
--bridge.<mesh-id>.services.registrar.id-auth.allowed-idsbridge.<mesh-id>.services.registrar.id-auth.allowed-ids[]List of allowed peer IDs
--bridge.<mesh-id>.services.registrar.id-auth.id-filesbridge.<mesh-id>.services.registrar.id-auth.id-files[]Path to a file containing a list of allowed peer IDs
--bridge.<mesh-id>.services.registrar.id-auth.insecure-allow-allbridge.<mesh-id>.services.registrar.id-auth.insecure-allow-allfalseAllow all peer IDs. This is insecure and should only be used for testing.
--bridge.<mesh-id>.services.registrar.id-auth.remote-fetch-retriesbridge.<mesh-id>.services.registrar.id-auth.remote-fetch-retries0Number of times to retry fetching a remote ID file. Defaults to 5. Set to -1 to disable retries.
--bridge.<mesh-id>.services.registrar.id-auth.remote-fetch-retry-intervalbridge.<mesh-id>.services.registrar.id-auth.remote-fetch-retry-interval0sInterval to wait between retries to fetch a remote ID file. Defaults to 3 seconds.
--bridge.<mesh-id>.services.registrar.id-auth.time-skewbridge.<mesh-id>.services.registrar.id-auth.time-skew0Maximum allowed time skew between the client and server as a multiple of 30 seconds. 0 defaults to 30 seconds. Set to -1 to disable time skew checking.
--bridge.<mesh-id>.services.registrar.id-auth.watch-id-filesbridge.<mesh-id>.services.registrar.id-auth.watch-id-filesfalseWatch ID files for changes
--bridge.<mesh-id>.services.registrar.id-auth.watch-intervalbridge.<mesh-id>.services.registrar.id-auth.watch-interval0sInterval to poll for changes to remote ID files. When unset or less than zero, defaults to 1 minute.
--bridge.<mesh-id>.services.registrar.privatebridge.<mesh-id>.services.registrar.privatefalseEnable private lookups.
--bridge.<mesh-id>.services.turn.enabledbridge.<mesh-id>.services.turn.enabledfalseEnable TURN server.
--bridge.<mesh-id>.services.turn.endpointbridge.<mesh-id>.services.turn.endpointTURN endpoint to advertise.
--bridge.<mesh-id>.services.turn.listen-addressbridge.<mesh-id>.services.turn.listen-addressAddress to listen on for STUN/TURN requests.
--bridge.<mesh-id>.services.turn.port-rangebridge.<mesh-id>.services.turn.port-rangePort range to use for TURN relays.
--bridge.<mesh-id>.services.turn.public-ipbridge.<mesh-id>.services.turn.public-ipPublic IP to advertise for STUN/TURN requests.
--bridge.<mesh-id>.services.turn.realmbridge.<mesh-id>.services.turn.realmRealm used for TURN server authentication.
--bridge.<mesh-id>.services.webrtc.enabledbridge.<mesh-id>.services.webrtc.enabledfalseEnable and register the WebRTC API.
--bridge.<mesh-id>.services.webrtc.stun-serversbridge.<mesh-id>.services.webrtc.stun-servers[]TURN/STUN servers to use for the WebRTC API.

Plugin Configurations

CLI FlagConfig FileDefaultDescription
--bridge.<mesh-id>.plugins.basic-auth.htpasswd-filebridge.<mesh-id>.plugins.basic-auth.htpasswd-filepath to htpasswd file
--bridge.<mesh-id>.plugins.debug.disable-pprofbridge.<mesh-id>.plugins.debug.disable-pproffalseDisable pprof
--bridge.<mesh-id>.plugins.debug.enable-db-querierbridge.<mesh-id>.plugins.debug.enable-db-querierfalseEnable database querier
--bridge.<mesh-id>.plugins.debug.listen-addressbridge.<mesh-id>.plugins.debug.listen-addresslocalhost:6060Address to lissten on
--bridge.<mesh-id>.plugins.debug.path-prefixbridge.<mesh-id>.plugins.debug.path-prefix/debugPath prefix to use for the debug server
--bridge.<mesh-id>.plugins.debug.pprof-profilesbridge.<mesh-id>.plugins.debug.pprof-profilesPprof profiles to enable (default: all)
--bridge.<mesh-id>.plugins.id-auth.allowed-idsbridge.<mesh-id>.plugins.id-auth.allowed-ids[]List of allowed peer IDs
--bridge.<mesh-id>.plugins.id-auth.id-filesbridge.<mesh-id>.plugins.id-auth.id-files[]Path to a file containing a list of allowed peer IDs
--bridge.<mesh-id>.plugins.id-auth.insecure-allow-allbridge.<mesh-id>.plugins.id-auth.insecure-allow-allfalseAllow all peer IDs. This is insecure and should only be used for testing.
--bridge.<mesh-id>.plugins.id-auth.remote-fetch-retriesbridge.<mesh-id>.plugins.id-auth.remote-fetch-retries0Number of times to retry fetching a remote ID file. Defaults to 5. Set to -1 to disable retries.
--bridge.<mesh-id>.plugins.id-auth.remote-fetch-retry-intervalbridge.<mesh-id>.plugins.id-auth.remote-fetch-retry-interval0sInterval to wait between retries to fetch a remote ID file. Defaults to 3 seconds.
--bridge.<mesh-id>.plugins.id-auth.time-skewbridge.<mesh-id>.plugins.id-auth.time-skew0Maximum allowed time skew between the client and server as a multiple of 30 seconds. 0 defaults to 30 seconds. Set to -1 to disable time skew checking.
--bridge.<mesh-id>.plugins.id-auth.watch-id-filesbridge.<mesh-id>.plugins.id-auth.watch-id-filesfalseWatch ID files for changes
--bridge.<mesh-id>.plugins.id-auth.watch-intervalbridge.<mesh-id>.plugins.id-auth.watch-interval0sInterval to poll for changes to remote ID files. When unset or less than zero, defaults to 1 minute.
--bridge.<mesh-id>.plugins.ldap.bind-dnbridge.<mesh-id>.plugins.ldap.bind-dnDN to bind with
--bridge.<mesh-id>.plugins.ldap.bind-passwordbridge.<mesh-id>.plugins.ldap.bind-passwordPassword to bind with
--bridge.<mesh-id>.plugins.ldap.ca-filebridge.<mesh-id>.plugins.ldap.ca-filePath to CA file to use to verify the LDAP server’s certificate
--bridge.<mesh-id>.plugins.ldap.node-id-attributebridge.<mesh-id>.plugins.ldap.node-id-attributeAttribute to use to identify the node
--bridge.<mesh-id>.plugins.ldap.serverbridge.<mesh-id>.plugins.ldap.serverLDAP server to connect to
--bridge.<mesh-id>.plugins.ldap.user-base-dnbridge.<mesh-id>.plugins.ldap.user-base-dnBase DN to use to search for users
--bridge.<mesh-id>.plugins.ldap.user-disabled-valuebridge.<mesh-id>.plugins.ldap.user-disabled-valueValue of the user status attribute that indicates the user is disabled
--bridge.<mesh-id>.plugins.ldap.user-id-attributebridge.<mesh-id>.plugins.ldap.user-id-attributeAttribute to use to identify the user
--bridge.<mesh-id>.plugins.ldap.user-status-attributebridge.<mesh-id>.plugins.ldap.user-status-attributeAttribute to use to determine if the user is disabled
--bridge.<mesh-id>.plugins.mtls.ca-databridge.<mesh-id>.plugins.mtls.ca-dataBase64 encoded PEM CA data to use to verify client certificates.
--bridge.<mesh-id>.plugins.mtls.ca-filebridge.<mesh-id>.plugins.mtls.ca-filePath to a CA file to use to verify client certificates.