Werk #15724: Change API specification computation

Komponente REST API
Titel Change API specification computation
Datum 17.02.2024
Level Bedeutende Änderung
Klasse Bugfix
Kompatibilität Kompatibel - benötigt kein manuelles Eingreifen
Checkmk versions & editions
2.4.0b1 Checkmk Raw (CRE), Checkmk Enterprise (CEE), Checkmk Cloud (CCE), Checkmk MSP (CME)
2.3.0b1 Checkmk Raw (CRE), Checkmk Enterprise (CEE), Checkmk Cloud (CCE), Checkmk MSP (CME)

The specification of the REST API defines the structure of the API. It is computed automatically from the implementation in Checkmk.

Previously the specification was computed during runtime when something requested access to the specification. This could be a user opening ReDoc or the Swagger UI. The specification was then computed ad-hoc and cached in the memory of the apache process. This caused several issues:

  • After spawning a new apache, the specification needed to be recomputed for every process. This caused a delay in the first request hitting an apache process asking for it.
  • It was held in memory by every process consuming a few MB.
  • The invalidation of the cache and computation of new specification could not be triggered manually.

With this change the specification is now stored in the site and made available to all apache processes from there.

With the dedicated command cmk-compute-api-spec the computation can now be triggered in specific situations automatically or manually for debugging.

The specification is now updated in these situations:

  • post-create hook: Create the initial spec after a site has been created
  • post rename action: Update the spec after a site has been copied, restored or renamed
  • update-config action: Update the spec after the site has been updated

Zur Liste aller Werks