Konfiguration mit YAML

An den Schalthebeln

In den letzten Jahren hat die Auszeichnungssprache YAML immer mehr an Popularität gewonnen und ist in vielen unterschiedlichen Bereichen die erste Wahl, wenn es um die Konfiguration von komplexen Umgebungen geht. Der Open-Source-Tipp in diesem Monat hilft Ihnen beim Einstieg in die Sprache und wirft auch einen Blick auf den YAML-Parser yq.
Sie sind das Fundament in jeder IT-Umgebung: Rechenzentren und Netzwerke. Und mit diesem Themenschwerpunkt läutet IT-Administrator das Jahr 2022 ein. Denn ... (mehr)

YAML [1] ist aus der DevOps-Welt nicht mehr wegzudenken. Tatsächlich ist es so, dass YAML eine Obermenge von JSON [2], JavaScript Object Notation, darstellt. Der Focus von JSON liegt dabei allerdings eher in der Serialisierung von Daten, also beispielsweise um diese über eine API zur Verfügung zu stellen.

Im Gegensatz dazu spielt YAML seine Stärken aus, wenn es als Konfigurationssprache zum Einsatz kommt, da das Format doch besser lesbar ist als JSON. Und Python-Programmierer lieben YAML sowieso, da im Gegensatz zu JSON keine Klammern zur Definition von Objekten zum Einsatz kommen, sondern stattdessen Einrückungen stattfinden.

Grundlegende YAML-Syntax

Listing 1 zeigt ein einfaches YAML-Dokument. Ein solches Dokument beginnt mit der Zeichenkette "---", wodurch eine Datei durchaus mehrere solcher Dokumente enthalten kann. Im Anschluss folgen typische Key/Value-Paare, die Sie wahrscheinlich schon von JSON kennen. Beim erstem Schlüsselpaar handelt es sich um einen einfachen Skalar mit einem String-Wert. Neben Strings sind natürlich auch Zahlen und Booleans zulässig. Im Anschluss folgt eine Liste, also ein Sammlung von Objekten. In diesem Fall kommen ausschließlich numerische Werte zum Einsatz, die jeweils mithilfe von Leerzeichen eingerückt sind.

Listing 1: YAML-Objekte



---
name: starwars-kollektion
erscheinungsjahr:
    - 1977
    - 1980
    - 1983
filme:
# An dieser Stelle werden lediglich Filme aus der Original-Trilogie (OT) aufgeführt.
    ot:
       - Episode IV – Eine neue Hoffnung
       - Episode V – Das Imperium schlägt zurück
       - "Episode VI – Die Rückkehr der Jedi-Ritter"

Auf Tabs sollten Sie wenn möglich verzichten, da diese immer wieder zu Problemen bei der Verarbeitung der Daten führen

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2022