aboutsummaryrefslogtreecommitdiff

kerbana - a data storage and visualization platform

kerbana is a platform that receives data from MQTT, saves it into RRDs (Round Robin Databases) and generates and serves user-configured graphs.

It is designed for ease of hosting and packaging inside distributions, and it's meant to be especially suitable for small installations with a few users. Think environmental monitoring at home, not data monitoring inside a datacenter (there are already many other versatile, if complex, solutions for that usecase).

It has been written by a backend developer for backend developers and bearded sysadmins, and thus its perceived ugliness is a design and usability choice.

The name comes from kerbaną, cognate of γράφω

Installation

Contributing

Running Tests

To run the MQTT integration tests, create a file kerbana_tests.yaml in the base directory with at least the variable MQTT_SERVER pointing to a valid mqtt server you can use, then run the tests with KERBANA_CONFIG=kerbana_tests.yaml ./manage.py test.

The check script can be used to run the tests with the above setting and for other checks and common tasks, with the following subcommands:

test
run the test suite
coverage
run the test suite and print coverage data
qa
run qa checks (code style etc.)
static
run static analysis tests
run
runs the development server
devdb
initalizes the db and creates ad admin user (whose password needs to be set manually afterwards)

License

Copyright (C) 2023 Elena Grandi

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.