Blaupausen sind Konfigurationen, die festlegen, wie Kodex Daten
lesen, analysieren, transformieren und schreiben soll.
Privacy & Security Engineering ist komplex: In einem typischen
Szenario möchten wir vielleicht Daten aus einer Vielzahl von
Quellen (z.B. einer Datenbank, Datei oder API) lesen und für
verschiedene Zwecke (z.B. Analyse oder Anomalieerkennung)
verarbeiten, die oft unterschiedliche Datentransformationen
erfordern. Möglicherweise möchten wir die Daten auch an
verschiedene Ziele senden (z.B. an eine Datenbank oder
Nachrichtenwarteschlange). Und schließlich möchten wir all dies
vielleicht kontinuierlich tun, während die Daten produziert
werden.
Um dies so einfach wie möglich zu machen, haben wir eine
deklarative und ausdrucksstarke Konfigurationssprache auf der Basis
von YAML-Dateien implementiert. Andere Systeme wie Kubernetes oder
Ansible haben gezeigt, dass Sammlungen von YAML-Dateien
leistungsfähige Werkzeuge für das Konfigurationsmanagement sein
können. Außerdem sind die Dateien einfach zu handhaben und können
wie jede andere Konfigurationsdatei versioniert werden.
Grundlagen der Blaupause
Eine Blaupause enthält im Wesentlichen mindestens vier
verschiedene Abschnitte: Aktionen, Quellen, Ziele und Streams.
Jeder Stream bezieht sich auf eine oder mehrere Quellen und enthält
eine oder mehrere Stream-Konfigurationen. Jede Stream-Konfiguration
bezieht sich auf eine oder mehrere Aktionen sowie auf ein oder
mehrere Ziele. Zusammen sagen diese Primitive dem Kodex, wie Daten
durch ihn fließen sollen und wie sie analysiert und transformiert
werden sollen.
Ausführen von Blaupausen
Sie können eine bestimmte Blaupause mit dem Befehl
run ausführen:
kodex run [blueprint name]
Wenn Sie den [blueprint name] weglassen, sucht
Kodex nach einer Datei mit dem Namen .blueprint.yml im
aktuellen Verzeichnis, um sie auszuführen. Andernfalls prüft Kodex
zunächst, ob Sie einen Dateispeicherort angegeben haben, und lädt
den Blueprint von dort, falls ja. Andernfalls geht Kodex alle
Verzeichnisse für Blaupausen durch (standardmäßig
~/.kodex/blueprints) und versucht, die von Ihnen
angegebene Blaupause zu finden. Wenn wir zum Beispiel Folgendes
ausführen
kodex run pseudonymization/examples/data-types/pseudonymize
Kodex wird versuchen, eine Blaupause mit dem Namen
pseudonymize.yml in einem Unterordner
pseudonymization/examples/data-types innerhalb eines
der angegebenen Blaupausenpfade zu finden. Es kann vorkommen, dass
Sie verschiedene Versionen eines Blueprints installiert haben.
Standardmäßig lädt Kodex die neueste Version, die es finden kann.
Wenn Sie das nicht möchten, können Sie mit dem Flag
--version eine Version angeben:
Mit Kodex können Sie Blaupausen aus so genannten Repositories
herunterladen und installieren. Um zum Beispiel unser offizielles
Blaupausen-Repository zu erhalten, führen Sie einfach
kodex blueprints download
Dadurch wird der neueste Schnappschuss des Hauptzweigs unseres
Blueprints-Repositorys
heruntergeladen und in ein lokales Verzeichnis installiert. Wenn
Sie die Blaupausen von einer anderen URL herunterladen möchten,
geben Sie sie einfach an:
Kodex sucht im ZIP-Archiv nach einem Verzeichnis mit einer
.blueprints.yml -Datei und entpackt dieses Verzeichnis
in den Hauptpfad für Blaupausen. Sie können natürlich auch eigene
lokale Blueprint-Repositories erstellen. Stellen Sie nur sicher,
dass Sie diese in einem Unterordner eines Blueprints-Pfads ablegen
und eine .blueprints.yml -Datei mit dem folgenden
Inhalt erstellen:
package:[your-package-name]# e.g. my-blueprintsversion:[your version]# e.g. 1.5.2
Blaupausen
Blaupausen sind Konfigurationen, die festlegen, wie Kodex Daten lesen, analysieren, transformieren und schreiben soll.
Privacy & Security Engineering ist komplex: In einem typischen Szenario möchten wir vielleicht Daten aus einer Vielzahl von Quellen (z.B. einer Datenbank, Datei oder API) lesen und für verschiedene Zwecke (z.B. Analyse oder Anomalieerkennung) verarbeiten, die oft unterschiedliche Datentransformationen erfordern. Möglicherweise möchten wir die Daten auch an verschiedene Ziele senden (z.B. an eine Datenbank oder Nachrichtenwarteschlange). Und schließlich möchten wir all dies vielleicht kontinuierlich tun, während die Daten produziert werden.
Um dies so einfach wie möglich zu machen, haben wir eine deklarative und ausdrucksstarke Konfigurationssprache auf der Basis von YAML-Dateien implementiert. Andere Systeme wie Kubernetes oder Ansible haben gezeigt, dass Sammlungen von YAML-Dateien leistungsfähige Werkzeuge für das Konfigurationsmanagement sein können. Außerdem sind die Dateien einfach zu handhaben und können wie jede andere Konfigurationsdatei versioniert werden.
Grundlagen der Blaupause
Eine Blaupause enthält im Wesentlichen mindestens vier verschiedene Abschnitte: Aktionen, Quellen, Ziele und Streams. Jeder Stream bezieht sich auf eine oder mehrere Quellen und enthält eine oder mehrere Stream-Konfigurationen. Jede Stream-Konfiguration bezieht sich auf eine oder mehrere Aktionen sowie auf ein oder mehrere Ziele. Zusammen sagen diese Primitive dem Kodex, wie Daten durch ihn fließen sollen und wie sie analysiert und transformiert werden sollen.
Ausführen von Blaupausen
Sie können eine bestimmte Blaupause mit dem Befehl
run
ausführen:Wenn Sie den
[blueprint name]
weglassen, sucht Kodex nach einer Datei mit dem Namen.blueprint.yml
im aktuellen Verzeichnis, um sie auszuführen. Andernfalls prüft Kodex zunächst, ob Sie einen Dateispeicherort angegeben haben, und lädt den Blueprint von dort, falls ja. Andernfalls geht Kodex alle Verzeichnisse für Blaupausen durch (standardmäßig~/.kodex/blueprints
) und versucht, die von Ihnen angegebene Blaupause zu finden. Wenn wir zum Beispiel Folgendes ausführenKodex wird versuchen, eine Blaupause mit dem Namen
pseudonymize.yml
in einem Unterordnerpseudonymization/examples/data-types
innerhalb eines der angegebenen Blaupausenpfade zu finden. Es kann vorkommen, dass Sie verschiedene Versionen eines Blueprints installiert haben. Standardmäßig lädt Kodex die neueste Version, die es finden kann. Wenn Sie das nicht möchten, können Sie mit dem Flag--version
eine Version angeben:Die Versionsnummern folgen der semantischen Versionsspezifikation (2.0).
Blueprint-Repositorien
Mit Kodex können Sie Blaupausen aus so genannten Repositories herunterladen und installieren. Um zum Beispiel unser offizielles Blaupausen-Repository zu erhalten, führen Sie einfach
Dadurch wird der neueste Schnappschuss des Hauptzweigs unseres Blueprints-Repositorys heruntergeladen und in ein lokales Verzeichnis installiert. Wenn Sie die Blaupausen von einer anderen URL herunterladen möchten, geben Sie sie einfach an:
Kodex sucht im ZIP-Archiv nach einem Verzeichnis mit einer
.blueprints.yml
-Datei und entpackt dieses Verzeichnis in den Hauptpfad für Blaupausen. Sie können natürlich auch eigene lokale Blueprint-Repositories erstellen. Stellen Sie nur sicher, dass Sie diese in einem Unterordner eines Blueprints-Pfads ablegen und eine.blueprints.yml
-Datei mit dem folgenden Inhalt erstellen: