supermq

package module
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

README

SuperMQ

Check License Header Check the consistency of generated files Continuous Delivery go report card coverage license chat

banner

SuperMQ is modern, scalable, secure, open-source, and patent-free cloud platform for messaging and event-driven architecture (EDA) written in Go.

It accepts user and client (device, user, application) connections over various network protocols (i.e. HTTP, MQTT, WebSocket, CoAP), thus making a seamless bridge between them. It is used as the architecture backbone for building complex distributed solutions.

For more details, check out the official documentation. For extra bits and services see our contrib repository.

Features

  • Multi-protocol connectivity and bridging (HTTP, MQTT, WebSocket and CoAP; see contrib repository for LoRa and OPC UA)
  • Device management and provisioning (Zero Touch provisioning)
  • Mutual TLS Authentication (mTLS) using X.509 Certificates
  • Fine-grained access control (policies, ABAC/RBAC)
  • Message persistence (Timescale and PostgresSQL - see contrib repository for Cassandra, InfluxDB, and MongoDB support)
  • Platform logging and instrumentation support (Prometheus and OpenTelemetry)
  • Event sourcing
  • Container-based deployment using Docker and Kubernetes
  • Edge Agent and Export services for remote IoT gateway management and edge computing
  • SDK
  • CLI
  • Small memory footprint and fast execution
  • Domain-driven design architecture, high-quality code and test coverage

Prerequisites

The following are needed to run SuperMQ:

Developing SuperMQ will also require:

Install

Once the prerequisites are installed, execute the following commands from the project's root:

docker compose -f docker/docker-compose.yml --env-file docker/.env -p git_github_com_absmach_supermq_git_  up

This will bring up the SuperMQ docker services and interconnect them. This command can also be executed using the project's included Makefile:

make run

If you want to run services from specific release checkout code from github and make sure that SMQ_RELEASE_TAG in .env is being set to match the release version

git checkout tags/<release_number> -b <release_number>
# e.g. `git checkout tags/0.13.0 -b 0.13.0`

Check that .env file contains:

SMQ_RELEASE_TAG=<release_number>

docker-compose should be used for development and testing deployments. For production we suggest using Kubernetes.

Usage

The quickest way to start using SuperMQ is via the CLI. The latest version can be downloaded from the official releases page.

It can also be built and used from the project's root directory:

make cli
./build/cli version

Additional details on using the CLI can be found in the CLI documentation.

Documentation

Official documentation is hosted at SuperMQ official docs page. Documentation is auto-generated, checkout the instructions on official docs repository:

If you spot an error or a need for corrections, please let us know - or even better: send us a PR.

Authors

Main architect and BDFL of SuperMQ project is @drasko.

Additionally, @nmarcetic and @janko-isidorovic assured overall architecture and design, while @manuio and @darkodraskovic helped with crafting initial implementation and continuously worked on the project evolutions.

Besides them, SuperMQ is constantly improved and actively developed by @anovakovic01, @dusanb94, @srados, @gsaleh, @blokovi, @chombium, @mteodor, @rodneyosodo and a large set of contributors.

Maintainers are listed in MAINTAINERS file.

The SuperMQ team would like to give special thanks to @mijicd for his monumental work on designing and implementing a highly improved and optimized version of the platform, and @malidukica for his effort on implementing the initial user interface.

Professional Support

There are many companies offering professional support for the SuperMQ system.

If you need this kind of support, best is to reach out to @drasko directly, and he will point you out to the best-matching support team.

Contributing

Thank you for your interest in SuperMQ and the desire to contribute!

  1. Take a look at our open issues. The good-first-issue label is specifically for issues that are great for getting started.
  2. Checkout the contribution guide to learn more about our style and conventions.
  3. Make your changes compatible to our workflow.

