//Cloudogu EcoSystem Docs

Konfiguration von unbeaufsichtigten Upgrades

In diesem Artikel wird beschrieben wie beim CES-Setup unbeaufsichtigte Upgrades aktiviert und konfiguriert werden können. Die unbeaufsichtigten Upgrades erlauben eine automatische Aktualisierung der Ubuntu Pakete auf der Host-Maschine. Es ist möglich einige Aspekte der Upgrades zu konfigurieren, darunter:

  • Ob unbeaufsichtigte Upgrades generell durchgeführt werden dürfen.
  • Ob nur sicherheitsrelevante Pakete, oder alle möglichen Pakete aktualisiert werden sollen.
  • Ob ein automatischer Neustart der Host-Machine erlaubt ist und zu welchem Zeitpunkt dieser stattfinden soll.
  • Ob eine E-Mail als Benachrichtigung nach der erfolgreichen oder fehlerhaften Durchführung der unbeaufsichtigten Upgrades versendet werden soll.

Hinweis zu einer potenziellen Aktualisierung von Docker

Hinweis: Als Teil der Aktivierung der unbeaufsichtigten Upgrades wird der Live-Restore von Docker aktiviert. Daher sollte eine automatische Aktualisierung von Docker zu keiner Downtime der Dogus führen. Dieses Verhalten wird von Docker aber nicht garantiert. Für mehr Informationen verweisen wir auf die Dokumentation von Docker: https://docs.docker.com/config/containers/live-restore/#impact-of-live-restore-on-running-containers

Voraussetzungen für unbeaufsichtigte Upgrades

Folgende Voraussetzungen müssen für unbeaufsichtigte Upgrades erfüllt sein.

Installation via Weboberfläche

  • Für die Benutzung von E-Mail Benachrichtigungen muss im Naming-Abschnitt des ces-setup muss ein Mail Relayhost konfiguriert sein.

Installation via setup.json (unbeaufsichtigtes Setup)

  • Für die Benutzung von E-Mail Benachrichtigungen muss im naming-Abschnitt der setup.json muss ein Mail Relayhost konfiguriert sein.
  • Für die Benutzung von E-Mail Benachrichtigungen muss im dogu-Abschnitt der setup.json muss official/postfix als zu installierendes Dogu eingetragen werden.

Sollte einer dieser Voraussetzung nicht erfüllt sein, bricht das Setup ab und gibt eine entsprechende Fehlermeldung.

Konfiguration in der setup.json

Für den Import von Projekten muss ein upgrades-Block in der setup.json auf folgende Art und Weise konfiguriert werden.

"upgrades": {
  "enabled": true,
  "period": 1,
  "onlySecurity": true,
  "emailEnabled": true,
  "emailSender": "test@mail.de",
  "emailRecipients": "test@mail.de,test@mail.de",
  "emailOnlyOnErrors": true,
  "reboot": true,
  "rebootTime": "10:00"
}

Generelle Eigenschaften

enabled
  • Datentyp: Boolean
  • Akzeptierte Werte: true oder false
  • Inhalt: Gibt an, ob unbeaufsichtigte Upgrades automatisch durchgeführt werden sollen.
period
  • Datentyp: Integer
  • Akzeptierte Werte: Der Wert muss eine Ganzzahl größer als 0 sein. (period > 0)
  • Optional: Setzt Voraus, dass die unbeaufsichtigte Upgrades aktiviert sind (enabled=true).
  • Inhalt: Gibt den Zeitraum in Tagen an, in dem die unbeaufsichtigten Upgrades durchgeführt werden sollen.
onlySecurity
  • Datentyp: Boolean
  • Akzeptierte Werte: true oder false
  • Optional: Setzt Voraus, dass die unbeaufsichtigte Upgrades aktiviert sind (enabled=true).
  • Inhalt: Es werden nur sicherheitsrelevante Upgrades durchgeführt, wenn diese Option aktiviert ist. Sonst werden alle Upgrades durchgeführt.

Eigenschaften für den automatischen Neustart

reboot
  • Datentyp: Boolean
  • Akzeptierte Werte: true oder false
  • Optional: Setzt Voraus, dass die unbeaufsichtigte Upgrades aktiviert sind (enabled=true).
  • Inhalt: Gibt an, ob die Host-Maschine nach einem unbeaufsichtigten Upgrade automatisch neu gestartet werden darf. Der Neustart der Maschine wird nur durchgeführt, wenn dieser auch von einem Upgrade benötigt wird.
