Registry
Registry
Polycrate-Blöcke können in ein OCI-kompatibles Registry gepusht und gepullt werden. Als Standardregister verwendet Polycrate cargo.ayedo.cloud, um Blöcke zu erhalten oder dorthin zu pushen.
Sie können Ihr eigenes Register festlegen, indem Sie --registry-url
verwenden und auf Ihr OCI-kompatibles Register verweisen oder einfach die Register-URL im Namen des Blocks angeben, genau wie bei Docker.
Polycrate implementiert keine Authentifizierung mit dem Register, sondern nutzt stattdessen Ihren lokalen Docker Credential Helper. Um sich bei einem Register zu authentifizieren, führen Sie
docker login $REGISTRY_URL
aus, bevor Sie Blöcke pushen oder pullen.
Blöcke pullen
Um Blöcke dynamisch aus dem Register zum Arbeitsbereich hinzuzufügen, können Sie
polycrate pull $BLOCK_NAME:$BLOCK_VERSION
ausführen. Wenn $BLOCK_VERSION
nicht definiert ist, wird “latest” angenommen.
Blöcke können durch Ausführung von
polycrate block uninstall BLOCK1
aus dem Arbeitsbereich deinstalliert oder einfach durch Löschen des Blockverzeichnisses entfernt werden. Wenn Sie ein benutzerdefiniertes Registry verwenden möchten, beziehen Sie sich darauf, wenn Sie Blöcke pullen oder sie zu den Arbeitsbereichsabhängigkeiten hinzufügen:
polycrate block pull index.docker.io/my-block
Blöcke pushen
Um einen Block in ein OCI-kompatibles Registry zu pushen, führen Sie den folgenden Befehl aus:
polycrate block push $BLOCK_NAME
Enthält der Blockname keine gültige Registry-URL, wird ein Standardregister verwendet. Ein benutzerdefiniertes Registry kann als Ziel verwendet werden, indem man dem Block einen entsprechenden Namen gibt, wie: my.registry.com/block/name
.
Polycrate wird die Registry-URL aus dem Namen des Blocks ermitteln.
Hinweis
Beim Pushen eines Blocks lassen Sie das Tag (das nach dem Doppelpunkt kommt) weg, da Polycrate automatisch die in dem jeweiligen block.poly definierte Version zum Bild hinzufügt.
Block directory
Das Blockdirectory ist das Verzeichnis, das den benutzerdefinierten Code und die block.poly-Datei eines Blocks unterhalb des Block-Roots enthält.
Hinweis
Der Name des Blockverzeichnisses sollte nach Konvention dem Namen entsprechen, den Sie in der Name-Stanza dieses Blocks festgelegt haben.
Blockkonfiguration
Die Blockkonfiguration (default: block.poly
) enthält die Konfiguration für einen einzelnen Block und muss im Blockdirectory abgelegt sein.
block.poly
name: custom-block
config:
baz:
foo: bar
actions:
install:
script:
- echo "Install"
uninstall:
script:
- echo "Uninstall"
Die Konfigurations-Stanza der Blockkonfiguration ist frei formbar und nicht typisiert. Sie können sie verwenden, um die Konfigurationsstruktur Ihres Blocks nach Ihren Bedürfnissen zu definieren.
Hinweis
Blocknamen sind auf bestimmte Zeichen beschränkt: ^[a-zA-Z]+([-/]?[a-zA-Z0-9]+)+$
.
Diese Einschränkung gilt für ALLE Namensangaben in Polycrate.