Directories ¶
Path | Synopsis |
---|---|
Package applicationserver provides a LoRaWAN-compliant Application Server implementation.
|
Package applicationserver provides a LoRaWAN-compliant Application Server implementation. |
io/mqtt
Package mqtt implements the MQTT frontend.
|
Package mqtt implements the MQTT frontend. |
io/mqtt/topics
Package topics implements MQTT topic layouts.
|
Package topics implements MQTT topic layouts. |
io/packages/alcsync/v1
Package alcsyncv1 provides the LoRa Application Layer Clock Synchronization Package.
|
Package alcsyncv1 provides the LoRa Application Layer Clock Synchronization Package. |
io/packages/loragls/v3
Package loracloudgeolocationv3 enables LoRa Cloud Geolocation Services integration.
|
Package loracloudgeolocationv3 enables LoRa Cloud Geolocation Services integration. |
io/packages/redis
Package redis provides implementation of the application packages registry using Redis.
|
Package redis provides implementation of the application packages registry using Redis. |
io/pubsub
Package pubsub implements the go-cloud pub/sub frontend.
|
Package pubsub implements the go-cloud pub/sub frontend. |
io/pubsub/provider
Package provider implements pub/sub provider interfaces and registration.
|
Package provider implements pub/sub provider interfaces and registration. |
io/pubsub/provider/mock
Package mock implements a mock pub/sub provider using the mempubsub driver.
|
Package mock implements a mock pub/sub provider using the mempubsub driver. |
io/pubsub/provider/mqtt
Package mqtt implements the MQTT provider using the mqtt driver.
|
Package mqtt implements the MQTT provider using the mqtt driver. |
io/pubsub/provider/nats
Package nats implements the NATS provider using the natspubsub driver.
|
Package nats implements the NATS provider using the natspubsub driver. |
io/web
Package web implements the webhooks integration.
|
Package web implements the webhooks integration. |
io/web/internal
Package internal contains internal webhook utilities.
|
Package internal contains internal webhook utilities. |
io/web/sink
Package sink provides an interface for processing HTTP requests.
|
Package sink provides an interface for processing HTTP requests. |
io/web/sink/mock
Package mock provides a mock sink for testing.
|
Package mock provides a mock sink for testing. |
redis
Package redis provides interfaces to Redis.
|
Package redis provides interfaces to Redis. |
Package auth provides methods to generate valid authorization values and to also decode them.
|
Package auth provides methods to generate valid authorization values and to also decode them. |
cluster
Package cluster contains cluster authentication-related utilities.
|
Package cluster contains cluster authentication-related utilities. |
mtls
Package mtls provides functions to authenticate client TLS certificates.
|
Package mtls provides functions to authenticate client TLS certificates. |
pbkdf2
Package pbkdf2 implements the PBKDF2 algorithm method used to hash passwords.
|
Package pbkdf2 implements the PBKDF2 algorithm method used to hash passwords. |
rights
Package rights implements rights fetching and checking.
|
Package rights implements rights fetching and checking. |
basicstation
|
|
cups
Package cups implements the CUPS protocol.
|
Package cups implements the CUPS protocol. |
Package cluster defines an interface for clustering network components and provides a simple implementation.
|
Package cluster defines an interface for clustering network components and provides a simple implementation. |
Package component contains the methods and structures common to all components.
|
Package component contains the methods and structures common to all components. |
Package config wraps Viper.
|
Package config wraps Viper. |
example
example cobra command with config.
|
example cobra command with config. |
tlsconfig
Package tlsconfig provides configuration for TLS clients and servers.
|
Package tlsconfig provides configuration for TLS clients and servers. |
internal/events
Package events contains the internal events APi for the Console.
|
Package events contains the internal events APi for the Console. |
internal/events/eventsmux
Package eventsmux implements the events mux.
|
Package eventsmux implements the events mux. |
internal/events/middleware
Package middleware implements the events middleware.
|
Package middleware implements the events middleware. |
internal/events/protocol
Package protocol implements the protocol for the events package.
|
Package protocol implements the protocol for the events package. |
internal/events/subscriptions
Package subscriptions implements the events mux subscriptions.
|
Package subscriptions implements the events mux subscriptions. |
Package crypto implements LoRaWAN crypto.
|
Package crypto implements LoRaWAN crypto. |
cryptoservices
Package cryptoservices implements services for LoRaWAN cryptograhpy.
|
Package cryptoservices implements services for LoRaWAN cryptograhpy. |
cryptoutil
Package cryptoutil implements cryptography utilities.
|
Package cryptoutil implements cryptography utilities. |
Package deviceclaimingserver implements the Device Claiming Server component.
|
Package deviceclaimingserver implements the Device Claiming Server component. |
enddevices
Package enddevices provides functions to configure End Device claiming clients.
|
Package enddevices provides functions to configure End Device claiming clients. |
enddevices/errors
Package errors defines common error types for all upstreams.
|
Package errors defines common error types for all upstreams. |
enddevices/ttjsv2
Package ttjsv2 provides the claiming client implementation for The Things Join Server 2.0 API.
|
Package ttjsv2 provides the claiming client implementation for The Things Join Server 2.0 API. |
Package devicerepository integrates with the Device Repository.
|
Package devicerepository integrates with the Device Repository. |
mock
Package mockdr contains the mock of a Device Repository Server.
|
Package mockdr contains the mock of a Device Repository Server. |
Package devicetemplateconverter provides device template services.
|
Package devicetemplateconverter provides device template services. |
profilefetcher
Package profilefetcher contains definitions of end-device's profile fetchers based on the VersionIDs or VendorIDs.
|
Package profilefetcher contains definitions of end-device's profile fetchers based on the VersionIDs or VendorIDs. |
Package devicetemplates implements creating templates for devices.
|
Package devicetemplates implements creating templates for devices. |
Package email provides an interface to send messages over email.
|
Package email provides an interface to send messages over email. |
mock
Package mock provides a test email provider that is used in tests.
|
Package mock provides a test email provider that is used in tests. |
sendgrid
Package sendgrid provides the implementation of an email sender using SendGrid.
|
Package sendgrid provides the implementation of an email sender using SendGrid. |
smtp
Package smtp implements SMTP as email provider.
|
Package smtp implements SMTP as email provider. |
templates
Package templates is responsible for handling the email templates sent by The Things Stack.
|
Package templates is responsible for handling the email templates sent by The Things Stack. |
encoding
|
|
lorawan
Package lorawan provides LoRaWAN decoding/encoding interfaces.
|
Package lorawan provides LoRaWAN decoding/encoding interfaces. |
Package errorcontext implements a Context that can be canceled with a specific error instead of the usual context.Canceled.
|
Package errorcontext implements a Context that can be canceled with a specific error instead of the usual context.Canceled. |
Package errors implements rich errors that carry contextual information such as stack traces, causality and attributes.
|
Package errors implements rich errors that carry contextual information such as stack traces, causality and attributes. |
sentry
Package sentry converts errors to Sentry events.
|
Package sentry converts errors to Sentry events. |
Package events implements event handling through a PubSub interface.
|
Package events implements event handling through a PubSub interface. |
basic
Package basic provides a basic events PubSub implementation.
|
Package basic provides a basic events PubSub implementation. |
batch
Package batch contains a batch publisher implementation of events.Publisher.
|
Package batch contains a batch publisher implementation of events.Publisher. |
cloud
Package cloud implements an events.PubSub implementation that uses Go Cloud PubSub.
|
Package cloud implements an events.PubSub implementation that uses Go Cloud PubSub. |
grpc
Package grpc contains an implementation of the EventsServer, which is used to stream all events published for a set of identifiers.
|
Package grpc contains an implementation of the EventsServer, which is used to stream all events published for a set of identifiers. |
internal/eventstest
Package eventstest provides a blackbox test for events PubSub implementations.
|
Package eventstest provides a blackbox test for events PubSub implementations. |
redis
Package redis implements an events.PubSub implementation that uses Redis PubSub.
|
Package redis implements an events.PubSub implementation that uses Redis PubSub. |
Package fetch offers abstractions to fetch a file with the same method, regardless of a location (filesystem, HTTP...).
|
Package fetch offers abstractions to fetch a file with the same method, regardless of a location (filesystem, HTTP...). |
Package fillcontext implements a mechanism to fill contexts.
|
Package fillcontext implements a mechanism to fill contexts. |
Package frequencyplans contains abstractions to fetch and manipulate frequency plans.
|
Package frequencyplans contains abstractions to fetch and manipulate frequency plans. |
Package gatewayserver contains the structs and methods necessary to start a gRPC Gateway Server
|
Package gatewayserver contains the structs and methods necessary to start a gRPC Gateway Server |
io
Package io contains the interface between server implementations and the gateway frontends.
|
Package io contains the interface between server implementations and the gateway frontends. |
io/semtechws
Package semtechws implements a common interface for Semtech web socket frontends.
|
Package semtechws implements a common interface for Semtech web socket frontends. |
io/semtechws/id6
Package id6 provides translation functions to the ID6 format.
|
Package id6 provides translation functions to the ID6 format. |
scheduling
Package scheduling implements a packet scheduling that detects and avoids conflicts and enforces regional restrictions like duty-cycle and dwell time.
|
Package scheduling implements a packet scheduling that detects and avoids conflicts and enforces regional restrictions like duty-cycle and dwell time. |
upstream/mock
Package mock provides mock implementation of necessary NS interfaces for testing.
|
Package mock provides mock implementation of necessary NS interfaces for testing. |
upstream/ns
Package ns abstracts the V3 Network Server to the upstream.Handler interface.
|
Package ns abstracts the V3 Network Server to the upstream.Handler interface. |
upstream/packetbroker
Package packetbroker abstracts the Packet Broker Agent to the upstream.Handler interface.
|
Package packetbroker abstracts the Packet Broker Agent to the upstream.Handler interface. |
Package gatewaytokens provides functions to work with GatewayTokens.
|
Package gatewaytokens provides functions to work with GatewayTokens. |
Package goproto implements conversions from well-known golang/profobuf types.
|
Package goproto implements conversions from well-known golang/profobuf types. |
Package gpstime provides utilities to work with GPS time.
|
Package gpstime provides utilities to work with GPS time. |
Package healthcheck provides configuration of startup probes.
|
Package healthcheck provides configuration of startup probes. |
Package i18n helps with internationalization of registered messages.
|
Package i18n helps with internationalization of registered messages. |
Package identityserver handles the database operations for The Things Stack.
|
Package identityserver handles the database operations for The Things Stack. |
blocklist
Package blocklist implements a list of forbidden IDs.
|
Package blocklist implements a list of forbidden IDs. |
bunstore
Package store implements the Identity Server store interfaces using the bun library.
|
Package store implements the Identity Server store interfaces using the bun library. |
mock
Package mockis provides a mock structure to the Identity Server.
|
Package mockis provides a mock structure to the Identity Server. |
store
Package store defines the interfaces implemented by Identity Server store implementations.
|
Package store defines the interfaces implemented by Identity Server store implementations. |
store/migrations
Package migrations contains Identity Server store migrations.
|
Package migrations contains Identity Server store migrations. |
internal
|
|
registry
Package registry contains commonly used device registry functionality.
|
Package registry contains commonly used device registry functionality. |
Package interop implements a LoRaWAN Backend Interfaces server and client.
|
Package interop implements a LoRaWAN Backend Interfaces server and client. |
Package joinserver provides a LoRaWAN-compliant Join Server implementation.
|
Package joinserver provides a LoRaWAN-compliant Join Server implementation. |
redis
Package redis provides Redis implementations of interfaces used by joinserver.
|
Package redis provides Redis implementations of interfaces used by joinserver. |
Package log contains all the structs to log TTN.
|
Package log contains all the structs to log TTN. |
handler/memory
Package memory implements a pkg/log.Handler that saves all entries in process memory
|
Package memory implements a pkg/log.Handler that saves all entries in process memory |
middleware/observability
Package observability implements a pkg/log.Handler that exports metrics for the logged messages.
|
Package observability implements a pkg/log.Handler that exports metrics for the logged messages. |
middleware/sentry
Package sentry implements a pkg/log.Handler that sends errors to Sentry
|
Package sentry implements a pkg/log.Handler that sends errors to Sentry |
Package messageprocessors provides interfaces and implementations for processing uplink and downlink messages.
|
Package messageprocessors provides interfaces and implementations for processing uplink and downlink messages. |
cayennelpp
Package cayennelpp contains the CayenneLPP payload formatter message processors.
|
Package cayennelpp contains the CayenneLPP payload formatter message processors. |
javascript
Package javascript contains the Javascript payload formatter message processors.
|
Package javascript contains the Javascript payload formatter message processors. |
normalizedpayload
Package normalizedpayload implements functionality for parsing and validating normalized payload.
|
Package normalizedpayload implements functionality for parsing and validating normalized payload. |
Package metrics creates the metrics registry and exposes some common metrics.
|
Package metrics creates the metrics registry and exposes some common metrics. |
Package mqtt contains MQTT-related utilities.
|
Package mqtt contains MQTT-related utilities. |
Package networkserver provides a LoRaWAN-compliant Network Server implementation.
|
Package networkserver provides a LoRaWAN-compliant Network Server implementation. |
internal
Internal package contains various Network Server utilities
|
Internal package contains various Network Server utilities |
internal/test
Package test contains testing utilities usable by all subpackages of networkserver including itself.
|
Package test contains testing utilities usable by all subpackages of networkserver including itself. |
internal/test/shared
Package test contains testing utilities usable by all subpackages of networkserver excluding itself.
|
Package test contains testing utilities usable by all subpackages of networkserver excluding itself. |
internal/time
Package time wraps "time" and allows for custom implementations of key functions.
|
Package time wraps "time" and allows for custom implementations of key functions. |
redis
Package redis provides Redis implementations of interfaces used by networkserver.
|
Package redis provides Redis implementations of interfaces used by networkserver. |
Package packetbrokeragent contains the implementation of the Packet Broker Agent component.
|
Package packetbrokeragent contains the implementation of the Packet Broker Agent component. |
pfconfig
|
|
cpf
Package cpf implements the JSON configuration for the Common Packet Forwarder.
|
Package cpf implements the JSON configuration for the Common Packet Forwarder. |
lbslns
Package lbslns implements the JSON configuration for the LoRa Basics Station `router_config` message.
|
Package lbslns implements the JSON configuration for the LoRa Basics Station `router_config` message. |
semtechudp
Package semtechudp implements the JSON configuration for the Semtech UDP Packet Forwarder.
|
Package semtechudp implements the JSON configuration for the Semtech UDP Packet Forwarder. |
shared
Package shared contains the configuration that is common to various gateway types.
|
Package shared contains the configuration that is common to various gateway types. |
Package provisioning provides a registry and implementations of vendor-specific device provisioners.
|
Package provisioning provides a registry and implementations of vendor-specific device provisioners. |
Package qrcodegenerator provides QR code generation services.
|
Package qrcodegenerator provides QR code generation services. |
qrcode
Package qrcode provides generic interfaces to work with QR codes.
|
Package qrcode provides generic interfaces to work with QR codes. |
Package random implements goroutine-safe utilities on top of a secure random source.
|
Package random implements goroutine-safe utilities on top of a secure random source. |
Package redis provides a general Redis client and utilities.
|
Package redis provides a general Redis client and utilities. |
codec
Package codec provides a codec, which encodes and decodes protocol buffers stored in Redis to/from JSON.
|
Package codec provides a codec, which encodes and decodes protocol buffers stored in Redis to/from JSON. |
Package rpcclient contains the default options for TTN gRPC clients.
|
Package rpcclient contains the default options for TTN gRPC clients. |
Package rpcmetadata contains utilities for transporting common request metadata over gRPC.
|
Package rpcmetadata contains utilities for transporting common request metadata over gRPC. |
discover
Package discover implements a gRPC discovery middleware.
|
Package discover implements a gRPC discovery middleware. |
fillcontext
Package fillcontext implements a gRPC middleware that fills global context into a call context.
|
Package fillcontext implements a gRPC middleware that fills global context into a call context. |
hooks
Package hooks implements a gRPC middleware that executes service and method hooks.
|
Package hooks implements a gRPC middleware that executes service and method hooks. |
rpclog
Package rpclog implements a gRPC logging middleware.
|
Package rpclog implements a gRPC logging middleware. |
rpctracer
Package rpctracer implements a gRPC tracing middleware.
|
Package rpctracer implements a gRPC tracing middleware. |
sentry
Package sentry implements gRPC middleware that forwards errors in RPCs to Sentry
|
Package sentry implements gRPC middleware that forwards errors in RPCs to Sentry |
validator
Package validator implements a gRPC middleware that defines custom validators that are invoked when the service is called.
|
Package validator implements a gRPC middleware that defines custom validators that are invoked when the service is called. |
warning
Package warning communicates warnings over gRPC headers.
|
Package warning communicates warnings over gRPC headers. |
Package rpcserver initializes The Things Network's base gRPC server
|
Package rpcserver initializes The Things Network's base gRPC server |
Package scripting provides a generic abstraction layer for running scripts at runtime.
|
Package scripting provides a generic abstraction layer for running scripts at runtime. |
javascript
Package javascript implements a Javascript scripting engine.
|
Package javascript implements a Javascript scripting engine. |
specification
|
|
macspec
Package macspec provides access to LoRaWAN MAC specification-specific settings.
|
Package macspec provides access to LoRaWAN MAC specification-specific settings. |
relayspec
Package relayspec contains LoRaWAN relay related functionality.
|
Package relayspec contains LoRaWAN relay related functionality. |
telemetry
|
|
exporter
Package telemetry contains the telemetry configuration and the hash generator that is used in other telemetry related packages.
|
Package telemetry contains the telemetry configuration and the hash generator that is used in other telemetry related packages. |
exporter/cli
Package cli contains telemetry functions regarding the collection of data in the CLI.
|
Package cli contains telemetry functions regarding the collection of data in the CLI. |
exporter/istelemetry
Package istelemetry contains telemetry functions regarding the collection of data in the IdentityServer.
|
Package istelemetry contains telemetry functions regarding the collection of data in the IdentityServer. |
exporter/models
Package models contains telemetry models.
|
Package models contains telemetry models. |
tracing
Package tracing provides tools for working with tracing.
|
Package tracing provides tools for working with tracing. |
tracing/tracer
Package tracer provides mechanisms to propagate tracer in context.
|
Package tracer provides mechanisms to propagate tracer in context. |
Package toa provides methods for computing a LoRaWAN packet's time-on-air.
|
Package toa provides methods for computing a LoRaWAN packet's time-on-air. |
Package ttnpb is a reverse proxy.
|
Package ttnpb is a reverse proxy. |
Package types contains basic types that are used in The Things Network's protobuf messages.
|
Package types contains basic types that are used in The Things Network's protobuf messages. |
Package unique provides functionality for working with unique identifiers of entities within a context.
|
Package unique provides functionality for working with unique identifiers of entities within a context. |
Package util contains various utilities.
|
Package util contains various utilities. |
byteutil
Package byteutil provides utilities for working with bytes using little endian binary encoding.
|
Package byteutil provides utilities for working with bytes using little endian binary encoding. |
lora
Package lora contains LoRa modulation utilities.
|
Package lora contains LoRa modulation utilities. |
store
Package store provides utilities when working with a database.
|
Package store provides utilities when working with a database. |
test
Package test provides various testing utilities.
|
Package test provides various testing utilities. |
test/apitest
Package apitest contains common API definition test utilities.
|
Package apitest contains common API definition test utilities. |
test/assertions
Package assertions contains custom assertions compatible with github.com/smarty/assertions.
|
Package assertions contains custom assertions compatible with github.com/smarty/assertions. |
test/assertions/should
Package should wraps assertions in github.com/smarty/assertions and util/test/assertions.
|
Package should wraps assertions in github.com/smarty/assertions and util/test/assertions. |
Package version contains version and build variables set by the CI process.
|
Package version contains version and build variables set by the CI process. |
Package webmiddleware provides middleware for http Handlers.
|
Package webmiddleware provides middleware for http Handlers. |
Click to show internal directories.
Click to hide internal directories.