Compose: benutzerspezifische Eigenschaften und/oder Speicherort von Metadaten (Autor, Beschreibung)

Erstellt am 17. Feb. 2016  ·  3Kommentare  ·  Quelle: docker/compose

Bei Dateien der Version 1 habe ich zwei Kommentare am Anfang der docker-compose-Datei:

# author: Anthon van der Neut <[email protected]>
# description: mongo container

die ich dann in dc2service mit ruamel.yaml entpacke und diese Informationen in die Servicedatei für Systemd/Upstart einfüge. Natürlich könnte ich dem YACF-Prinzip (Yet Another Configuration File) folgen, das so oft in Python-Projekten zu sehen ist, aber mit 1.6.0 und dem Dateiformat der Version 2.0 konnte ich es problemlos tun:

version: '2'
user-data:
  author: Anthon van der Neut <[email protected]>
  description: mongo container
services:
   .......

Leider beschwert sich docker-compose , dass user-data eine unerwartete zusätzliche Eigenschaft ist.

Für das Toplevel-Mapping in Version 2 schlage ich vor, dass wir einen oder mehrere für benutzerspezifische Daten reservierte Schlüssel erhalten, wobei die einzige Voraussetzung darin besteht, dass der entsprechende Wert ein gültiges YAML-Konstrukt ist, dh die gesamte Datei bleibt in YAML parsierbar. Dies könnte ein Schlüssel sein, mit der Empfehlung, dass sein entsprechender Wert eine Zuordnung ist (aus Flexibilitätsgründen), oder alternativ könnte docker-compose alle Schlüssel der obersten Ebene ignorieren, die ein bestimmtes Präfix haben ("user-data-")

Etwas Ähnliches wird zB in Container-Dateiformaten wie TIFF gemacht, um zusätzliche (herstellerspezifische) Informationen aufzunehmen. Der Name dieses Schlüssels sollte natürlich etwas sein, das in Docker-Compose sicherlich nicht verwendet wird, also "user-data", "non-dc-data".

Die Docker-Compose-Entwickler könnten dann immer Informationen auswählen, die sie für andere Projekte als nützlich erachten (hoffentlich wie mein Autor / meine Beschreibung) und entscheiden, dass sie unter einer anderen Eigenschaft eingefügt werden oder vielleicht sogar ihre eigene Toplevel-Eigenschaft rechtfertigen.

Hilfreichster Kommentar

Ich habe einige andere Probleme als Duplikate dieses Problems geschlossen.

Ich denke, wir sollten x-* Schlüssel auf der obersten Ebene in der nächsten Version der 2.x- und 3.x-Schemas zulassen

Alle 3 Kommentare

Ich denke, das überschneidet sich mit #1655 und #2578

Dies wäre besonders nützlich für Tools, die mit docker-compose.yml Dateien arbeiten.

Ich habe einige andere Probleme als Duplikate dieses Problems geschlossen.

Ich denke, wir sollten x-* Schlüssel auf der obersten Ebene in der nächsten Version der 2.x- und 3.x-Schemas zulassen

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen