Icinga / icingadb

Icinga configuration and state database supporting multiple environments
https://icinga.com
GNU General Public License v2.0
59 stars 21 forks source link

Improve schema documentation (notably where it differs from the objects in Icinga 2) #272

Open julianbrost opened 3 years ago

julianbrost commented 3 years ago

In https://github.com/Icinga/icinga2/pull/8706 we decided that we want to change the meaning of endpoint.zone_id in Icinga DB to be more like what a user would expect. This means that this now differs from the object in Icinga 2 as written in the config file and as returned by the API (Icinga 2: location of the endpoint object as considered by the config sync, Icinga DB: zone membership, as considered for cluster message routing and check scheduling).

When discussing this internally, @N-o-X also said that there may be more places were information in Icinga DB where similar differences exist.

We therefore should document this, either as a full schema documentation that includes descriptions independent of the Icinga 2 documentation, or as a list of differences. Or possibly both, we'd have to decide what would be most helpful for users.

lippserd commented 3 years ago

I would say we add COMMENTs to the schema as we normally do now.

Al2Klimov commented 1 year ago

Apropos helpful for users, one already wants[1] a full doc, something like https://icinga.com/docs/icinga1/latest/en/db_model.html

[1] https://community.icinga.com/t/description-for-icingadbs-mysql-schema/12844/3?u=al2klimov

oxzi commented 3 months ago

As just discussed with @lippserd, size limitations should be documented as well. For example, some columns are of the varchar(255) type because of the final size. This, of course, limits larger text, which should be noted.