Icinga/icinga-notifications

Allow flexible ID tags

Closed this issue · 0 comments

Currently, storage of ID tags is limited to host and service (obviously inspired by Icinga 2), but this should become more flexible.

Duplicate the table object_extra_tag as object_id_tag, use it to replace the object.host and object.service columns. Adapt the Go code accordingly. After review, coordinate the corresponding changes in PHP.

Why a separate table? The object_id_tag table should stay significantly smaller than object_extra_tag, so lookups should be faster. However, that requires filters to also distinguish between ID and extra tags. Currently, it's the same namespace and therefore always both tag types have to be searched, so there'd need to be id.host and extra.host filters to make use of this.