Files
gitea-pages/engineering-guide/icinga2/icinga2_import.puml

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