Skip to content

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 19:30
· 19 commits to main since this release

Version 1.7.0 macht das Plugin-System offiziell und lagert die erste
Funktion aus: Client-Aktualisierung liegt jetzt nicht mehr im Cockpit-Kern,
sondern als externes Plugin — wer sie will, installiert das Plugin einmalig.

Neu — Plugin-System (in Wellen 1 & 2a bereits gepusht, hier komplett)

Externe Erweiterungen können jetzt Tabs, Kontextmenü-Einträge und Services
beisteuern.

  • Checkmk.PluginContracts (neues Projekt in der Solution): definiert
    IPlugin, IPluginContext, IContextMenuContribution (Status- und
    Hosts-Kontextmenüs), ITabContribution (Tabs neben Status/Hosts/Dashboard)
    und IAgentUpdater (Contract für Plugin-zu-Plugin-Aufrufe).
  • PluginLoader scannt plugins/*.dll neben der Exe, lädt jedes gefundene
    IPlugin, ruft Register(services, context). Robust: ein kaputtes Plugin
    bricht den Cockpit-Start nicht.
  • Tab-Extension: ITabContribution-Instanzen landen automatisch als Tabs
    rechts von Status/Hosts/Dashboard (Sortierung über Order).
  • Kontextmenü-Extension: Plugin-Einträge werden mit Separator unten an die
    bestehenden Menüs angehängt. Position pro Menü ist über
    IContextMenuContribution.SupportsLocation filterbar.

Breaking — Client-Aktualisierung raus aus dem Kern

Der Menüpunkt „Client aktualisieren…" ist entfernt. Wer die Funktion
weiterhin nutzen will:

  1. Neuestes ZIP von den
    Checkmk-Plugin-AgentUpdater-Releases
    herunterladen.
  2. Entpacken → CheckmkPlugin.AgentUpdater.dll in einen Ordner plugins/
    neben Checkmk.App.exe legen (Ordner ggf. anlegen).
  3. Cockpit neu starten. Menüpunkt erscheint wieder.

Grund für den Auszug: die Aktion greift mit Admin-Credentials auf entfernte
Hosts zu — nicht jeder Cockpit-Nutzer soll das im Kontextmenü haben.

Entfernt:

  • Checkmk.App/Services/AgentUpdater.cs
  • Checkmk.App/Views/AgentUpdateWindow.axaml(+.cs)
  • Checkmk.App/Views/CredentialDialog.axaml(+.cs)
  • ConnectionSettings.AgentShare und ConnectionSettings.AgentUpdateScript
    (Werte in settings.json werden vom Deserializer ignoriert). Plugin bringt
    eigene Config unter %APPDATA%\Kroste\Checkmk\plugins\kroste.checkmk.agent-updater\settings.json.
  • Toolbar-Feld „Agent-Share" und Skript-Vorlage-Textbox aus dem Einstellungen-
    Dialog.

Migration für bestehende Nutzer

  • Wer die Client-Aktualisierung nutzt: Plugin-ZIP installieren (siehe oben).
    Beim ersten Start bringt das Plugin die Default-Skript-Vorlage mit; falls du
    eine angepasste Vorlage hattest, aus der alten settings.json (in der Backup-
    Version) rüberkopieren nach der neuen Plugin-settings.json.
  • Wer sie nicht braucht: nichts zu tun. Der Menüpunkt ist einfach weg,
    die App läuft schmaler.

Downloads

Roadmap

Nächstes Plugin: Checkmk-Plugin-VSphereBaseImage — Batch-Update der
Checkmk-Agents in vSphere-CTX-Baseimages (nachts überschriebene VMs, wo die
Updates sonst verloren gehen). Nutzt IAgentUpdater aus Plugin 1.

Fachbereich: 5424 IT-Basis-Dienste