@startuml node "Icinga2 Master" as master { control "sysdb-director-import.timer" as import_timer file "sysdb-director-import" as import_script component "Director" as director { component "awi-lx-sysdb-hostgroup-import" as hostgroup_import component "awi-lx-sysdb-hostgroup-sync-rule" as hostgroup_sync component "awi-lx-sysdb-host-import" as host_import component "awi-lx-sysdb-host-sync-rule" as host_sync component "awi-lx-sysdb-service-override-sync-rule" as service_override_sync } } node "Sysdb Server" as sysdb_server { component "Sysdb API" as sysdb_api { component "icinga2/v1/roles" as sysdb_api_roles component "icinga2/v1/hostgroups" as sysdb_api_hostgroups component "icinga2/v1/hosts" as sysdb_api_hosts component "icinga2/v1/ad_notification_users" as sysdb_api_roles_ad_notification_users } } import_timer -[dashed]-> import_script : "triggers" import_script -[dashed]-> director : triggers imports, sync rules and deployment sysdb_api_hostgroups --> hostgroup_import hostgroup_import --> hostgroup_sync sysdb_api_hosts --> host_import host_import --> host_sync host_import --> service_override_sync @enduml