Normale Ansicht

Thunderbird 128 „Nebula“ veröffentlicht

22. Juli 2024 um 20:03

Die MZLA Technologies Corporation hat Thunderbird 128 „Nebula“ veröffentlicht. Die neue Version des Open Source E-Mail-Clients bringt wieder einige Neuerungen.

Neue Version zum Download verfügbar, Update später

Thunderbird 128 steht seit kurzem zum Download bereit. Automatische Updates von Thunderbird 115 und älter sind zu diesem Zeitpunkt noch nicht aktiv. Bestehende Nutzer werden mit einem der kommenden Updates die neue Version erhalten.

Extended Support Release, ESR

In Zusammenhang mit Thunderbird 128 liest man nun von einem sogenannten Extended Support Release, oder kurz: ESR. Für den Endanwender ändert sich dadurch überhaupt nichts, da Thunderbird bereits seit Jahren dem sogenannten ESR-Modell von Firefox folgt, welches ein Feature-Update pro Jahr und dazwischen lediglich kleinere Updates vorsieht, die vor allem Fehler und Sicherheitslücken beheben.

Die explizite Nennung von ESR hängt damit zusammen, dass es in Zukunft (genauer Startzeitpunkt noch unbekannt) auf einem neuen Release-Kanal, wie bei der Mainstream-Variante von Firefox, auch von Thunderbird monatliche Feature-Updates geben wird. Bestehende Nutzer von Thunderbird 115 wurden bereits automatisch auf den ESR-Zweig migriert und erhalten damit standardmäßig weiterhin jährliche Feature-Updates.

Programmiersprache Rust erhält Einzug

Bei Rust handelt es sich um eine ursprünglich von Mozilla Research entwickelte Programmiersprache, welche wegen ihrer Vorteile mittlerweile aus der Entwicklerwelt nicht mehr wegzudenken ist. Auch wenn sich daraus keine direkt sichtbare Verbesserung für den Endnutzer ergibt, verspricht diese neue Möglichkeit eine höhere Qualität und Leistung des Codes. Außerdem wird es dadurch möglich, Teile des Codes zwischen dem Desktop-Thunderbird und zukünftigen mobilen Versionen (Android, iOS) von Thunderbird zu teilen, was die plattformübergreifende Entwicklung beschleunigt.

Verbesserte Kartenansicht

Mit Thunderbird 115 wurde eine neue optionale Kartenansicht anstelle der Tabellenansicht für die Auflistung von E-Mails zur Verfügung gestellt. Seit Thunderbird 115.2.3 ist diese Standard für neue Nutzer. Thunderbird 128 verbessert die Darstellung der Kartenansicht.

Verbesserte Ordnerauswahl

Neuerungen gab es auch bei der Ordnerauswahl in der linken Seitenleiste. So ist es hier, neben weiteren Verbesserungen, jetzt auch möglich, mehrere Ordner auf einmal auszuwählen.

Verbesserte Kontextmenüs

Auch die Kontextmenüs wurden überarbeitet. Diese sehen nicht nur moderner aus, sondern sind auch schlanker. Das Kontextmenü für Nachrichten hat oben eine Icon-Reihe mit Symbolen für den schnellen Zugriff auf wichtige Funktionen erhalten.

Verwendung von Akzentfarben des Betriebssystems

Thunderbird macht nun stärkeren Gebrauch von der konfigurierten Akzeptfarbe des Betriebssystems, womit sich Thunderbird besser in das System des jeweiligen Anwenders integriert.

Native Benachrichtigungen unter Windows

Ein weiteres Thema der Betriebssystem-Integration sind die Benachrichtigungen. Hier nutzt Thunderbird unter Windows jetzt korrekt funktionierende native Windows-Benachrichtigungen. So wird bei Klick auf eine Benachrichtigung Thunderbird jetzt auch in den Vordergrund geholt und die entsprechende Nachricht geöffnet.

Keine Unterstützung mehr von Windows 7, Windows 8, macOS 10.12, macOS 10.13, macOS 10.14

Für Nutzer, welche eines der veralteten Betriebssysteme Windows 7, Windows 8, macOS 10.12, macOS 10.13 oder macOS 10.14 nutzen, ist mit Thunderbird 115 Schluss. Thunderbird 128 lässt sich auf entsprechenden Systemen nicht mehr starten.

Sonstige Neuerungen von Thunderbird 128

Die Standard-Sortierung für E-Mails wurde geändert, sodass neue Nachrichten nun oben angezeigt werden.

Wurde eine individuelle Farbe für ein E-Mail-Konto vergeben, wird diese beim Versenden von E-Mails jetzt auch im Feld des Absenders angezeigt.

Auch das Adressbuch verwendet ab sofort die überarbeitete Optik der Kartenansicht und das gleiche Toolbar-Konzept wie die Mail-Komponente.

