diff --git a/README.md b/README.md index f0e300ad2..f55ecb421 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,25 @@ Would you rather dive into the code? Then you are already in the right place! --- +# Quick look at the high-level architecture + +![Mender architecture](mender_architecture.png) + + +The chart above depicts a typical Mender architecture with the following elements: + +* Back End & User Interface: The shaded sky blue area is the Mender product which comprises the back end and the user interface (UI). +* Clients: The Mender client runs on the devices represented by the devices icon. +* Gateway: All communications between devices, users, and Mender occur through an API gateway. [Traefik](https://traefik.io) is used for the API gateway. The gateway routes requests coming from the clients to the right micro-service(s) in the Mender back end. +* NATS message broker: some of the micro-services use NATS as a message broker to support the Mender device update troubleshooting and the orchestration that takes place within the system. +* Mongo DB: used as the main database underlying the Mender back end and micro-services. +* Storage layer: in both hosted and on premise Mender, an AWS S3 Bucket (or S3 API-compatible) or an Azure Storage Account storage layer is used to store the artifacts. +* Redis cache: Mender uses Redis for caching to enable device management at scale. + +More detailed information you can find in our [documentation](https://docs.mender.io/3.5/server-installation/overview). + +--- + # About this repository This repository contains the Mender client updater, which can be run in standalone mode (manually @@ -319,12 +338,12 @@ The introspection files for Mender D-Bus API can be found at Mender was created by the team at [Northern.tech AS](https://northern.tech), with many contributions from the community. Thanks [everyone](https://github.com/mendersoftware/mender/graphs/contributors)! -### About [Northern.tech](https://northern.tech) +### About Northern.tech -Northern.tech is the leader in device lifecycle management with a mission to secure the world's +[Northern.tech](https://northern.tech) is the leader in device lifecycle management with a mission to secure the world's connected devices. Established in 2008, Northern.tech showcases a long history of enterprise technology management before IIoT and IoT became buzzwords. Northern.tech is the company behind [CFEngine](https://cfengine.com), a standard in server configuration management, to automate large-scale IT operations and compliance. -Learn more about device lifecycle management for industrial IoT devices. +Learn more about [device lifecycle management](https://northern.tech/what-we-do) for industrial IoT devices. diff --git a/go.mod b/go.mod index 885b9f57b..0bfecc598 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/bmatsuo/lmdb-go v1.6.1-0.20160816100615-69ad631904c9 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/godbus/dbus v4.1.0+incompatible - github.com/gorilla/websocket v1.4.3-0.20220104015952-9111bb834a68 + github.com/gorilla/websocket v1.5.0 github.com/mendersoftware/mender-artifact v0.0.0-20230125055725-c322771c6a2c github.com/mendersoftware/openssl v1.1.1-0.20221101131127-8797d18baf1a github.com/mendersoftware/progressbar v0.0.3 diff --git a/go.sum b/go.sum index 9fcb11c41..18a91fd63 100644 --- a/go.sum +++ b/go.sum @@ -334,8 +334,8 @@ github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/gorilla/websocket v1.4.3-0.20220104015952-9111bb834a68 h1:m6V3+LXduRWqp1rg8FMHBagwmNsgXMVj5PHVLYnPeVQ= -github.com/gorilla/websocket v1.4.3-0.20220104015952-9111bb834a68/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= diff --git a/mender_architecture.png b/mender_architecture.png new file mode 100644 index 000000000..c928d720b Binary files /dev/null and b/mender_architecture.png differ diff --git a/vendor/modules.txt b/vendor/modules.txt index 8def4d5c8..e2473b4be 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -8,7 +8,7 @@ github.com/davecgh/go-spew/spew # github.com/godbus/dbus v4.1.0+incompatible ## explicit github.com/godbus/dbus -# github.com/gorilla/websocket v1.4.3-0.20220104015952-9111bb834a68 +# github.com/gorilla/websocket v1.5.0 ## explicit github.com/gorilla/websocket # github.com/klauspost/compress v1.15.9