Skip to content

Latest commit

 

History

History
41 lines (24 loc) · 1.9 KB

ARCHITECTURE.md

File metadata and controls

41 lines (24 loc) · 1.9 KB

Under Construction Logo

This page is still under construction. Please, bear with me. Thanks!

LittleBrother-Logo

Architecture

A more detailed description will follow in a while. For the time being this is the architecture in a nutshell:

  • LittleBrother is all-Python3 application running as a dedicated user little-brother (which is installed by the Debian package) in a Python virtualenv environment.

  • The application regularly scans the process list of the host for configured patterns and, if found, executes configured rules. When it is not active, it sleeps in a system interrupt.

  • If the maximum login time of users is exceeded, the application will terminate the appropriate processes.

  • Process termination is done by a sudo-rule permitting the use of kill for the user little-brother.

  • The web-interface which is based upon flask provides simple status information on the login times of the monitored users and a simple administration interface to modify the more statically defined rules defining the maximum login times (and other parameters) of the users. The administration page is protected by a password.

  • When installed as a client-server application, an arbitrary number of client hosts will communicate with the master host using a simple REST HTTP protocol.

  • The application itself and two supporting projects (python_base_app and flask_helpers) have configurations to be packaged as PIP packages which are included in the Debian package.

  • The control script of the Debian package installs pip3 and installs the included PIP packages and all other required PIP packages from pypi.

Technical Context

Application Context

Build Block View Level 1

Application Context