Es ist nicht länger möglich, direkt aus Thunderbird heraus eine neue E-Mail-Adresse bei Mailfence oder Gandi zu erhalten. Ebenfalls entfernt wurde die Importfunktion für Becky! Internet Mail.

Dies war nur eine kleine Auswahl der größten Highlights. Thunderbird 128 bringt noch sehr viel mehr Neuerungen, Verbesserungen unter der Haube sowie Fehlerkorrekturen. Die Release Notes (engl.) bieten einen umfassenden Überblick über die zahlreichen kleinen Neuerungen.

Thunderbird 128.0.1

Mit Thunderbird 128.0.1 wurde auch schon ein erstes Update veröffentlicht, welches kleinere Korrekturen vornimmt.

Bald: Unterstützung von Microsoft Exchange

Noch nicht in Thunderbird 128, aber in einem der kommenden Updates von Thunderbird 128 enthalten wird die initiale Unterstützung von Microsoft Exchange sein. Die erste Version der Exchange-Unterstützung wird noch auf Mail-Funktionen beschränkt sein.

Bald: Thunderbird-Synchronisation

Ein weiteres Feature, welches mit einem späteren Update für Thunderbird 128 nachgeliefert werden wird, ist Thunderbird Sync, womit Konfigurationen geräteübergreifend synchronisiert werden können.

Der Beitrag Thunderbird 128 „Nebula“ veröffentlicht erschien zuerst auf soeren-hentzschel.at.

Wie wird im Ansible Automation Controller eine neue Inventory Source hinzugefügt?

22. Juli 2024 um 05:00

In diesem Überblick beschreibe ich am Beispiel der Proxmox inventory source, wie eine eigene Inventory Source im Ansible Automation Controller hinzugefügt werden kann.

Die folgenden Schritte wurden mit der Ansible Automation Platform 2.4 getestet. Die einzelnen Schritte sollten in gleicher Weise auch in Ansible AWX ausgeführt werden können.

Um diesem Text folgen zu können, werden Kenntnisse im Umgang mit Ansible und Git auf der Kommandozeile vorausgesetzt.

Der Text verweist, wo möglich, auf bestehende Dokumentation. Es handelt sich bei diesem Text nicht um ein klassisches Tutorial. Er dient mir als Gedächtnisstütze und mag euch eine Anregung sein, bzw. im besten Fall die Wissenslücken schließen, die sich mit der Dokumentation allein nicht schließen lassen.

Ausgangssituation

Abschnitt 18.4.5.1. Inventory sources im Automation Controller User Guide führt die in der Ansible Automation Platform (AAP) unterstützten Inventory Sources auf. Möchte man nun bspw. Proxmox Virtual Environment (PVE), Microsoft Active Directory oder Cisco DNA Center als Quelle für sein Inventar benutzen, wird man auf den ersten Blick nicht fündig.

Für das Beispiel in diesem Text werden Hosts aus der Bestandsliste eines PVE als Inventory Source hinzugefügt. Die dabei verwendete Vorgehensweise kann auch für andere Inventory Plugins verwendet werden. Die Entwicklung von Inventory Plugins ist jedoch nicht Gegenstand dieses Textes. Hierzu wird auf die Dokumentation unter „Developing dynamic inventory“ verwiesen.

Mein Kollege Steffen Scheib hat mir geholfen, das Proxmox-Plugin zu konfigurieren, wofür ich ihm an dieser Stelle nochmal ganz herzlich danke. Es liegt auf meiner Arbeitsstation als Ansible Project in folgender Verzeichnisstruktur vor:

]$ tree proxmox_inventory/
proxmox_inventory/
├── collections
│   └── requirements.yml
├── inventory
│   └── inventory.proxmox.yml
└── vault_password_file

3 directories, 3 files

Mit Ausnahme der Datei vault_password_file wurden alle Dateien und Verzeichnisse in Git aufgenommen. Ich verwende einen einfachen Git-Server in meiner Laborumgebung, auf welchen ich meine lokalen Repositorys pushe. Der Automation Controller synchronisiert das Projekt aus dem Git-Repo, um es als Inventory Source verfügbar zu machen.

Die Vorgehensweise im Überblick

  1. Ansible Credential für Source Control erstellen
  2. Ein Ansible Projekt hinzufügen
  3. Einen Custom Credential Type erstellen
  4. Ein Ansible Inventory hinzufügen

Ansible Credential für Source Control erstellen

Das Proxmox Inventory Plugin befindet sich in einem Git-Repository, auf welches mit SSH-Key-Authentifizierung zugegriffen werden kann. Damit auch der Automation Controller auf dieses Repository zugreifen kann, wird ein Credential vom Typ Source Control erstellt.

Beipsiel für einen Source Control Credential Typ im Ansible Automation Controller

Der SSH-Private-Key wurde von meinem Host hochgeladen und verschlüsselt im Automation Controller gespeichert. Der Key lässt sich in der GUI nicht wieder sichtbar machen, lediglich ersetzen.

