6. Event Handling

DATAGERRY uses an event based communication between its daemons. Each daemon can publish and subscribe events to a message broker. The message broker (currently, RabbitMQ is supported) will route events to the different daemons.

Each daemon will open two AMQP connections to the message broker (one for sending, one for receiving events). The connection handling will be done by cmdb.event_management.event_manager.EventManagerAmqp.

6.1. structure of an event

An event consists of a type and a set of key-value pairs as parameters.

6.1.1. example:

type:

cmdb.core.object.added

parameters:

id: id of the new created object

The set of key-value pairs depends on the event type.

6.2. event routing

Events are routed by type to the daemons. Each daemon can subscribe to a list of event type definitions. In these definitions, wildcards can be used:

# subscribe to a specific event type
cmdb.core.object.added

# subscribe to all event types starting with a specific string
cmdb.core.#

6.3. list of event types

The following event types are defined in DATAGERRY:

6.3.1. cmdb.core.object:

These events will be created by the core system if CMDB objects will be added/updated/deleted. The parameter “public_id” which includes the public ID of the specific object will be included.

  • cmdb.core.object.added

  • cmdb.core.object.updated

  • cmdb.core.object.deleted

6.3.2. cmdb.core.objecttype:

These events will be created by the core system if CMDB object types will be added/updated/deleted. The parameter “public_id” which includes the public ID of the specific object will be included.

  • cmdb.core.objecttype.added

  • cmdb.core.objecttype.updated

  • cmdb.core.objecttype.deleted

3. Documentation — DATAGERRY bugfix-NET-800_dashboard-typechart-display-wrong-count-97071bc450123609fafe15fef9993efc8de7a93d documentation

3. Documentation

The Datagerry documentation is created using Sphinx.

3.1. Generation

In the case of a push or merge into one of the productive or development branches, the documentation is automatically generated via our continuous integration. Depending on the publication method, the documentation is then available as HTML source under /docs/_build/. Alternatively, the documentation can also be created manually using the included make file.

3.2. Approach

Since the documentation consists of pure HTML, it can be accessed directly via the index.html in the directory /docs/_build in a browser. Alternatively, the documentation is delivered for every running instance at https://yourdomain.com/docs/ .