isomer.launcher module

Isomer - Backend

Application

See README.rst for Build/Installation and setup details.

URLs & Contact

Mail: riot@c-base.org IRC: #hackerfleet@irc.freenode.org

Project repository: http://github.com/isomeric/isomer Frontend repository: http://github.com/isomeric/isomer-frontend

class Core(name, instance, **kwargs)[source]

Bases: isomer.component.ConfigurableComponent

Isomer Core Backend Application

__init__(name, instance, **kwargs)[source]

Check for configuration issues and instantiate a component

cli_check_provisions(event)[source]

Check current provisioning state and trigger new provisioning

cli_components(event)[source]

List all loaded and running unique components

cli_drop_privileges(event)[source]

Drop possible user privileges

cli_info(*args)[source]

Provides information about the running instance

cli_quit(event)[source]

Stop the instance on cli request

cli_reload(event)[source]

Experimental call to reload the component tree

cli_reload_db(event)[source]

Experimental call to reload the database

configprops = {'components': {'default': {}, 'description': 'Component metadata', 'title': 'Components', 'type': 'object'}, 'enabled': {'default': [], 'description': 'Modules found and activatable by the system.', 'items': {'type': 'string'}, 'title': 'Available modules', 'type': 'array'}, 'frontendenabled': {'default': True, 'description': 'Option to toggle frontend activation', 'title': 'Frontend enabled', 'type': 'boolean'}}
ready(source)[source]

All components have initialized, set up the component configuration schema-store, run the local server and drop privileges

started(component)[source]

Sets up the application after startup.

stop_core(event)[source]

Stop execution and exit

system_stop()[source]

Stop instance after settling stop events

trigger_frontend_build(event)[source]

Event hook to trigger a new frontend build

update_components(forcereload=False, forcerebuild=False, forcecopy=True, install=False)[source]

Check all known entry points for components. If necessary, manage configuration updates

class FrontendHandler(launcher, *args, **kwargs)[source]

Bases: pyinotify.ProcessEvent

__init__(launcher, *args, **kwargs)[source]

Initialize the frontend handler

process_IN_CLOSE_WRITE(event)[source]
class boot(*args, **kwargs)[source]

Bases: circuits.core.events.Event

class cli_check_provisions(*args, **kwargs)[source]

Bases: circuits.core.events.Event

Check current provisioning state and trigger new provisioning

class cli_components(*args, **kwargs)[source]

Bases: circuits.core.events.Event

List registered and running components

class cli_drop_privileges(*args, **kwargs)[source]

Bases: circuits.core.events.Event

Try to drop possible root privileges

class cli_info(*args, **kwargs)[source]

Bases: circuits.core.events.Event

Provide information about the running instance

verbose = False
class cli_quit(*args, **kwargs)[source]

Bases: circuits.core.events.Event

Stop this instance

Uses sys.exit() to quit.

class cli_reload(*args, **kwargs)[source]

Bases: circuits.core.events.Event

Reload all components and data models

class cli_reload_db(*args, **kwargs)[source]

Bases: circuits.core.events.Event

Reload database and schemata (Dangerous!) WiP - does nothing right now

construct_graph(ctx, name, instance, args)[source]

Preliminary Isomer application Launcher

drop_privileges(uid_name='isomer', gid_name='isomer')[source]

Attempt to drop privileges and change user to ‘isomer’ user/group

class ready(*args, **kwargs)[source]

Bases: circuits.core.events.Event

Event fired to signal completeness of the local node’s setup