CLI-Referenz¶
Diese Seite dokumentiert alle verfügbaren Polycrate-CLI-Befehle mit ihren Optionen und Parametern.
Grundlegende Befehle¶
polycrate version¶
Zeigt die aktuelle Version von Polycrate an.
polycrate help¶
Zeigt Hilfe zu Polycrate-Befehlen an.
polycrate update¶
Aktualisiert Polycrate auf die neueste Version.
Parameter:
version(optional) - Spezifische Version, auf die aktualisiert werden soll
Beispiel:
Workspace-Verwaltung¶
polycrate workspace¶
Verwaltet den Workspace.
polycrate workspace init¶
Initialisiert einen neuen Workspace.
Hinweis: Der Befehl muss im Zielverzeichnis ausgeführt werden. Alternativ kann der Pfad mit --workspace <pfad> übergeben werden.
polycrate workspace inspect¶
Zeigt detaillierte Informationen über den Workspace an.
polycrate workspace snapshot¶
Zeigt den aktuellen Workspace-Snapshot an.
Verwendung:
# Snapshot als YAML ausgeben
polycrate workspace snapshot
# Snapshot in Datei speichern
polycrate workspace snapshot > snapshot.yml
polycrate workspace encrypt¶
Verschlüsselt alle sensiblen Workspace-Dateien (secrets.poly und alle Dateien in artifacts/secrets/) mit age-Verschlüsselung.
Key-Quellen (in Prioritätsreihenfolge):
- Polycrate API (automatisch wenn
api.enabled: true) WORKSPACE_ENCRYPTION_KEYUmgebungsvariable- Interaktiver Prompt
Beispiele:
# Mit API (automatisch)
polycrate workspace encrypt
# Mit Umgebungsvariable
export WORKSPACE_ENCRYPTION_KEY="AGE-SECRET-KEY-..."
polycrate workspace encrypt
Mehr erfahren
Siehe Workspace-Verschlüsselung für ausführliche Dokumentation.
polycrate workspace decrypt¶
Entschlüsselt alle verschlüsselten Workspace-Dateien (alle .age-Dateien in secrets.poly.age und artifacts/secrets/**/*.age).
Beispiel:
Mehr erfahren
Siehe Workspace-Verschlüsselung für ausführliche Dokumentation.
polycrate workspace status¶
Zeigt den umfassenden Verschlüsselungsstatus des Workspace an, einschließlich Key-Verfügbarkeit, Datei-Status, Git-Status und Empfehlungen.
Zeigt an:
- Key-Status und Quelle (API, ENV, oder nicht verfügbar)
- Verschlüsselte und unverschlüsselte Dateien
- .gitignore-Schutzstatus
- Git-Repository-Informationen (Branch, Commit, Remote-Status)
- Sicherheitsempfehlungen
Beispiel:
polycrate workspace status
# Ausgabe:
# Workspace: https://polycrate.example.com/workspaces/abc123
# 🔑 Key Status: ✅ Key available
# 📁 File Status: 4 encrypted files
# 🔒 Security Status: ✅ All checks passed
Mehr erfahren
Siehe Workspace-Verschlüsselung für ausführliche Dokumentation.
polycrate workspace update¶
Aktualisiert Workspace-Dependencies.
polycrate workspace list¶
Listet Workspaces aus der Polycrate API (Standard) oder aus dem lokalen Workspace-Verzeichnis auf.
# API-Workspaces (Standard, oder Fallback auf lokal wenn keine API)
polycrate workspace list
# Explizit lokale Workspaces
polycrate workspace list --local
# Mit Vorfilter
polycrate workspace list --filter production
# Tabellenausgabe ohne TUI
polycrate workspace list --no-pager
# Detaillierte Tabellenausgabe (lokal)
polycrate workspace list --local --no-pager -v
Optionen:
| Flag | Kurzform | Beschreibung |
|---|---|---|
--local | -l | Zeigt lokale Workspaces statt API-Workspaces |
--filter | -f | Filtert Workspaces nach Name oder Organisation |
--no-pager | Deaktiviert TUI, zeigt Tabelle | |
--verbose | -v | Zeigt detaillierte Informationen (nur mit --no-pager) |
Modus-Entscheidung:
--local=true→ Lokale Workspaces aus~/.polycrate/workspaces/--local=false(Standard):- API konfiguriert → Workspaces aus der Polycrate API
- API nicht konfiguriert → Automatischer Fallback auf lokal
TUI-Navigation:
| Taste | Aktion |
|---|---|
↑/↓ oder j/k | Navigation |
| Enter | Workspace auswählen → Action-Menü |
| Tippen | Filter-Suche |
q oder Esc | Beenden |
Action-Menü (Remote/API):
open– Workspace in der Polycrate UI öffnen (Browser)gitlab– GitLab-Repository im Browser öffnenclone– Repository lokal klonen
Action-Menü (Lokal):
open– Workspace-Details und Pfad anzeigenstatus– Workspace-Status abrufengit-sync– Git-Änderungen synchronisieren
polycrate workspace changelog¶
Zeigt das Workspace-Changelog in einer interaktiven TUI an.
# Interaktive TUI
polycrate workspace changelog
# Changelog-Format anzeigen (für LLMs)
polycrate workspace changelog --spec
# Ohne TUI
polycrate workspace changelog --no-tui
Optionen:
| Flag | Beschreibung |
|---|---|
--spec | Zeigt das erwartete CHANGELOG.poly-Format an |
--no-tui | Zeigt Changelog als Text statt TUI |
Das Changelog wird aus CHANGELOG.poly im Workspace-Root gelesen.
Workspace Git-Aliase¶
Diese Commands sind Aliase für die entsprechenden polycrate git * Commands und ermöglichen eine intuitivere UX, bei der alle Workspace-bezogenen Operationen unter polycrate workspace verfügbar sind.
polycrate workspace pull¶
Pullt Änderungen vom Remote-Repository. Alias für polycrate git pull.
polycrate workspace push¶
Pusht Commits zum Remote-Repository. Alias für polycrate git push.
polycrate workspace sync¶
Automatischer Sync-Workflow: Stage → Commit → Pull → Push. Alias für polycrate git sync.
Ablauf:
- Prüft auf uncommitted Changes → Auto-Commit
- Fetch vom Remote
- Pull bei Remote-Änderungen
- Push lokaler Commits
Empfohlen für den täglichen Workflow
polycrate workspace sync ist der einfachste Weg, einen Workspace mit dem Remote-Repository synchron zu halten.
polycrate workspace add¶
Stagt Dateien für den nächsten Commit. Alias für polycrate git add.
polycrate workspace add file.txt
polycrate workspace add blocks/my-block/
polycrate workspace add --all
polycrate workspace commit¶
Erstellt einen Commit. Alias für polycrate git commit.
Ohne -m Flag wird interaktiv nach der Commit-Message gefragt.
Block-Verwaltung¶
polycrate block¶
Verwaltet Blocks im Workspace.
polycrate block list¶
Listet alle Blocks im Workspace auf.
Beispiel:
polycrate block init¶
Initialisiert einen neuen Block eines spezifischen Typs.
Optionen:
--kind <kind>- Art des Blocks (z.B. ansible, script)
Beispiel:
polycrate block inspect¶
Zeigt detaillierte Informationen über einen Block an.
Beispiel:
polycrate blocks pull¶
Lädt einen Block aus der Registry herunter.
Parameter:
registry/path/block-name- Vollständiger Registry-Pfad zum Block (Pflicht)version- Version des Blocks (Pflicht, oderlatest)
Vollständiger Registry-Pfad erforderlich
Kurznamen wie ayedo/k8s/cluster funktionieren nicht. Polycrate interpretiert sie als lokale Blocks. Verwenden Sie immer den vollständigen Pfad inkl. Registry-Hostname.
Beispiele:
# Von cargo.ayedo.cloud pullen
polycrate blocks pull cargo.ayedo.cloud/ayedo/k8s/cloudnative-pg:1.2.0
# Von eigener Registry pullen
polycrate blocks pull registry.my-org.com/infra/postgres:1.0.0
# Neueste Version
polycrate blocks pull cargo.ayedo.cloud/ayedo/k8s/victoria-metrics-stack:latest
polycrate blocks push¶
Lädt einen Block in die Registry hoch.
Parameter:
block-name- Name des Blocks (kann Registry-URL enthalten)
Hinweis: Beim Pushen eines Blocks wird die Version aus der block.poly automatisch als Tag verwendet. Geben Sie kein Tag im Block-Namen an.
Beispiele:
# Block zum Standard-Registry pushen
polycrate block push ayedo/k8s/cluster
# Zu custom Registry pushen
polycrate block push my.registry.com/my-org/my-block
polycrate block readme¶
Zeigt die README-Datei eines Blocks an.
Beispiel:
polycrate block validate¶
Validiert die Konfiguration eines Blocks.
Beispiel:
polycrate block changelog¶
Zeigt das Changelog eines Blocks in einer interaktiven TUI an.
# Interaktive TUI
polycrate block changelog <block-name>
# Changelog-Format anzeigen
polycrate block changelog <block-name> --spec
# Ohne TUI
polycrate block changelog <block-name> --no-tui
Optionen:
| Flag | Beschreibung |
|---|---|
--spec | Zeigt das erwartete CHANGELOG.poly-Format an |
--no-tui | Zeigt Changelog als Text statt TUI |
Beispiel:
Das Changelog wird aus CHANGELOG.poly im Block-Verzeichnis gelesen.
Action-Verwaltung¶
polycrate run¶
Führt eine Action oder einen Workflow aus.
Optionen:
-f, --force- Bestätigt alle Prompts automatisch-l, --local- Führt die Action lokal aus (ohne Container)-i, --interactive- Macht den Container interaktiv-b, --build- Baut ein Custom Image aus dem Workspace Dockerfile.poly (Standard: true)-p, --pull- Pullt das Workspace Image vor der Ausführung (Standard: true)-e, --env <KEY=value>- Zusätzliche Umgebungsvariablen-m, --mount <host:container>- Zusätzliche Mounts für den Container--snapshot- Zeigt nur den Workspace-Snapshot an, führt nichts aus
Beispiele:
# Action ausführen
polycrate run my-block install
# Mit force flag (keine Prompts)
polycrate run my-block install --force
# Lokal ausführen (ohne Container)
polycrate run my-block install --local
# Mit zusätzlichen Umgebungsvariablen
polycrate run my-block deploy -e ENV=prod -e REGION=eu-west-1
# Nur Snapshot anzeigen
polycrate run my-block install --snapshot
polycrate install¶
Führt die install Action eines Blocks aus.
Beispiel:
polycrate uninstall¶
Führt die uninstall Action eines Blocks aus.
Beispiel:
polycrate prune¶
Führt die prune Action eines Blocks aus (typischerweise zum Aufräumen von Artefakten).
Beispiel:
polycrate action¶
Verwaltet Actions.
polycrate action list¶
Listet alle verfügbaren Actions im Workspace auf.
polycrate action inspect¶
Zeigt detaillierte Informationen über eine Action an.
Beispiel:
polycrate action run¶
Führt eine Action aus (identisch mit polycrate run).
Workflow-Verwaltung¶
polycrate workflow¶
Verwaltet Workflows.
polycrate workflow list¶
Listet alle verfügbaren Workflows im Workspace auf.
polycrate workflow inspect¶
Zeigt detaillierte Informationen über einen Workflow an.
Beispiel:
polycrate workflow run¶
Führt einen Workflow aus.
Optionen: Identisch mit polycrate run
Beispiel:
PolyHub-Integration¶
polycrate hub¶
Interagiert mit dem Polycrate Hub.
polycrate hub list¶
Listet alle Blöcke im Hub mit interaktiver TUI.
# Interaktive TUI (Standard)
polycrate hub list
# Mit Filter
polycrate hub list --filter postgres
# Nach Kind filtern
polycrate hub list --kind k8sapp
# Tabellenausgabe ohne TUI
polycrate hub list --no-tui
Optionen:
| Flag | Beschreibung |
|---|---|
-f, --filter | Filtert Blöcke nach Name |
-k, --kind | Filtert nach Block-Typ (k8sapp, linuxapp, etc.) |
-p, --project | Filtert nach Projekt (Standard: ayedo) |
-l, --limit | Maximale Anzahl Ergebnisse (Standard: 100) |
--no-tui | Deaktiviert TUI, zeigt Tabelle |
TUI-Navigation:
| Taste | Aktion |
|---|---|
↑/↓ oder j/k | Navigation |
| Enter | Block auswählen → Action-Menü |
| Tippen | Filter-Suche |
q oder Esc | Beenden |
Action-Menü nach Auswahl:
view-versions– Alle Versionen anzeigenview-block– block.poly anzeigenview-readme– README anzeigencopy-name– Block-Name zum Kopieren
polycrate hub inspect¶
Zeigt Informationen über einen Block im PolyHub an.
Optionen:
| Flag | Beschreibung |
|---|---|
--readme | Zeigt README statt block.poly |
--changelog | Zeigt Changelog statt block.poly |
Beispiele:
polycrate hub inspect ayedo/k8s/cluster
polycrate hub inspect postgres-base --readme
polycrate hub inspect postgres-base:1.2.0
API-Integration¶
polycrate api¶
Zeigt API-Informationen an.
Optionen:
--api-enabled- Aktiviert API-Integration--api-url <url>- API-URL (Standard:https://hub.polycrate.io)--api-api-key <key>- API-Key für Authentifizierung--api-submit-action-runs- Sendet Action-Ergebnisse an API (Standard: true)
Container-Debugging¶
polycrate debug¶
Startet eine interaktive Debug-Shell im Polycrate-Container mit der gleichen Konfiguration wie bei einem Action Run.
Beschreibung:
Der debug Befehl startet den Polycrate-Container mit allen Mounts, Environment-Variablen und Netzwerk-Konfiguration wie bei einem normalen Action Run, öffnet aber statt einer Action auszuführen eine interaktive Bash-Shell.
Optionen:
| Flag | Standard | Beschreibung |
|---|---|---|
-w, --workspace | $PWD | Workspace-Pfad |
-m, --mount | [] | Zusätzliche Mounts |
-e, --env | [] | Zusätzliche Environment-Variablen |
-p, --pull | true | Image vor Start pullen |
-b, --build | true | Custom Image bauen (falls Dockerfile.poly existiert) |
-N, --docker-native | false | Native Docker SDK verwenden |
Beispiele:
# Debug-Container im aktuellen Workspace starten
polycrate debug
# Mit explizitem Workspace-Pfad
polycrate debug -w /path/to/workspace
# Mit zusätzlichen Mounts
polycrate debug -m /local/path:/container/path
# Mit zusätzlichen Environment-Variablen
polycrate debug -e MY_VAR=value
# Mit Native Docker Mode
polycrate -N debug
Ausgabe:
$ polycrate debug
✓ Pulling image cargo.ayedo.cloud/library/polycrate:0.28.0
Starting debug container: polycrate-debug-a1b2c3d4
Workspace: /home/user/my-workspace
Image: cargo.ayedo.cloud/library/polycrate:0.28.0
Type 'exit' to leave the container
root@polycrate:/workspace# kubectl get pods -A
root@polycrate:/workspace# exit
$
Use Cases:
- Playbook-Debugging: Ansible-Playbooks manuell ausführen und testen
- Environment-Inspektion: Prüfen welche Variablen im Container gesetzt sind
- Pfad-Validierung: Überprüfen ob Mounts korrekt ankommen
- Tool-Verfügbarkeit: Testen ob benötigte Tools im Image vorhanden sind
- Netzwerk-Debugging: Netzwerkverbindungen aus dem Container testen
Mehr erfahren
Siehe Der Polycrate Container für ausführliche Dokumentation.
Kubernetes¶
polycrate k8s debug¶
Startet einen Debug-Pod im Kubernetes-Cluster mit dem Polycrate-Image und verbindet sich automatisch.
Beschreibung:
Der k8s debug Befehl erstellt temporär:
- Einen ServiceAccount
polycrate-admin(falls nicht vorhanden) - Ein ClusterRoleBinding mit
cluster-adminRechten - Einen Debug-Pod mit dem Polycrate-Image
Nach Beenden der Shell wird der Pod automatisch gelöscht.
Optionen:
| Flag | Standard | Beschreibung |
|---|---|---|
-n, --namespace | kube-system | Namespace für den Debug-Pod |
Voraussetzungen:
- Gültiger Workspace mit Kubeconfig (
kubeconfig.ymloderartifacts/secrets/kubeconfig.yml) - Cluster-Admin-Berechtigung zum Erstellen von ServiceAccounts und ClusterRoleBindings
Beispiele:
# Debug-Pod in kube-system starten
polycrate k8s debug
# Debug-Pod in anderem Namespace
polycrate k8s debug -n default
# Mit explizitem Workspace
polycrate k8s debug -w /path/to/workspace
Ablauf:
$ polycrate k8s debug
INFO Starting debug pod polycrate-debug-1701234567 in namespace kube-system
INFO Creating service account polycrate-admin in namespace kube-system
INFO Creating cluster role binding polycrate-admin-cluster-admin
INFO Pod polycrate-debug-1701234567 created, waiting for it to be ready...
INFO Pod is running, attaching...
# Jetzt in der interaktiven Shell im Cluster:
bash-5.1# kubectl get pods -A
bash-5.1# helm list -A
bash-5.1# exit
INFO Debug session ended
INFO Cleaning up debug pod polycrate-debug-1701234567...
INFO Debug pod deleted
Use Cases:
- Cluster-Debugging: Direkter Zugriff auf den Cluster mit allen Polycrate-Tools
- Netzwerk-Tests: Testen von Service-Konnektivität innerhalb des Clusters
- Helm/Kubectl: Ausführen von Helm- oder Kubectl-Befehlen im Cluster-Kontext
- Log-Analyse: Zugriff auf Logs und Ressourcen ohne lokale Kubeconfig
Sicherheitshinweis
Der Debug-Pod hat cluster-admin Rechte. Nutzen Sie diesen Befehl nur in vertrauenswürdigen Umgebungen.
Git-Integration¶
Native Git-Integration ohne externe Git-Installation (basiert auf go-git).
Ausführliche Dokumentation
Siehe Git-Integration für vollständige Dokumentation und Beispiele.
polycrate git status¶
Zeigt den Git-Status des Workspace-Repositories.
Farbcodierung:
new:(grün) – Neue Dateimodified:(gelb) – Geänderte Dateideleted:(rot) – Gelöschte Dateirenamed:/copied:(cyan) – Umbenannte/Kopierte Datei
polycrate git add¶
Stagt Dateien für den nächsten Commit.
# Einzelne Datei
polycrate git add <datei>
# Alle Änderungen
polycrate git add --all
polycrate git add -a
polycrate git commit¶
Erstellt einen neuen Commit.
polycrate git push¶
Pusht Commits zum Remote-Repository.
polycrate git pull¶
Pullt Änderungen vom Remote-Repository. Prüft vorher auf Konflikte.
polycrate git sync¶
Automatischer Sync-Workflow: Stage → Commit → Pull → Push.
Ablauf:
- Alle Änderungen stagen
- Automatischer Commit
- Remote-Änderungen pullen
- Lokale Commits pushen
Operator¶
Der Polycrate Operator ermöglicht automatisiertes Multi-Tenant-Management über Keycloak, GitLab, Harbor, ArgoCD und Kubernetes Cluster.
Ausführliche Dokumentation
Siehe Polycrate Operator für vollständige Dokumentation und CRD-Beispiele.
polycrate operator crds¶
Gibt CRD-Definitionen für die Installation aus.
# Alle CRDs ausgeben
polycrate operator crds
# Bestimmten CRD-Typ ausgeben
polycrate operator crds --kind Organization
# CRDs in Dateien speichern
polycrate operator crds --output-dir ./crds/
# Nur CRD-Namen auflisten
polycrate operator crds --list
Optionen:
| Flag | Beschreibung |
|---|---|
--kind | Filtert nach CRD-Typ (z.B. Organization, Contact) |
--output-dir | Speichert CRDs als einzelne Dateien |
--list | Listet nur verfügbare CRD-Namen auf |
polycrate operator install-crds¶
Installiert alle Operator-CRDs direkt ins Kubernetes Cluster.
# Mit Standard-Kubeconfig
polycrate operator install-crds
# Mit spezifischer Kubeconfig
polycrate operator install-crds --kubeconfig ~/.kube/admin.yaml
# Dry-run (zeigt was installiert würde)
polycrate operator install-crds --dry-run
Optionen:
| Flag | Beschreibung |
|---|---|
--kubeconfig | Pfad zur Kubeconfig-Datei |
--dry-run | Zeigt was installiert würde, ohne zu installieren |
Ausgabe:
Installing Polycrate Operator CRDs
==================================
Cluster: https://kubernetes.example.com:6443
✓ softwaredeliveryplatforms.polycrate.io: created
✓ organizations.polycrate.io: created
✓ contactgroups.polycrate.io: created
✓ contacts.polycrate.io: created
✓ gitlabgroups.polycrate.io: created
✓ harborprojects.polycrate.io: created
✓ argocdprojects.polycrate.io: created
✓ k8sclusters.polycrate.io: created
✓ operatorconfigs.polycrate.io: created
Summary: 9 installed, 0 updated, 0 failed
polycrate operator run¶
Startet den Polycrate Operator.
# Lokal mit Kubeconfig
polycrate operator run --kubeconfig ~/.kube/config
# Mit Leader Election (für HA-Deployments)
polycrate operator run --leader-elect
# Mit Metrics aktiviert
polycrate operator run --metrics-bind-address :8080
Optionen:
| Flag | Standard | Beschreibung |
|---|---|---|
--kubeconfig | $KUBECONFIG oder ~/.kube/config | Pfad zur Kubeconfig |
--leader-elect | false | Leader Election für HA aktivieren |
--metrics-bind-address | :8080 | Metrics Endpoint |
--health-probe-bind-address | :8081 | Health Probe Endpoint |
Endpoints:
| Endpoint | Beschreibung |
|---|---|
:8080/metrics | Prometheus Metrics |
:8081/healthz | Liveness Probe |
:8081/readyz | Readiness Probe |
polycrate operator health¶
Prüft den Health-Status eines laufenden Operators.
# Lokalen Operator prüfen (Standard: localhost:8081)
polycrate operator health
# Remote-Operator prüfen
polycrate operator health --url http://polycrate-operator.polycrate:8081
Optionen:
| Flag | Standard | Beschreibung |
|---|---|---|
--url | http://localhost:8081 | URL des Operator Health-Endpoints |
Ausgabe:
Polycrate Operator Health Check
================================
URL: http://localhost:8081
✓ Liveness (healthz): OK
✓ Readiness (readyz): OK
Status: HEALTHY
polycrate operator status¶
Zeigt den Status aller Operator Custom Resources im Cluster.
# Status aller Ressourcen anzeigen
polycrate operator status
# Mit spezifischer Kubeconfig
polycrate operator status --kubeconfig ~/.kube/config
Optionen:
| Flag | Beschreibung |
|---|---|
--kubeconfig | Pfad zur Kubeconfig-Datei |
Ausgabe:
Polycrate Operator Status
=========================
Cluster: https://kubernetes.example.com:6443
SoftwareDeliveryPlatforms
-------------------------
NAME NAMESPACE PHASE KEYCLOAK GITLAB HARBOR ARGOCD
production polycrate Ready ✓ ✓ ✓ ✓
Organizations
-------------
NAME NAMESPACE SDP PHASE
acme-corp polycrate production Ready
ContactGroups
-------------
NAME NAMESPACE SDP(s) PHASE
platform-admins polycrate [production] Ready
Contacts
--------
NAME NAMESPACE EMAIL ORGANIZATIONS PHASE
john-doe polycrate john.doe@example.com acme-corp Ready
K8sClusters
-----------
NAME NAMESPACE API SERVER PHASE K8S VERSION
production-cluster polycrate https://api.prod.example.com:6443 Connected 1.28.4
Weitere Befehle¶
polycrate checksum¶
Berechnet die MD5-Checksumme eines Verzeichnisses.
Beispiel:
polycrate completion¶
Generiert Autocompletion-Skripte für verschiedene Shells. Polycrate unterstützt dynamische Completion, d.h. kontextabhängige Vorschläge wie z.B. verfügbare SSH-Hosts.
Unterstützte Shells:
- bash
- zsh
- fish
- powershell
Einrichtung:
Features:
- Command-Completion: Alle Polycrate-Befehle und Flags
- SSH-Host-Completion:
polycrate ssh <TAB>zeigt verfügbare Hosts aus dem Inventory - Block-Completion: Block-Namen werden vorgeschlagen
Beispiel:
polycrate ssh <TAB>
# web-1 ubuntu@192.168.1.10
# web-2 ubuntu@192.168.1.11
# db-1 postgres@192.168.1.20
Shell neu laden
Nach der Installation der Completion-Skripte muss die Shell neu gestartet werden: exec $SHELL
Globale Flags¶
Diese Flags können mit jedem Befehl verwendet werden:
Docker & Container¶
-N, --docker-native- Native Docker SDK statt Docker CLI verwenden (experimentell)--no-pager- Deaktiviert den interaktiven TUI-Pager für Output--non-interactive- Erzwingt nicht-interaktiven Modus (überspringt alle Prompts)
Workspace-Konfiguration¶
-w, --workspace <path>- Pfad zum Workspace (Standard:$PWD)--workspace-config <file>- Name der Workspace-Config-Datei (Standard:workspace.poly)--workspace-dir <path>- Pfad zum Workspaces-Verzeichnis (Standard:~/.polycrate/workspaces)
Block-Konfiguration¶
--blocks-root <path>- Blocks-Root-Verzeichnis (Standard:blocks)--blocks-config <file>- Name der Block-Config-Datei (Standard:block.poly)--blocks-auto-pull- Automatisches Pullen fehlender Blocks (Standard: false)
Container-Konfiguration¶
--image-ref <ref>- Workspace-Image-Referenz (Standard:cargo.ayedo.cloud/library/polycrate)--image-version <version>- Workspace-Image-Version (Standard:latest)--dockerfile <file>- Workspace-Dockerfile (Standard:Dockerfile.poly)--container-root <path>- Container-Root-Verzeichnis (Standard:/workspace)
Artefakte¶
--artifacts-root <path>- Artefakte-Root-Verzeichnis (Standard:artifacts)--workflows-root <path>- Workflows-Root-Verzeichnis (Standard:workflows)
SSH-Konfiguration¶
--ssh-private-key <file>- SSH-Private-Key (Standard:id_rsa)--ssh-public-key <file>- SSH-Public-Key (Standard:id_rsa.pub)--ssh-use-passphrase- Aktiviert SSH-Key-Passphrase-Support ⚠️ Experimental
Registry-Konfiguration¶
--registry-url <url>- URL der OCI-Registry (Standard:cargo.ayedo.cloud)--registry-base-image <image>- Base-Image für Block-Packaging (Standard:cargo.ayedo.cloud/library/scratch:latest)
PolyHub-Konfiguration¶
--hub-url <url>- URL des PolyHub (Standard:https://hub.polycrate.io)--hub-username <username>- PolyHub-Benutzername--hub-password <password>- PolyHub-Passwort--hub-api-key <key>- PolyHub-API-Key
Entwicklung und Debugging¶
--dev- Entwicklungsmodus für Blocks--loglevel <level>- Log-Level (Standard: 1)--logformat <format>- Log-Format (json/yaml/default)--merge-debug- Merge-Debugging aktivieren--merge-v2- Merge v2 verwenden--validate-block-config- Block-Konfiguration validieren
Weitere Flags¶
-o, --output-format <format>- Output-Format (Standard: yaml)--auto-commit- Automatisches Commit des Workspace vor/nach Action-Ausführung--check-updates- Prüft beim Start auf Updates--config-dir <path>- Pfad zum Config-Verzeichnis (Standard:~/.polycrate)--config-file <path>- Pfad zur Config-Datei (Standard:~/.polycrate/polycrate.yml)--editor <editor>- Editor zum Öffnen des Workspace (Standard:code)--kubeconfig <path>- Pfad zur globalen Kubeconfig (Standard:~/.kube/config)--remote-root <path>- Remote-Root für Remote-Hosts (Standard:/polycrate)--runtime-dir <path>- Pfad zum Runtime-Verzeichnis (Standard:~/.polycrate/run)
Tools¶
Die polycrate tools-Sammlung bietet nützliche Hilfswerkzeuge für Entwicklung und Operations.
polycrate tools¶
Zeigt einen interaktiven Selector zur Auswahl eines Tools an.
Verfügbare Tools¶
| Tool | Beschreibung |
|---|---|
base64 | Base64 Encoding/Decoding (Standard und URL-safe) |
cert | X.509 Zertifikate inspizieren (remote oder lokal) |
check | TCP/HTTP Connectivity-Checks mit Statistiken |
cidr | CIDR-Netzwerk-Rechner und Subnet-Tool |
diff | Semantischer Diff für YAML/JSON-Dateien |
dns | DNS-Lookups mit Timing und Diagnostik |
hash | Checksummen berechnen (MD5, SHA256, SHA512) |
jwt | JWT-Tokens dekodieren und inspizieren |
pwgen | Sichere Passwörter und Hashes generieren |
timestamp | Unix-Timestamps konvertieren |
wait | Auf Services warten (für CI/CD-Pipelines) |
Beispiele¶
# Passwort generieren
polycrate tools pwgen
polycrate tools pwgen 32 -s # 32 Zeichen mit Sonderzeichen
# Auf Datenbank warten
polycrate tools wait tcp://db:5432 -t 60
# Zertifikat prüfen
polycrate tools cert google.com
polycrate tools cert cert.pem -k key.pem
# DNS-Lookup
polycrate tools dns -t MX gmail.com
# YAML/JSON vergleichen
polycrate tools diff old.yaml new.yaml
# Checksum verifizieren
polycrate tools hash -v "abc123..." downloaded.tar.gz
Für detaillierte Hilfe zu jedem Tool: