Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
bridgecmd
Package bridgecmd contains the entrypoint for running a bridge between multiple clusters.
|
Package bridgecmd contains the entrypoint for running a bridge between multiple clusters. |
ctlcmd
Package ctlcmd contains the wmctl CLI tool.
|
Package ctlcmd contains the wmctl CLI tool. |
ctlcmd/config
Package config contains the wmctl CLI tool configuration.
|
Package config contains the wmctl CLI tool configuration. |
ctlcmd/pki
Package pki contains an interface for managing the PKI for a cluster using mTLS.
|
Package pki contains an interface for managing the PKI for a cluster using mTLS. |
nodecmd
Package nodecmd contains the entrypoint for webmesh nodes.
|
Package nodecmd contains the entrypoint for webmesh nodes. |
nodedamon
Package nodedaemon contains the entrypoint for webmesh nodes running as an application daemon.
|
Package nodedaemon contains the entrypoint for webmesh nodes running as an application daemon. |
Package common contains common utility functions.
|
Package common contains common utility functions. |
Package config contains configuration options and parsing for the webmesh node CLI and daemon server.
|
Package config contains configuration options and parsing for the webmesh node CLI and daemon server. |
Package context provides facilities for storing and retrieving values from context objects.
|
Package context provides facilities for storing and retrieving values from context objects. |
Package crypto contains cryptographic utilities.
|
Package crypto contains cryptographic utilities. |
Package embed provides a simplified way to run a webmesh node in-process.
|
Package embed provides a simplified way to run a webmesh node in-process. |
libp2p
|
|
protocol
Package protocol defines the libp2p webmesh protocol.
|
Package protocol defines the libp2p webmesh protocol. |
transport
Package transport defines the libp2p webmesh transport.
|
Package transport defines the libp2p webmesh transport. |
util
Package util provides utility functions for the webmesh libp2p integrations.
|
Package util provides utility functions for the webmesh libp2p integrations. |
wgtransport
Package wgtransport implements a Webmesh WireGuard transport for libp2p.
|
Package wgtransport implements a Webmesh WireGuard transport for libp2p. |
Package logging contains logging utilities and adapters for various logging libraries.
|
Package logging contains logging utilities and adapters for various logging libraries. |
meshdb
|
|
graph
Package graph implements a graph data structure for the mesh network.
|
Package graph implements a graph data structure for the mesh network. |
networking
Package networking contains interfaces to the database models for Network ACLs and Routes.
|
Package networking contains interfaces to the database models for Network ACLs and Routes. |
peers
Package meshutil contains helpers for computing networking information from the mesh.
|
Package meshutil contains helpers for computing networking information from the mesh. |
raftlogs
Package raftlogs provides facilities for applying raft logs to a database.
|
Package raftlogs provides facilities for applying raft logs to a database. |
rbac
Package rbac contains interfaces to the database models for RBAC.
|
Package rbac contains interfaces to the database models for RBAC. |
snapshots
Package snapshots provides an interface for managing raft snapshots.
|
Package snapshots provides an interface for managing raft snapshots. |
state
Package state provides an interface for querying mesh state.
|
Package state provides an interface for querying mesh state. |
Package meshnet provides the core networking functionality for WebMesh.
|
Package meshnet provides the core networking functionality for WebMesh. |
nat64
Package nat64 provides a stateless bi-directional NAT64 implementation.
|
Package nat64 provides a stateless bi-directional NAT64 implementation. |
relay
Package relay holds low-level primitives for proxying streams to a WireGuard interface.
|
Package relay holds low-level primitives for proxying streams to a WireGuard interface. |
system
Package system contains utilities for managing network interfaces on the system.
|
Package system contains utilities for managing network interfaces on the system. |
system/buffers
Package buffers contains facilities for changing system buffer sizes.
|
Package buffers contains facilities for changing system buffer sizes. |
system/dns
Package dns contains utility functions for DNS.
|
Package dns contains utility functions for DNS. |
system/firewall
Package firewall contains an interface for interacting with the system firewall.
|
Package firewall contains an interface for interacting with the system firewall. |
transport
Package transport defines the interfaces needed for various mesh operations.
|
Package transport defines the interfaces needed for various mesh operations. |
transport/datachannels
Package datachannels provides a WebRTC data channel API for port forwarding.
|
Package datachannels provides a WebRTC data channel API for port forwarding. |
transport/libp2p
Package libp2p provides webmesh integration with libp2p.
|
Package libp2p provides webmesh integration with libp2p. |
transport/tcp
Package tcp provides TCP based transports.
|
Package tcp provides TCP based transports. |
util
package util provides common utility functions for networking.
|
package util provides common utility functions for networking. |
wireguard
Package wireguard contains utilities for working with wireguard interfaces.
|
Package wireguard contains utilities for working with wireguard interfaces. |
Package meshnode contains the mesh node and related interfaces.
|
Package meshnode contains the mesh node and related interfaces. |
builtins
Package builtins contains the built-in plugin implementations.
|
Package builtins contains the built-in plugin implementations. |
builtins/basicauth
Package basicauth is an authentication plugin that uses basic auth.
|
Package basicauth is an authentication plugin that uses basic auth. |
builtins/debug
Package debug implements a plugin that exposes an HTTP server for debugging purposes.
|
Package debug implements a plugin that exposes an HTTP server for debugging purposes. |
builtins/ipam
Package ipam provides a plugin for simple mesh IPAM.
|
Package ipam provides a plugin for simple mesh IPAM. |
builtins/ldap
Package ldap implements a basic LDAP authentication plugin.
|
Package ldap implements a basic LDAP authentication plugin. |
builtins/mtls
Package mtls is an authentication plugin that uses mTLS.
|
Package mtls is an authentication plugin that uses mTLS. |
clients
Package clients contains the interface for using plugin clients.
|
Package clients contains the interface for using plugin clients. |
plugindb
Package plugindb contains a SQL driver for running data queries over a Plugin Query stream.
|
Package plugindb contains a SQL driver for running data queries over a Plugin Query stream. |
Package services contains the gRPC server for inter-node communication.
|
Package services contains the gRPC server for inter-node communication. |
admin
Package admin provides the admin gRPC server.
|
Package admin provides the admin gRPC server. |
leaderproxy
Package leaderproxy provides a gRPC interceptor that proxies requests to the leader node.
|
Package leaderproxy provides a gRPC interceptor that proxies requests to the leader node. |
membership
Package membership contains the webmesh membership service.
|
Package membership contains the webmesh membership service. |
meshapi
Package meshapi contains the webmesh Mesh API service.
|
Package meshapi contains the webmesh Mesh API service. |
meshdns
Package meshdns contains the Mesh DNS server.
|
Package meshdns contains the Mesh DNS server. |
metrics
Package metrics contains the HTTP server for exposing Prometheus metrics.
|
Package metrics contains the HTTP server for exposing Prometheus metrics. |
node
Package node contains the webmesh node service.
|
Package node contains the webmesh node service. |
rbac
Package rbac contains utilities for evaluating requests against roles.
|
Package rbac contains utilities for evaluating requests against roles. |
storage
Package storage provides the storage server.
|
Package storage provides the storage server. |
turn
Package turn contains the STUN/TURN server.
|
Package turn contains the STUN/TURN server. |
webrtc
Package webrtc contains the webmesh WebRTC service.
|
Package webrtc contains the webmesh WebRTC service. |
Package storage contains the interfaces for storing and retrieving data about the state of the mesh and maintaining consensus.
|
Package storage contains the interfaces for storing and retrieving data about the state of the mesh and maintaining consensus. |
backends/badgerdb
Package badgerdb implements the storage backends using BadgerDB.
|
Package badgerdb implements the storage backends using BadgerDB. |
providers/external
Package external provides a storage provider that uses a storage plugin to manage mesh storage and consensus.
|
Package external provides a storage provider that uses a storage plugin to manage mesh storage and consensus. |
providers/passthrough
Package passthrough provides a passthrough storage provider.
|
Package passthrough provides a passthrough storage provider. |
providers/raftstorage
Package raftstorage implements a Raft-backed storage provider.
|
Package raftstorage implements a Raft-backed storage provider. |
providers/raftstorage/fsm
Package fsm implements the Raft FSM.
|
Package fsm implements the Raft FSM. |
storageutil
Package storageutil contains utility functions for mesh database interactions.
|
Package storageutil contains utility functions for mesh database interactions. |
testutil
Package testutil contains testing utilities for storage providers and backends.
|
Package testutil contains testing utilities for storage providers and backends. |
Package version contains compile-time version information.
|
Package version contains compile-time version information. |
Click to show internal directories.
Click to hide internal directories.