Der Seed erkannte seine sieben Vorlagen am Namen. Wer eine umbenannte, bekam beim naechsten Lauf eine zweite -- und der Schnellstart stand auf der Geraeteseite doppelt. Vorlage.seedSchluessel traegt die Kennung, eindeutig wo gesetzt (partieller Index, weil eigene Vorlagen keinen tragen). Das Austauschformat kennt das Feld als seedSchluessel; nicht als schluessel, wie das Issue plante, denn so heisst dort schon das Feld einer Variablen. Der Rueckfall auf den Namen bleibt, sonst bekaeme eine Installation von vor diesem Feld beim ersten Lauf danach genau die Dubletten, die es verhindern soll. Wird sie so gefunden, traegt der Seed den Schluessel nach -- an der Entwicklungsdatenbank gefahren: sieben nachgetragen, nichts neu angelegt. Der Import setzt den Schluessel nicht, auch nicht wenn das Dokument ihn mitbringt, und der Export schreibt ihn nicht: eine eingespielte Kopie soll nicht den Platz des Originals einnehmen. Gegenprobe gefahren: ohne die Suche am Schluessel werden vier Tests rot. Closes #32
120 lines
5.4 KiB
JSON
120 lines
5.4 KiB
JSON
{
|
|
"format": 1,
|
|
"name": "Monatlicher Patchday",
|
|
"seedSchluessel": "monatlicher-patchday",
|
|
"beschreibung": "Der wiederkehrende Ablauf für Updates an Servern, Hypervisor, Netzgeräten und Clients: ankündigen, einspielen, kontrollieren und berichten.",
|
|
"kategorie": "Wartung",
|
|
"schlagworte": ["patchday", "updates", "wartung", "monatlich"],
|
|
"struktur": {
|
|
"variablen": [
|
|
{
|
|
"schluessel": "monat",
|
|
"beschriftung": "Monat (z. B. 2026-10)",
|
|
"typ": "TEXT",
|
|
"pflicht": true
|
|
}
|
|
],
|
|
"abschnitte": [
|
|
{
|
|
"titel": "Vorbereitung",
|
|
"schritte": [
|
|
{
|
|
"titel": "Wartungsfenster angekündigt",
|
|
"hilfetext": "Mindestens einen Werktag vorher, mit Zeitraum und betroffenen Diensten. Neustarts von Terminalservern und Domänencontrollern ausdrücklich nennen.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Bekannte Probleme der aktuellen Updates geprüft",
|
|
"hilfetext": "Herstellerhinweise und einschlägige Foren durchsehen. Ein zurückgezogenes Update erspart einen Abend Fehlersuche.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Letzte Sicherung aller betroffenen Systeme erfolgreich",
|
|
"hilfetext": "Nicht nur den Jobstatus ansehen, sondern das Datum des letzten fehlerfreien Wiederherstellungspunkts. Ohne Sicherung kein Patch.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "VM-Snapshot vor kritischen Updates",
|
|
"hilfetext": "`<vmid>` durch die Nummer der VM ersetzen. Ein Snapshot ist kein Backup und kostet Speicher, also nach der Kontrolle wieder entfernen.",
|
|
"typ": "BEFEHL",
|
|
"konfig": { "shell": "bash", "befehl": "qm snapshot <vmid> prepatch" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"titel": "Durchführung",
|
|
"schritte": [
|
|
{
|
|
"titel": "Server gepatcht und neu gestartet, Reihenfolge beachtet (Domänencontroller nicht gleichzeitig)",
|
|
"hilfetext": "Einen Domänencontroller nach dem anderen und die Replikation zwischendurch prüfen. Anwendungsserver erst, wenn ihre Datenbank wieder läuft.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Hypervisor-Updates geprüft bzw. eingespielt",
|
|
"hilfetext": "Gäste vorher verschieben oder sauber herunterfahren. Knoten eines Clusters auf gleichem Stand halten, Gasterweiterungen mitziehen.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Firewall-, Switch- und AP-Firmware geprüft",
|
|
"hilfetext": "Netzgeräte zuletzt und einzeln, damit der eigene Zugriff nicht abreißt. Vorher die Konfiguration sichern.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Clients: Update-Status im RMM geprüft",
|
|
"hilfetext": "Nach ausstehenden Neustarts und nach Geräten sehen, die seit Wochen nichts melden. Ein Client, der stumm bleibt, ist das eigentliche Problem.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Anzahl Clients mit ausstehenden Updates",
|
|
"hilfetext": "Der Wert aus dem RMM nach dem Durchlauf. Über Monate verglichen zeigt er, ob die Verteilung wirklich greift.",
|
|
"typ": "ZAHL",
|
|
"pflicht": true,
|
|
"konfig": { "min": 0 }
|
|
},
|
|
{
|
|
"titel": "Drittanbieter-Software aktualisiert (Browser, PDF, Java, Laufzeitumgebungen)",
|
|
"hilfetext": "Über diese Programme kommen Angriffe herein, seltener über das Betriebssystem. Altlasten, die niemand mehr braucht, besser deinstallieren.",
|
|
"pflicht": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"titel": "Kontrolle",
|
|
"schritte": [
|
|
{
|
|
"titel": "Alle Dienste nach Neustart gestartet, Monitoring ohne neue Alarme",
|
|
"hilfetext": "Besonders auf Dienste achten, die verzögert starten oder an einem Dienstkonto hängen. Das Monitoring einige Minuten beobachten, nicht nur einmal ansehen.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Anmeldung und Kernanwendungen stichprobenartig getestet",
|
|
"hilfetext": "Mit einem normalen Benutzerkonto anmelden, nicht als Administrator. ERP, Mail und Drucken kurz antesten.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Sicherung nach dem Patchday erfolgreich gelaufen",
|
|
"hilfetext": "Der erste Lauf nach den Updates ist der wichtigste: geänderte Agenten und Treiber lassen Jobs gern scheitern.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Snapshots wieder entfernt",
|
|
"hilfetext": "Liegengebliebene Snapshots füllen den Speicher und bremsen die VM. Erst löschen, wenn die Kontrolle abgeschlossen ist.",
|
|
"pflicht": true
|
|
},
|
|
{
|
|
"titel": "Auffälligkeiten und zurückgestellte Updates",
|
|
"hilfetext": "Je Zeile System, Update und Grund der Zurückstellung. Das ist die Arbeitsliste für den nächsten Patchday.",
|
|
"typ": "TEXT",
|
|
"konfig": { "mehrzeilig": true }
|
|
},
|
|
{
|
|
"titel": "Wartungsbericht {{monat}} abgelegt und an die IT-Leitung gemeldet",
|
|
"hilfetext": "Kurz halten: was eingespielt wurde, was offen blieb, welcher Aufwand entstanden ist.",
|
|
"pflicht": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|