Also, explore our contrib repository for extra services such as Cassandra, InfluxDB, MongoDB readers and writers, LoRa, OPC UA support, Digital Twins, and more. If you have a contribution that is not a good fit for the core monorepo (it's specific to your use case, it's an additional feature or a new service, it's optional or an add-on), this is a great place to submit the pull request.

We're Hiring

You like SuperMQ and you would like to make it your day job? We're always looking for talented engineers interested in open-source, IoT and distributed systems. If you recognize yourself, reach out to @drasko - he will contact you back.

The best way to grab our attention is, of course, by sending PRs 😎.

Community

License

Apache-2.0

FOSSA Status

Data Collection for SuperMQ

SuperMQ is committed to continuously improving its services and ensuring a seamless experience for its users. To achieve this, we collect certain data from your deployments. Rest assured, this data is collected solely for the purpose of enhancing SuperMQ and is not used with any malicious intent. The deployment summary can be found on our website.

The collected data includes:

  • IP Address - Used for approximate location information on deployments.
  • Services Used - To understand which features are popular and prioritize future developments.
  • Last Seen Time - To ensure the stability and availability of SuperMQ.
  • SuperMQ Version - To track the software version and deliver relevant updates.

We take your privacy and data security seriously. All data collected is handled in accordance with our stringent privacy policies and industry best practices.

Data collection is on by default and can be disabled by setting the env variable: SMQ_SEND_TELEMETRY=false

By utilizing SuperMQ, you actively contribute to its improvement. Together, we can build a more robust and efficient platform. Thank you for your trust in SuperMQ!

Documentation

Overview

Package supermq acts as an umbrella package containing multiple different microservices and defines all shared domain concepts. For detailed documentation of the platform, please visit https://docs.supermq.abstractmachines.fr.

Index

Constants

This section is empty.

Variables

View Source
var (
	// Version represents the last service git tag in git history.
	// It's meant to be set using go build ldflags:
	// -ldflags "-X 'github.com/absmach/supermq.Version=0.0.0'".
	Version = "0.0.0"
	// Commit represents the service git commit hash.
	// It's meant to be set using go build ldflags:
	// -ldflags "-X 'github.com/absmach/supermq.Commit=ffffffff'".
	Commit = "ffffffff"
	// BuildTime represetns the service build time.
	// It's meant to be set using go build ldflags:
	// -ldflags "-X 'github.com/absmach/supermq.BuildTime=1970-01-01_00:00:00'".
	BuildTime = "1970-01-01_00:00:00"
)

Functions

func Health

func Health(service, instanceID string) http.HandlerFunc

Health exposes an HTTP handler for retrieving service health.

Types

type HealthInfo

type HealthInfo struct {
	// Status contains service status.
	Status string `json:"status"`

	// Version contains current service version.
	Version string `json:"version"`

	// Commit represents the git hash commit.
	Commit string `json:"commit"`

	// Description contains service description.
	Description string `json:"description"`

	// BuildTime contains service build time.
	BuildTime string `json:"build_time"`

	// InstanceID contains the ID of the current service instance
	InstanceID string `json:"instance_id"`
}

HealthInfo contains version endpoint response.

type IDProvider

type IDProvider interface {
	// ID generates the unique identifier.
	ID() (string, error)
}

IDProvider specifies an API for generating unique identifiers.

type Response

type Response interface {
	// Code returns HTTP response code.
	Code() int

	// Headers returns map of HTTP headers with their values.
	Headers() map[string]string

	// Empty indicates if HTTP response has content.
	Empty() bool
}

Response contains HTTP response specific methods.

Directories

Path Synopsis
api
Package api contains implementation of Auth service HTTP API.
Package api contains implementation of Auth service HTTP API.
api/grpc/auth
Package auth contains implementation of Auth service gRPC API.
Package auth contains implementation of Auth service gRPC API.
api/grpc/token
Package grpc contains implementation of Auth service gRPC API.
Package grpc contains implementation of Auth service gRPC API.
jwt
postgres
Package postgres contains Key repository implementations using PostgreSQL as the underlying database.
Package postgres contains Key repository implementations using PostgreSQL as the underlying database.
tracing
Package tracing provides tracing instrumentation for SuperMQ Users service.
Package tracing provides tracing instrumentation for SuperMQ Users service.
Package bootstrap contains the domain concept definitions needed to support SuperMQ bootstrap service functionality.
Package bootstrap contains the domain concept definitions needed to support SuperMQ bootstrap service functionality.
api
Package api contains implementation of bootstrap service HTTP API.
Package api contains implementation of bootstrap service HTTP API.
events
Package events provides the domain concept definitions needed to support bootstrap events functionality.
Package events provides the domain concept definitions needed to support bootstrap events functionality.
events/consumer
Package consumer contains events consumer for events published by Bootstrap service.
Package consumer contains events consumer for events published by Bootstrap service.
events/producer
Package producer contains the domain events needed to support event sourcing of Bootstrap service actions.
Package producer contains the domain events needed to support event sourcing of Bootstrap service actions.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains repository implementations using PostgreSQL as the underlying database.
Package postgres contains repository implementations using PostgreSQL as the underlying database.
tracing
Package tracing provides tracing instrumentation for SuperMQ Users service.
Package tracing provides tracing instrumentation for SuperMQ Users service.
Package certs contains the domain concept definitions needed to support SuperMQ certs service functionality.
Package certs contains the domain concept definitions needed to support SuperMQ certs service functionality.
api
Package api contains implementation of certs service HTTP API.
Package api contains implementation of certs service HTTP API.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
pki/vault
Package pki contains the domain concept definitions needed to support SuperMQ Certs service functionality.
Package pki contains the domain concept definitions needed to support SuperMQ Certs service functionality.
tracing
Package tracing provides tracing instrumentation for SuperMQ Users Groups service.
Package tracing provides tracing instrumentation for SuperMQ Users Groups service.
api/grpc
Package grpc contains implementation of Auth service gRPC API.
Package grpc contains implementation of Auth service gRPC API.
events
Package events provides the domain concept definitions needed to support clients events functionality.
Package events provides the domain concept definitions needed to support clients events functionality.
tracing
Package tracing provides tracing instrumentation for SuperMQ channels service.
Package tracing provides tracing instrumentation for SuperMQ channels service.
Package cli contains the domain concept definitions needed to support SuperMQ CLI functionality.
Package cli contains the domain concept definitions needed to support SuperMQ CLI functionality.
Package clients contains the domain concept definitions needed to support SuperMQ clients service functionality.
Package clients contains the domain concept definitions needed to support SuperMQ clients service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
api/grpc
Package grpc contains implementation of Auth service gRPC API.
Package grpc contains implementation of Auth service gRPC API.
cache
Package cache contains the domain concept definitions needed to support SuperMQ clients cache service functionality.
Package cache contains the domain concept definitions needed to support SuperMQ clients cache service functionality.
events
Package events provides the domain concept definitions needed to support clients events functionality.
Package events provides the domain concept definitions needed to support clients events functionality.
middleware
Package middleware provides middleware for SuperMQ Clients service.
Package middleware provides middleware for SuperMQ Clients service.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains the database implementation of clients repository layer.
Package postgres contains the database implementation of clients repository layer.
private
Private package is a service wrapper around the underlying Repository.
Private package is a service wrapper around the underlying Repository.
standalone
Package standalone contains implementation for auth service in single-user scenario.
Package standalone contains implementation for auth service in single-user scenario.
tracing
Package tracing provides tracing instrumentation for SuperMQ clients service.
Package tracing provides tracing instrumentation for SuperMQ clients service.
cmd
bootstrap
Package main contains bootstrap main function to start the bootstrap service.
Package main contains bootstrap main function to start the bootstrap service.
certs
Package main contains certs main function to start the certs service.
Package main contains certs main function to start the certs service.
channels
Package main contains clients main function to start the clients service.
Package main contains clients main function to start the clients service.
cli
Package main contains cli main function to run the cli.
Package main contains cli main function to run the cli.
clients
Package main contains clients main function to start the clients service.
Package main contains clients main function to start the clients service.
coap
Package main contains coap-adapter main function to start the coap-adapter service.
Package main contains coap-adapter main function to start the coap-adapter service.
groups
Package main contains groups main function to start the groups service.
Package main contains groups main function to start the groups service.
http
Package main contains http-adapter main function to start the http-adapter service.
Package main contains http-adapter main function to start the http-adapter service.
invitations
Package main contains invitations main function to start the invitations service.
Package main contains invitations main function to start the invitations service.
journal
Package main contains journal main function to start the journal service.
Package main contains journal main function to start the journal service.
mqtt
Package main contains mqtt-adapter main function to start the mqtt-adapter service.
Package main contains mqtt-adapter main function to start the mqtt-adapter service.
postgres-reader
Package main contains postgres-reader main function to start the postgres-reader service.
Package main contains postgres-reader main function to start the postgres-reader service.
postgres-writer
Package main contains postgres-writer main function to start the postgres-writer service.
Package main contains postgres-writer main function to start the postgres-writer service.
provision
Package main contains provision main function to start the provision service.
Package main contains provision main function to start the provision service.
timescale-reader
Package main contains timescale-reader main function to start the timescale-reader service.
Package main contains timescale-reader main function to start the timescale-reader service.
timescale-writer
Package main contains timescale-writer main function to start the timescale-writer service.
Package main contains timescale-writer main function to start the timescale-writer service.
users
Package main contains users main function to start the users service.
Package main contains users main function to start the users service.
ws
Package main contains websocket-adapter main function to start the websocket-adapter service.
Package main contains websocket-adapter main function to start the websocket-adapter service.
Package coap contains the domain concept definitions needed to support SuperMQ CoAP adapter service functionality.
Package coap contains the domain concept definitions needed to support SuperMQ CoAP adapter service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
tracing
Package tracing provides tracing instrumentation for SuperMQ WebSocket adapter service.
Package tracing provides tracing instrumentation for SuperMQ WebSocket adapter service.
Package consumers contain the domain concept definitions needed to support SuperMQ consumer services functionality.
Package consumers contain the domain concept definitions needed to support SuperMQ consumer services functionality.
notifiers
Package notifiers contain the domain concept definitions needed to support SuperMQ notifications functionality.
Package notifiers contain the domain concept definitions needed to support SuperMQ notifications functionality.
notifiers/api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
notifiers/mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
notifiers/postgres
Package postgres contains repository implementations using PostgreSQL as the underlying database.
Package postgres contains repository implementations using PostgreSQL as the underlying database.
notifiers/tracing
Package tracing provides tracing instrumentation for SuperMQ WebSocket adapter service.
Package tracing provides tracing instrumentation for SuperMQ WebSocket adapter service.
writers
Package writers contain the domain concept definitions needed to support SuperMQ writer services functionality.
Package writers contain the domain concept definitions needed to support SuperMQ writer services functionality.
writers/api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
writers/postgres
Package postgres contains repository implementations using Postgres as the underlying database.
Package postgres contains repository implementations using Postgres as the underlying database.
writers/timescale
Package timescale contains repository implementations using Timescale as the underlying database.
Package timescale contains repository implementations using Timescale as the underlying database.
api/grpc
Package grpc contains implementation of Domains service gRPC API.
Package grpc contains implementation of Domains service gRPC API.
events
Package events provides the domain concept definitions needed to support SuperMQ auth service functionality.
Package events provides the domain concept definitions needed to support SuperMQ auth service functionality.
postgres
Package postgres contains Key repository implementations using PostgreSQL as the underlying database.
Package postgres contains Key repository implementations using PostgreSQL as the underlying database.
Package groups contains the domain concept definitions needed to support SuperMQ groups functionality.
Package groups contains the domain concept definitions needed to support SuperMQ groups functionality.
api/grpc
Package grpc contains implementation of Auth service gRPC API.
Package grpc contains implementation of Auth service gRPC API.
api/http
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
events
Package events contains event source Redis client implementation.
Package events contains event source Redis client implementation.
middleware
Package middleware provides middleware for SuperMQ Groups service.
Package middleware provides middleware for SuperMQ Groups service.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains the database implementation of groups repository layer.
Package postgres contains the database implementation of groups repository layer.
tracing
Package tracing provides tracing instrumentation for SuperMQ Users Groups service.
Package tracing provides tracing instrumentation for SuperMQ Users Groups service.
Package http contains the domain concept definitions needed to support SuperMQ HTTP Adapter functionality.
Package http contains the domain concept definitions needed to support SuperMQ HTTP Adapter functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
internal
api
Package api contains commonly used constants and functions for the HTTP endpoints.
Package api contains commonly used constants and functions for the HTTP endpoints.
clients
Package clients contains the domain concept definitions needed to support SuperMQ clients functionality for example: postgres, redis, grpc, jaeger.
Package clients contains the domain concept definitions needed to support SuperMQ clients functionality for example: postgres, redis, grpc, jaeger.
clients/redis
Package redis contains the domain concept definitions needed to support SuperMQ redis cache functionality.
Package redis contains the domain concept definitions needed to support SuperMQ redis cache functionality.
email
Package email contains the domain concept definitions needed to support SuperMQ email functionality.
Package email contains the domain concept definitions needed to support SuperMQ email functionality.
Package invitations provides the API to manage invitations.
Package invitations provides the API to manage invitations.
api
middleware
Package middleware contains the middleware for the invitations service.
Package middleware contains the middleware for the invitations service.
mocks
Package mocks provides a mock implementation of the invitations repository.
Package mocks provides a mock implementation of the invitations repository.
postgres
Package postgres provides a postgres implementation of the invitations repository.
Package postgres provides a postgres implementation of the invitations repository.
Package journal contains the journal service.
Package journal contains the journal service.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
events
Package events provides the event consumer for the journal service.
Package events provides the event consumer for the journal service.
middleware
Package middleware provides middleware for the journal service.
Package middleware provides middleware for the journal service.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres provides a postgres implementation of the journal log repository.
Package postgres provides a postgres implementation of the journal log repository.
Package logger contains logger API definition, wrapper that can be used around any other logger.
Package logger contains logger API definition, wrapper that can be used around any other logger.
Package mqtt contains the domain concept definitions needed to support SuperMQ MQTT service functionality.
Package mqtt contains the domain concept definitions needed to support SuperMQ MQTT service functionality.
events
Package events provides the domain concept definitions needed to support mqtt events functionality.
Package events provides the domain concept definitions needed to support mqtt events functionality.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
tracing
Package tracing provides tracing instrumentation for SuperMQ MQTT adapter service.
Package tracing provides tracing instrumentation for SuperMQ MQTT adapter service.
pkg
Package pkg contains library packages used by SuperMQ services and external services that integrate with SuperMQ.
Package pkg contains library packages used by SuperMQ services and external services that integrate with SuperMQ.
errors
Package errors contains SuperMQ errors definitions.
Package errors contains SuperMQ errors definitions.
events/nats
Package redis contains the domain concept definitions needed to support SuperMQ redis events source service functionality.
Package redis contains the domain concept definitions needed to support SuperMQ redis events source service functionality.
events/rabbitmq
Package redis contains the domain concept definitions needed to support SuperMQ redis events source service functionality.
Package redis contains the domain concept definitions needed to support SuperMQ redis events source service functionality.
events/redis
Package redis contains the domain concept definitions needed to support SuperMQ redis events source service functionality.
Package redis contains the domain concept definitions needed to support SuperMQ redis events source service functionality.
grpcclient
Package auth contains the domain concept definitions needed to support SuperMQ auth functionality.
Package auth contains the domain concept definitions needed to support SuperMQ auth functionality.
jaeger
Package jaeger contains the domain concept definitions needed to support SuperMQ Jaeger tracing functionality.
Package jaeger contains the domain concept definitions needed to support SuperMQ Jaeger tracing functionality.
messaging/mqtt
Package mqtt hold the implementation of the Publisher and PubSub interfaces for the MQTT messaging system, the internal messaging broker of the SuperMQ IoT platform.
Package mqtt hold the implementation of the Publisher and PubSub interfaces for the MQTT messaging system, the internal messaging broker of the SuperMQ IoT platform.
messaging/nats
Package nats hold the implementation of the Publisher and PubSub interfaces for the NATS messaging system, the internal messaging broker of the SuperMQ IoT platform.
Package nats hold the implementation of the Publisher and PubSub interfaces for the NATS messaging system, the internal messaging broker of the SuperMQ IoT platform.
messaging/nats/tracing
Package tracing provides tracing instrumentation for SuperMQ clients policies service.
Package tracing provides tracing instrumentation for SuperMQ clients policies service.
messaging/rabbitmq
Package rabbitmq holds the implementation of the Publisher and PubSub interfaces for the RabbitMQ messaging system, the internal messaging broker of the SuperMQ IoT platform.
Package rabbitmq holds the implementation of the Publisher and PubSub interfaces for the RabbitMQ messaging system, the internal messaging broker of the SuperMQ IoT platform.
messaging/rabbitmq/tracing
Package tracing provides tracing instrumentation for SuperMQ clients policies service.
Package tracing provides tracing instrumentation for SuperMQ clients policies service.
messaging/tracing
Package tracing provides tracing instrumentation for SuperMQ clients policies service.
Package tracing provides tracing instrumentation for SuperMQ clients policies service.
oauth2
Package oauth2 contains the domain concept definitions needed to support SuperMQ ui service OAuth2 functionality.
Package oauth2 contains the domain concept definitions needed to support SuperMQ ui service OAuth2 functionality.
oauth2/google
Package google contains the domain concept definitions needed to support SuperMQ services for Google OAuth2 functionality.
Package google contains the domain concept definitions needed to support SuperMQ services for Google OAuth2 functionality.
policies
Package policies contains SuperMQ policy definitions.
Package policies contains SuperMQ policy definitions.
policies/spicedb
Package server contains the HTTP, gRPC and CoAP server implementation.
Package server contains the HTTP, gRPC and CoAP server implementation.
postgres
Package postgres contains the domain concept definitions needed to support SuperMQ PostgreSQL database functionality.
Package postgres contains the domain concept definitions needed to support SuperMQ PostgreSQL database functionality.
prometheus
Package prometheus provides a framework for defining and collecting metrics for prometheus.
Package prometheus provides a framework for defining and collecting metrics for prometheus.
roles/rolemanager/events
Package events provides the domain concept definitions needed to support SuperMQ auth service functionality.
Package events provides the domain concept definitions needed to support SuperMQ auth service functionality.
sdk
Package sdk contains SuperMQ SDK.
Package sdk contains SuperMQ SDK.
server
Package server contains the HTTP, gRPC and CoAP server implementation.
Package server contains the HTTP, gRPC and CoAP server implementation.
server/coap
Package coap contains the CoAP server implementation.
Package coap contains the CoAP server implementation.
server/grpc
Package grpc contains the gRPC server implementation.
Package grpc contains the gRPC server implementation.
server/http
Package http contains the HTTP server implementation.
Package http contains the HTTP server implementation.
sid
Package ulid contains ULID generator.
Package ulid contains ULID generator.
transformers
Package transformers contains the domain concept definitions needed to support SuperMQ transformer services functionality.
Package transformers contains the domain concept definitions needed to support SuperMQ transformer services functionality.
transformers/json
Package json contains JSON transformer.
Package json contains JSON transformer.
transformers/senml
Package senml contains SenML transformer.
Package senml contains SenML transformer.
ulid
Package ulid contains ULID generator.
Package ulid contains ULID generator.
uuid
Package uuid contains UUID generator.
Package uuid contains UUID generator.
Package provision contains domain concept definitions needed to support Provision service feature, i.e.
Package provision contains domain concept definitions needed to support Provision service feature, i.e.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package readers provides a set of readers for various formats.
Package readers provides a set of readers for various formats.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains repository implementations using Postgres as the underlying database.
Package postgres contains repository implementations using Postgres as the underlying database.
timescale
Package timescale contains repository implementations using Timescale as the underlying database.
Package timescale contains repository implementations using Timescale as the underlying database.
Package tools contains tools for SuperMQ.
Package tools contains tools for SuperMQ.
e2e
Package e2e contains entry point for end-to-end tests.
Package e2e contains entry point for end-to-end tests.
e2e/cmd
Package main contains e2e tool for testing SuperMQ.
Package main contains e2e tool for testing SuperMQ.
mqtt-bench
Package bench contains benchmarking tool for MQTT broker.
Package bench contains benchmarking tool for MQTT broker.
mqtt-bench/cmd
Package main contains the entry point of the mqtt-bench tool.
Package main contains the entry point of the mqtt-bench tool.
provision
Package provision is a simple utility to create a list of channels and clients connected to these channels with possibility to create certificates for mTLS use case.
Package provision is a simple utility to create a list of channels and clients connected to these channels with possibility to create certificates for mTLS use case.
provision/cmd
Package main contains entry point for provisioning tool.
Package main contains entry point for provisioning tool.
Package users contains the domain concept definitions needed to support SuperMQ users service functionality.
Package users contains the domain concept definitions needed to support SuperMQ users service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
emailer
Package emailer contains the domain concept definitions needed to support SuperMQ users email service functionality.
Package emailer contains the domain concept definitions needed to support SuperMQ users email service functionality.
events
Package events provides the domain concept definitions needed to support SuperMQ users service functionality.
Package events provides the domain concept definitions needed to support SuperMQ users service functionality.
hasher
Package hasher contains the domain concept definitions needed to support SuperMQ users password hasher sub-service functionality.
Package hasher contains the domain concept definitions needed to support SuperMQ users password hasher sub-service functionality.
middleware
Package middleware provides middleware for SuperMQ Users service.
Package middleware provides middleware for SuperMQ Users service.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains the database implementation of users repository layer.
Package postgres contains the database implementation of users repository layer.
tracing
Package tracing provides tracing instrumentation for SuperMQ Users service.
Package tracing provides tracing instrumentation for SuperMQ Users service.
ws
Package ws provides domain concept definitions required to support SuperMQ WebSocket adapter service functionality.
Package ws provides domain concept definitions required to support SuperMQ WebSocket adapter service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
tracing
Package tracing provides tracing instrumentation for SuperMQ WebSocket adapter service.
Package tracing provides tracing instrumentation for SuperMQ WebSocket adapter service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL