Manager is a plugin-like class that is being run in multiple phases of slapos node lifecycle.
- format, manager can format additionally the underlaying OS
- software, manager can react on software installation
- instance, manager can update instance runtime frequently
Constructor will receive configuration of current stage. Then each method receives object most related to the current operation. For details see <slapos/manager/interface.py>.
In code, a list of manager instances can be easily retreived by
from slapos import manager manager_list = manager.from_config(config)
Where from_config extracts "manager_list" item from dict-like config argument and then dynamically loads modules named according to the configuration inside slapos.manager package. The manager must be a class named Manager and implementing interface slapos.manager.interface.IManager.
Managers might require a list of user for whom they are allowed to perform tasks. This list of users is given by "power_user_list" in [slapos] section in the config file.