rebootTime
  • Datentyp: String
  • Akzeptierte Werte: Der Wert muss eine Ganzzahl größer als 0 sein. (period > 0)
  • Optional: Setzt Voraus, dass die unbeaufsichtigten Upgrades (enabled=true) und der automatische Neustart (reboot=true) aktiviert sind.
  • Inhalt: Gibt den Zeitraum in Tagen an, in dem die unbeaufsichtigten Upgrades durchgeführt werden sollen.

Eigenschaften für die E-Mail Benachrichtigungen

emailEnabled
  • Datentyp: Boolean
  • Akzeptierte Werte: true oder false
  • Optional: Setzt Voraus, dass die unbeaufsichtigte Upgrades aktiviert sind (enabled=true).
  • Inhalt: Gibt an, ob die Host-Maschine nach einem unbeaufsichtigten Upgrade automatisch eine E-Mail versendet. Die E-Mail enthält Informationen über den Ablauf der Upgrades (z.B. wenn ein Neustart des Hosts erforderlich ist).
emailOnlyOnErrors
  • Datentyp: Boolean
  • Akzeptierte Werte: true oder false
  • Optional: Setzt Voraus, dass die unbeaufsichtigten Upgrades (enabled=true) und die E-Mail Benachrichtigungen (emailEnabled=true) aktiviert sind.
  • Inhalt: Es wird nur eine E-Mail gesendet, wenn ein Fehler bei den Upgrades passiert ist. Sonst wird bei jedem Upgrade eine E-Mail versendet.
emailSender
  • Datentyp: String
  • Akzeptierte Werte: Der Wert muss eine valide E-Mail sein.
  • Optional: Setzt Voraus, dass die unbeaufsichtigten Upgrades (enabled=true) und die E-Mail Benachrichtigungen (emailEnabled=true) aktiviert sind.
  • Inhalt: Setzt die Absender-Adresse der E-Mail fest.
emailRecipients
  • Datentyp: String
  • Akzeptierte Werte: Der Wert muss eine Liste von Komma getrennten validen E-Mails sein. Beispiel: recipient1@test.de,recipient2@test.de
  • Optional: Setzt Voraus, dass die unbeaufsichtigten Upgrades (enabled=true) und die E-Mail Benachrichtigungen (emailEnabled=true) aktiviert sind.
  • Inhalt: Setzt die Empfänger-Adressen der E-Mail fest.

Installation via Skript

Unattended-upgrades kann ebenfalls manuell per script konfiguriert werden. Das Skript activateUnattendedUpgrades.sh befindet sich unter /usr/local/bin/.

Hinweis: Beim Aktivieren der unbeaufsichtigten Upgrades wir der Live-Restore von Docker aktiviert. Dies kann zu Downtimes führen.

Beschreibung der Parameter

# {$1} - Apt Config File. Name of the apt config file which defines the behaviour of the unattended upgrades.
# {$2} - Update-Period. Interval for unattended updates in days (0=disabled).
# {$3} - Origin-flag. If this value is true, the system just uses the security origin.
# {$4} - Reboot-flag. If this value is true, the system does a reboot on an successful update.
# {$5} - Reboot time. Specifies the time when the system should reboot. If the value is unset, it reboots instantly.
#        Format: HH:MM
# {$6} - Mail on error. If this value is set, the mail notification is only send when an error occurred.
# {$7} - Mail recipient. If this value is set, the mail notification is active and sends mails to this address.
# {$8} - Mail sender. Configures a sender mail address.
# {$9} - Mail server address. IP with Port.

Beispiele

  • Deaktivierung

    /activateUnattendedUpgrades.sh /etc/apt/apt.conf.d/99_disable_periodic_update 0
  • Aktivierung mit Reboot um 2 Uhr Nachts und E-Mail-Versand

    /activateUnattendedUpgrades.sh /etc/apt/apt.conf.d/99_disable_periodic_update 7 true true "02:00" false "sender@ces.com" "recipient1@ces.com,recipient2@ces.com"
  • Aktivierung ohne Reboot mit E-Mail-Versand

    /activateUnattendedUpgrades.sh /etc/apt/apt.conf.d/99_disable_periodic_update 7 true false "" false "sender@ces.com" "recipient1@ces.com,recipient2@ces.com"