Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
webmesh-node
Entrypoint for webmesh nodes.
|
Entrypoint for webmesh nodes. |
webmesh-wasm
Entrypoint for webmesh nodes.
|
Entrypoint for webmesh nodes. |
wmctl
Entrypoint for wmctl command.
|
Entrypoint for wmctl command. |
examples
|
|
remote-server-plugin
This is an example plugin that runs as a remote server.
|
This is an example plugin that runs as a remote server. |
pkg
|
|
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. |
cmd/ctlcmd
Package ctlcmd contains the wmctl CLI tool.
|
Package ctlcmd contains the wmctl CLI tool. |
cmd/ctlcmd/config
Package config contains the wmctl CLI tool configuration.
|
Package config contains the wmctl CLI tool configuration. |
cmd/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. |
cmd/nodecmd
Package nodecmd contains the entrypoint for webmesh nodes.
|
Package nodecmd contains the entrypoint for webmesh nodes. |
cmd/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. |
common
Package common contains common utility functions.
|
Package common contains common utility functions. |
config
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. |
context
Package context provides facilities for storing and retrieving values from context objects.
|
Package context provides facilities for storing and retrieving values from context objects. |
crypto
Package crypto contains cryptographic utilities.
|
Package crypto contains cryptographic utilities. |
embed
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. |
libp2p/transport
Package transport defines the libp2p webmesh transport.
|
Package transport defines the libp2p webmesh transport. |
libp2p/util
Package util provides utility functions for the webmesh libp2p integrations.
|
Package util provides utility functions for the webmesh libp2p integrations. |
libp2p/wgtransport
Package wgtransport implements a Webmesh WireGuard transport for libp2p.
|
Package wgtransport implements a Webmesh WireGuard transport for libp2p. |
logging
Package logging contains logging utilities and adapters for various logging libraries.
|
Package logging contains logging utilities and adapters for various logging libraries. |
meshnet
Package meshnet provides the core networking functionality for WebMesh.
|
Package meshnet provides the core networking functionality for WebMesh. |
meshnet/nat64
Package nat64 provides a stateless bi-directional NAT64 implementation.
|
Package nat64 provides a stateless bi-directional NAT64 implementation. |
meshnet/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. |
meshnet/system
Package system contains utilities for managing network interfaces on the system.
|
Package system contains utilities for managing network interfaces on the system. |
meshnet/system/buffers
Package buffers contains facilities for changing system buffer sizes.
|
Package buffers contains facilities for changing system buffer sizes. |
meshnet/system/dns
Package dns contains utility functions for DNS.
|
Package dns contains utility functions for DNS. |
meshnet/system/firewall
Package firewall contains an interface for interacting with the system firewall.
|
Package firewall contains an interface for interacting with the system firewall. |
meshnet/testutil
Package testutil contains testing utilities for networking and meshnet.
|
Package testutil contains testing utilities for networking and meshnet. |
meshnet/transport
Package transport defines the interfaces needed for various mesh operations.
|
Package transport defines the interfaces needed for various mesh operations. |
meshnet/transport/datachannels
Package datachannels provides a WebRTC data channel API for port forwarding.
|
Package datachannels provides a WebRTC data channel API for port forwarding. |
meshnet/transport/libp2p
Package libp2p provides webmesh integration with libp2p.
|
Package libp2p provides webmesh integration with libp2p. |
meshnet/transport/tcp
Package tcp provides TCP based transports.
|
Package tcp provides TCP based transports. |
meshnet/util
package util provides common utility functions for networking.
|
package util provides common utility functions for networking. |
meshnet/wireguard
Package wireguard contains utilities for working with wireguard interfaces.
|
Package wireguard contains utilities for working with wireguard interfaces. |
meshnode
Package meshnode contains the mesh node and related interfaces.
|
Package meshnode contains the mesh node and related interfaces. |
plugins
Package plugins contains the plugin manager.
|
Package plugins contains the plugin manager. |
plugins/builtins
Package builtins contains the built-in plugin implementations.
|
Package builtins contains the built-in plugin implementations. |
plugins/builtins/basicauth
Package basicauth is an authentication plugin that uses basic auth.
|
Package basicauth is an authentication plugin that uses basic auth. |
plugins/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. |
plugins/builtins/ldap
Package ldap implements a basic LDAP authentication plugin.
|
Package ldap implements a basic LDAP authentication plugin. |
plugins/builtins/mtls
Package mtls is an authentication plugin that uses mTLS.
|
Package mtls is an authentication plugin that uses mTLS. |
plugins/clients
Package clients contains the interface for using plugin clients.
|
Package clients contains the interface for using plugin clients. |
plugins/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. |
services
Package services contains the gRPC server for inter-node communication.
|
Package services contains the gRPC server for inter-node communication. |
services/admin
Package admin provides the admin gRPC server.
|
Package admin provides the admin gRPC server. |
services/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. |
services/membership
Package membership contains the webmesh membership service.
|
Package membership contains the webmesh membership service. |
services/meshapi
Package meshapi contains the webmesh Mesh API service.
|
Package meshapi contains the webmesh Mesh API service. |
services/meshdns
Package meshdns contains the Mesh DNS server.
|
Package meshdns contains the Mesh DNS server. |
services/metrics
Package metrics contains the HTTP server for exposing Prometheus metrics.
|
Package metrics contains the HTTP server for exposing Prometheus metrics. |
services/node
Package node contains the webmesh node service.
|
Package node contains the webmesh node service. |
services/rbac
Package rbac contains utilities for evaluating requests against roles.
|
Package rbac contains utilities for evaluating requests against roles. |
services/storage
Package storage provides the storage server.
|
Package storage provides the storage server. |
services/turn
Package turn contains the STUN/TURN server.
|
Package turn contains the STUN/TURN server. |
services/webrtc
Package webrtc contains the webmesh WebRTC service.
|
Package webrtc contains the webmesh WebRTC service. |
storage
Package storage defines the interfaces for the storage provider.
|
Package storage defines the interfaces for the storage provider. |
storage/errors
Package errors contains error definitions for storage providers.
|
Package errors contains error definitions for storage providers. |
storage/meshdb
Package meshdb implements a storage.Database using any storage.MeshStorage instance.
|
Package meshdb implements a storage.Database using any storage.MeshStorage instance. |
storage/meshdb/graphstore
Package graph implements a graph data structure for the mesh network.
|
Package graph implements a graph data structure for the mesh network. |
storage/meshdb/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. |
storage/meshdb/rbac
Package rbac contains interfaces to the database models for RBAC.
|
Package rbac contains interfaces to the database models for RBAC. |
storage/meshdb/state
Package state provides an interface for querying mesh state.
|
Package state provides an interface for querying mesh state. |
storage/providers
Package providers contains the built-in storage providers.
|
Package providers contains the built-in storage providers. |
storage/providers/backends/badgerdb
Package badgerdb implements the storage backends using BadgerDB.
|
Package badgerdb implements the storage backends using BadgerDB. |
storage/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. |
storage/providers/passthrough
Package passthrough provides a passthrough storage provider.
|
Package passthrough provides a passthrough storage provider. |
storage/providers/raftstorage
Package raftstorage implements a Raft-backed storage provider.
|
Package raftstorage implements a Raft-backed storage provider. |
storage/providers/raftstorage/fsm
Package fsm implements the Raft FSM.
|
Package fsm implements the Raft FSM. |
storage/providers/raftstorage/raftlogs
Package raftlogs provides facilities for applying raft logs to a database.
|
Package raftlogs provides facilities for applying raft logs to a database. |
storage/providers/raftstorage/snapshots
Package snapshots provides an interface for managing raft snapshots.
|
Package snapshots provides an interface for managing raft snapshots. |
storage/storageutil
Package storageutil contains utility functions for mesh database interactions.
|
Package storageutil contains utility functions for mesh database interactions. |
storage/testutil
Package testutil contains testing utilities for storage providers and backends.
|
Package testutil contains testing utilities for storage providers and backends. |
version
Package version contains compile-time version information.
|
Package version contains compile-time version information. |
Click to show internal directories.
Click to hide internal directories.