DeviceManager

License badge Docker badge

The DeviceManager handles all operations related to creation, retrieval, update and deletion of devices in dojot. For more information on that, check DeviceManager Concepts page.

Dependencies

DeviceManager has the following dependencies:

  • flask (including flask_sqlalchemy)
  • psycopg2
  • marshmallow
  • requests
  • gunicorn
  • gevent
  • json-logging-py
  • kakfa-python

But you won’t need to worry about installing any of these - they are automatically installed when starting DeviceManager. There must be, though, a postgres instance accessible by DeviceManager.

How to run

If you really need to run DeviceManager as a standalone process (without dojot’s wonderful docker-compose), you can execute these commands:

python setup.py develop
gunicorn device-manager.app:app

Keep in mind that running a standalone instance of DeviceManager misses a lot of security checks (such as user identity checks, proper multi-tenancy validations, and so on). In particular, every request sent to DeviceManager needs an access token, which should be retrived from auth component.

How to use it

There are a few concepts that must be understood to properly use DeviceManager. Visit DeviceManager Concepts page to check them out.

This component listens to HTTP requests at port 5000 - all its endpoints are documented in the API page.

IMPORTANT: If you are using all dojot’s components (for instance, using a deploy based on docker-compose), it is recommended to visit dojot documentation to check the endpoints for all services (including DeviceManager’s)**