60 lines
2.4 KiB
Plaintext
60 lines
2.4 KiB
Plaintext
@startuml
|
|
|
|
node "Icinga2 Master" as master {
|
|
control "= sysdb-director-import.timer" as import_timer #line.bold
|
|
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
|
|
component "icinga-notification-user-import" as user_import
|
|
component "icinga-notification-user-sync-rule" as user_sync
|
|
}
|
|
together {
|
|
file "user_and_group_list.conf" as user_and_group_list
|
|
file "department_list.conf" as department_list
|
|
file "ignore_list.conf" as ignore_list
|
|
}
|
|
file "generate_icinga_notification_user_import_basket.py" as notification_user_basket_generator
|
|
file "Director-Basket_icinga-notification-user-import.json" as notification_user_basket
|
|
note top of notification_user_basket : adapted LDAP filter
|
|
' make it stand out, = is for large text
|
|
folder "= Icinga2 configuration" as icinga2_configuration #line.bold
|
|
}
|
|
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
|
|
}
|
|
}
|
|
database "AD" as ad
|
|
|
|
import_timer -[dashed]down-> import_script : "triggers"
|
|
import_script -[dashed]down-> director : triggers imports, sync rules and deployment
|
|
import_script -[dashed]up-> user_and_group_list : downloads
|
|
import_script -[dashed]right-> notification_user_basket_generator : runs
|
|
|
|
sysdb_api_hostgroups ==> hostgroup_import
|
|
hostgroup_import --> hostgroup_sync
|
|
|
|
sysdb_api_hosts ==> host_import
|
|
host_import --> host_sync
|
|
host_import --> service_override_sync
|
|
|
|
sysdb_api_roles_ad_notification_users ==> user_and_group_list
|
|
notification_user_basket_generator -[dashed]-> notification_user_basket : generates
|
|
user_and_group_list --> notification_user_basket
|
|
department_list --> notification_user_basket
|
|
ignore_list --> notification_user_basket
|
|
notification_user_basket --> user_import
|
|
ad ==> user_import
|
|
user_import --> user_sync
|
|
|
|
director ==> icinga2_configuration
|
|
|
|
@enduml
|