Ein Ansible Projekt hinzufügen

Der Dokumentation folgend, wird ein Projekt hinzugefügt:

Beispiel einer ausgefüllten Maske im Automation Controller, zum Hinzufügen eines Projekts.

Wenn alles passt, wird das Projekt nach dem Speichern erfolgreich synchronisiert:

Dieses Projekt wird in einem späteren Schritt zur Erstellung des Inventory benötigt.

Einen Custom Credential Type erstellen

Bevor ich auf die Erstellung selbst eingehe, möchte ich kurz beschreiben, warum dieser Schritt notwendig ist.

Folgender Codeblock zeigt meine Datei inventory.proxmox.yml welche einige mit Ansible Vault verschlüsselte Werte enthält:

]$ cat inventory/inventory.proxmox.yml 
---
plugin: 'community.general.proxmox'
url: 'https://pve.example.com'
user: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          30623661316338386633623162303036346562346238386162633263636164636338393532613565
          3332616265353962326139363533313261623739643765640a623032613034613139653162356266
          34646464323233313964663939643631313539353736313364333433643136306632633065633664
          3234346635396563350a656334353632643830353534386636306365656261356436613662623163
          31663535363264356537336531393731633164613733316537383433653334643433
token_id: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          62356662336534646661353666356263363734666231643932393430336639363032303266636432
          3762343235633335613663393838343532326230353130380a616161313830373265306137346562
          61613662333764393565316362623838633332376366373161646237363163663039613863393439
          3165616664626633390a396465343430373837343662373634653634643138613131633034306432
          62623438366166353765366339323263393833396133653866343833663335663766
token_secret: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          66386338643463373837666164396332306261366634396630306430663937613963346164636433
          3362396566343932393234353439383932316436396437380a336365393038373566383534623136
          30353332383464356664393666383664636536666531663463623232353136353636363366653431
          3234616531623537630a393530643437376363653438643036636436316636616265316361623661
          35313832613063633662363531346164306638373538393164373663633335333863646430663232
          6339343164633865636239356538326438333937366134613738

validate_certs: false

# fail if a variable is not resolvable
strict: true

# facts are required to retrieve proxmox_vmtype
want_facts: true

# only allow qemu VMs
filters:
  - "proxmox_vmtype == 'qemu'"

Auf der Kommandozeile meines Hosts kann ich den Inhalt des Dynamic Inventory wie folgt anzeigen lassen:

ansible-inventory -i inventory/inventory.proxmox.yml --list --vault-password-file vault_password_file

Die Datei vault_password_file befindet sich jedoch nicht im Git, da sie das Passwort im Klartext enthält. Aus diesem Grund möchte ich die Datei auch nicht auf dem Automation Controller ablegen. Irgendwie müssen auf dem Automation Controller jedoch Credentials hinterlegt werden, um die Ansible Vault encrypted_strings zu entschlüsseln. Die Lösung steckt in diesem Kommentar auf Github. Im Automation Controller User Guide gibt es dazu Chapter 11. Custom credential types.

Fertig sieht das dann so aus:

Quelle: https://github.com/ansible/awx/issues/4089#issuecomment-1632066592

Das Schlüssel-Wert-Paar secret: true stellt sicher, dass das Passwort verschlüsselt gespeichert wird. Es kann danach im Automation Controller nicht mehr im Klartext angezeigt werden. Nachdem der neue Credential Typ erstellt ist, kann dieser instanziiert werden:

Beispiel des neuen Custom Credential Typs ‚encrypted_vault_password‘

Das Vault Passwort wird in das entsprechende Formularfeld kopiert. Es ist standardmäßig nicht sichtbar und wird wie oben bereits erwähnt, verschlüsselt gespeichert. Mit diesem Credential verfügt der Automation Controller nun über die notwendigen Informationen, um das Proxmox Inventory auszulesen.

Ein Ansible Inventory hinzufügen

Zuerst wird ein Inventory nach Dokumentation erstellt. Anschließend wird diesem eine Inventory Source hinzugefügt.

Die Formularfelder sind dabei wie folgt zu befüllen:

  • Name: Kann frei vergeben werden
  • Source: Sourced from a Project
  • Credential: Hier wird das im vorangegangenen Schritt erstellte Credential ausgewählt
  • Project: Hier wird das in obigen Abschnitt erstellte Projekt ausgewählt
  • Inventory file: Kann in diesem Fall auf `/ (project root)` gesetzt werden
Eine Inventory Source mit Proxmox als Beispiel

Nach dem Speichern wird die Inventory Source durch Klick auf ‚Sync‘ synchronisiert:

In dieser Ansicht wurde die Inventory Source bereits erfolgreich synchronisiert

Und wir haben 17 Hosts in unserem Inventory:

Damit endet dieser kurze Überblick auch schon. Ich wünsche euch viel Freude bei der Inventarpflege.

❌