Mender is an open source over-the-air (OTA) software updater for embedded Linux devices. Mender comprises a client running at the embedded device, as well as a server that manages deployments across many devices.
This repository contains the Mender Graphical User Interface, which is part of the Mender server. The Mender server is designed as a microservices architecture and comprises several repositories.
The GUI exposes the entirety of Mender's functionality to the user, including deployment definition, scheduling and monitoring, device listing and admission, etc.
To start using Mender, we recommend that you begin with the Getting started section in the Mender documentation.
We welcome and ask for your contribution. If you would like to contribute to Mender, please read our guide on how to best get started contributing code or documentation.
In order to develop the GUI code to contribute, it is required to nodejs and npm installed, followed
by an execution of npm install
to install all the dependencies in package.json. Work on the files in 'src'. Running npm run watch
will watch for your
changes as you develop and build as you go.
The watch
command is intended to build however the content should be served from within the regular container running in your local mender setup.
To connect the two a typical approach is to create a docker-compose.override.yml
in the folder you have cloned the integration repo into (to isolate the changes made to the running environment in a single file) with the following content:
version: '2.1'
services:
mender-gui:
volumes:
- ../<path-to-clone-of-the-gui-repo>/dist:/var/www/mender-gui/dist
and then start the demo environment with this file like this: ./demo -f docker-compose.override.yml up
from the integration clone folder. The content should be accessible under https://localhost/ just as without any modifications. While running npm run watch
the results of each incremental build should show up on page refresh.
To ensure committed changes pass the CI pipeline it is good to run npm run lint
and npm run test
before you submit your changes for review.
The project is equipped with commit checks powered by husky that check for linter problems and run tests on the changed files. To also check your commit messages and fix potential problems with them, make sure to set MENDER_TESTING
in your ENV
to a local clone of the mendertesting repository.
Mender is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
We take security very seriously. If you come across any issue regarding security, please disclose the information by sending an email to [email protected]. Please do not create a new public issue. We thank you in advance for your cooperation.
- Join the Mender Hub discussion forum
- Follow us on Twitter. Please feel free to tweet us questions.
- Fork us on Github
- Create an issue in the bugtracker
- Email us at [email protected]
- Connect to the #mender IRC channel on Freenode
Mender was created by the team at Northern.tech AS, with many contributions from the community. Thanks everyone!
Mender is sponsored by Northern.tech AS.