Polycrate API 0.13.0 released: Pricing & Business Layer, RocketChat Integration
Polycrate API 0.13.0 loest Baserow als Pricing-Backend ab, integriert RocketChat fuer automatisches …
polycrate run-Ausführung automatisch als „Action Run“ – inklusive Block, Action, Exit-Code, Zeitpunkt, Dauer, CLI-Version, Hostname und OS-User.~/.polycrate/polycrate.yml sendet die Polycrate CLI diese Action Runs an die Polycrate API – ohne zusätzliches Logging- oder Audit-Tooling.„Wer hat am Freitag Abend die Production-Datenbank neu gestartet?“
„Wann ist Version 1.4.3 wirklich in Produktion angekommen?“
„Welche Änderungen wurden vor dem Incident gestern Nacht ausgeführt?“
Diese Fragen kennen nicht nur DevOps-Teams. Auch:
müssen sie regelmäßig beantworten – oft unter Zeitdruck, häufig gegenüber Revision, Datenschutz oder Geschäftsführung.
Mit plain Ansible ist das möglich, aber selten bequem:
Polycrate geht hier einen anderen Weg: Jede polycrate run-Ausführung ist automatisch ein „Action Run“, der – sofern konfiguriert – an die Polycrate API gemeldet und dort (Weboberfläche/API) sichtbar wird. Ohne extra Setup, ohne eigenes Logging-Backend.
Gleichzeitig bleibt das, was Polycrate stark macht, unverändert:
In diesem Beitrag schauen wir uns Action Runs im Detail an – von der Konfiguration über die geloggten Felder bis zum Remote-Re-Triggering.
Ein Action Run ist der technische Datensatz zu einer konkreten Ausführung von:
polycrate run BLOCK ACTIONImmer wenn Sie eine Action starten – egal ob von Ihrem Laptop, einem CI-Runner oder einem Bastel-VM – erstellt die Polycrate CLI intern ein Action-Run-Objekt. Dieses enthält u.a.:
Optional sendet die CLI dieses Objekt an die Polycrate API, die es speichert und in der Weboberfläche bzw. über die API bereitstellt.
Wichtig:
Diese Erfassung ist vollständig unabhängig von Ihrem Ansible-Playbook. Egal ob Sie Linux-Server patchen, Windows-Dienste verwalten oder einen Kubernetes-Cluster bespielen – der Action Run beschreibt die Ausführung der Polycrate-Action, nicht die fachliche Domäne.
So entsteht automatisch ein auditierbarer Verlauf aller Infrastruktur-Änderungen, ohne dass Sie Logging in jedem Playbook einzeln implementieren müssen.
~/.polycrate/polycrate.ymlDamit Action Runs in der Polycrate API ankommen, konfigurieren Sie die CLI einmalig pro Benutzer in ~/.polycrate/polycrate.yml.
Ein typisches Setup sieht so aus:
# ~/.polycrate/polycrate.yml
api:
url: "https://api.polycrate.io" # oder Ihr Self-Hosted-Endpunkt
api_key: "pc_live_XXXXXXXXXXXXXXXX" # Ihr persönlicher oder robotischer API-Key
submit_action_runs: true # Action Runs an die API sendenEin paar Punkte dazu:
api.url zeigt auf die Polycrate API-Instanz (SaaS oder Self-Hosted).api.api_key ist Ihr Authentifizierungs-Token. Bewahren Sie ihn wie ein Passwort auf.api.submit_action_runs: true aktiviert das Senden von Action Runs. Ohne diesen Schalter wird lokal weiterhin alles ausgeführt, aber nichts an die API geschickt.cli.telemetry und es werden keine anonymen Nutzungs-Telemetriedaten an ayedo übermittelt.Für Compliance-Verantwortliche ist wichtig:
Der API-Key ist personenbezogen oder klar einem technischen Benutzer zugeordnet. Damit ist später im Audit-Log eindeutig nachvollziehbar, wer die Automatisierung gestartet hat – unabhängig davon, von welchem Endgerät aus.
Action Runs sind bewusst schlank, aber aussagekräftig. Typische Felder sind:
from:), inkl. genauer Block-Versionrestart, deploy, patch)started_at)finished_at)polycrate 0.18.3)laptop-max, gitlab-runner-42)max, gitlab-runner)Aus Sicht von Compliance, insbesondere mit Blick auf die DSGVO, die seit dem 25.05.2018 in Kraft ist, sind zwei Aspekte wichtig:
Was nicht mitgeschickt wird:
Damit bleibt der Audit-Trail aussagekräftig, ohne mehr personenbezogene oder sensible Daten zu transportieren als nötig.
Aus Compliance-Sicht ist es entscheidend, dass:
Polycrate adressiert beides:
Workspace-Verschlüsselung mit age
Ihre sensiblen Dateien (API-Keys, SSH-Keys, Kubeconfigs) liegen unter artifacts/secrets/ im Workspace und sind per polycrate workspace encrypt verschlüsselt. Details dazu in der Dokumentation zur Workspace-Verschlüsselung.
Containerisierte Ausführung
Ansible und die gesamte Toolchain laufen in einem definierten Container. Kein „Python 2.7 vs. 3.x“-Chaos, keine wilden pip install-Orgien pro Laptop, weniger Angriffspunkte. Mehr dazu in der Ansible-Integration.
Für Sie bedeutet das:
Der Audit-Trail über Action Runs kommt oben drauf, ohne dass Sie zusätzliche Sicherungsmechanismen erfinden müssen. Polycrate bringt die Basis mit – inklusive klarer Best Practices, siehe Best Practices.
Sobald submit_action_runs aktiviert ist, landen Ihre Action Runs in der Polycrate API (Orchestrierungs- und Management-Layer für Workspaces, Runs und Berechtigungen). Im UI der API bzw. über die API können Sie pro Workspace und Organisation z.B. folgende Fragen beantworten. PolyHub bleibt der Marketplace für Blöcke – getrennt von Action Runs und Audit-Daten.
db-maintenance.restart im Workspace acme-prod ausgeführt?deploy-Runs gab es im letzten Monat?cargo.ayedo.cloud/ayedo/infra/nginx:0.3.1 zuletzt in Produktion ausgerollt?Die API aggregiert Action Runs über:
Damit sehen nicht nur Platform-Teams, sondern auch Compliance- und Security-Verantwortliche auf einen Blick, welche Automatisierungen wo stattgefunden haben – ohne auf proprietäre CI-Logs, Chat-Verläufe oder manuelle Change-Excel-Listen angewiesen zu sein.
Für strukturierte Teams können Action Runs außerdem ein zentrales Element eines Platform Engineering-Ansatzes sein: Die Plattform stellt Standard-Blöcke bereit, und über die Action-Runs-Historie wird sichtbar, wie diese Bausteine wirklich im Alltag genutzt werden.
Ein weiterer Vorteil der Polycrate API: Sie können einen bestehenden Action Run remote erneut auslösen.
Typische Anwendungsfälle:
Technisch nutzt die API dabei:
polycrate run BLOCK ACTION.Die Details zur API-Nutzung und den entsprechenden Endpunkten finden Sie in der Polycrate API-Dokumentation.
Wichtig:
Das Re-Triggering verdoppelt nicht kritiklos jede Änderung. Ihre Ansible-Playbooks bleiben idempotent (Stärke von Ansible) und prüfen selbst, ob eine Änderung notwendig ist. Polycrate sorgt nur dafür, dass Sie die identische Automatisierung noch einmal anstoßen können – nachvollziehbar und auditierbar.
Ein typisches Compliance-Bauchgefühl: „Wenn wir Logging verpflichtend machen, legt uns im Zweifel der Logging-Server lahm.“
Polycrate löst dieses Dilemma explizit:
Damit können Sie Action Runs auch in sensiblen Umgebungen aktivieren, in denen eine temporäre API-Unerreichbarkeit nicht zu einem Stopp von Wartungsfenstern oder Incident-Runbooks führen darf.
Schauen wir uns ein konkretes Beispiel an: Ein Block, der die Production-Datenbank neu startet.
# workspace.poly
name: acme-corp-automation
organization: acme
blocks:
- name: db-maintenance
from: db-maintenance
config:
env: production
db_host: db-prod01.acme-corp.com
db_service_name: "postgresql"Der Workspace folgt den üblichen Regeln, siehe Workspaces. Die Block-Konfiguration hält nur die nötigsten produktionsspezifischen Werte.
Ein einfaches Inventory für Ansible könnte so aussehen:
# inventory.yml (Workspace-Root)
all:
hosts:
db-prod01.acme-corp.com:
ansible_user: "ubuntu"
ansible_ssh_private_key_file: "{{ workspace.secrets['prod-db.key'] }}"Das Inventory liegt im Workspace-Root, Polycrate setzt ANSIBLE_INVENTORY automatisch. Secrets werden über die Workspace-Verschlüsselung geschützt.
# blocks/db-maintenance/block.poly
name: db-maintenance
version: 0.1.0
kind: generic
config:
env: "{{ block.config.env }}"
db_host: "{{ block.config.db_host }}"
db_service_name: "{{ block.config.db_service_name }}"
actions:
- name: restart
description: "Restart des Datenbankdienstes auf dem Ziel-Host"
playbook: restart-db.ymlDie Werte kommen aus der Block-Instanz in workspace.poly und stehen in Templates und Playbooks als block.config zur Verfügung; Querzugriffe auf andere Blöcke über workspace.blocks.* sind nicht vorgesehen. Details zur Vererbung.
Die Action restart verweist auf ein Ansible-Playbook im gleichen Verzeichnis.
# blocks/db-maintenance/restart-db.yml
- name: Restart Datenbankdienst
hosts: all
become: true
gather_facts: false
vars:
db_service_name: "{{ block.config.db_service_name }}"
tasks:
- name: Sicherstellen, dass der DB-Host erreichbar ist
ansible.builtin.ping:
- name: Datenbankdienst neu starten
ansible.builtin.service:
name: "{{ db_service_name }}"
state: restarted
- name: Status des Datenbankdienstes prüfen
ansible.builtin.service_facts:
- name: Sicherstellen, dass der Dienst läuft
ansible.builtin.assert:
that:
- ansible_facts.services[db_service_name].state == "running"
fail_msg: "Datenbankdienst {{ db_service_name }} läuft nicht"
success_msg: "Datenbankdienst {{ db_service_name }} läuft"Wichtig:
hosts: all bedeutet hier „alle Hosts aus inventory.yml“ – Polycrate führt das Playbook im Container aus, aber die Zielsysteme werden via SSH angesprochen.
Der eigentliche Run ist trivial:
polycrate run db-maintenance restartWas passiert dabei?
acme-corp-automationdb-maintenancerestartsubmit_action_runs: true gesetzt ist, sendet die CLI den Action Run an die API.Die Antwort auf die eingangs gestellte Frage:
„Wer hat am Freitag Abend die Production-Datenbank neu gestartet?“
finden Sie anschließend in der Polycrate API, indem Sie:
acme-corp-automation filtern,db-maintenance und Action restart auswählen,Mit plain Ansible müssten Sie dafür:
--verbose ausgeführt und das Log aufgehoben hat.Mit Polycrate ist diese Nachvollziehbarkeit Bestandteil des normalen Workflows.
Action Runs helfen nicht nur bei „Wer hat was wann gemacht?“, sondern auch bei Fragen wie:
0.3.1 unseres Webserver-Blocks zuletzt in Produktion deployed?“Da die Block-Referenz (from: inkl. Version) und der Workspace in den Action Runs auftauchen, können Sie z.B.:
cargo.ayedo.cloud/ayedo/infra/nginx:0.3.1 im Workspace acme-prod anzeigen.In Kombination mit dem PolyHub und der Registry-Integration ergibt sich so eine vollständige Kette:
:latest).polycrate run mit diesem Block erzeugt Action Runs – über alle Workspaces hinweg.Das Ergebnis ist ein jederzeit einsehbares Change-Log für Ihre Infrastruktur – ohne dass Sie dafür ein separates „Deployment-Tracking-Tool“ einführen müssen.
Ansible selbst ist ein exzellentes Automatisierungswerkzeug – auch ohne Polycrate. Aber sobald Sie Auditierbarkeit und Team-Kollaboration ernst nehmen, stoßen viele Teams auf wiederkehrende Probleme:
Polycrate setzt genau hier an:
Statt Ansible zu ersetzen, macht Polycrate es zur tragfähigen Grundlage Ihrer Automatisierung – technisch, organisatorisch und compliance-fähig.
Ja, potenziell – insbesondere über den Bezug zu einem persönlichen API-Key und den OS-Benutzernamen. Allerdings ist genau das für eine revisionssichere Nachvollziehbarkeit von Änderungen meist gewünscht.
Wichtig ist:
Die konkrete rechtliche Einordnung hängt von Ihrer Organisation ab. Technisch bietet Polycrate aber einen klar abgrenzbaren, nachvollziehbaren Datensatz, den Sie in Ihr Datenschutzkonzept integrieren können.
Nein. Die Polycrate API kann auch self-hosted betrieben werden. Damit behalten Sie sämtliche Action-Run-Daten in Ihrer eigenen Infrastruktur – ein Punkt, der insbesondere in regulierten Branchen und bei strenger Auslegung der DSGVO seit dem 25.05.2018 häufig gefordert wird.
Die CLI-Konfiguration (api.url, api.api_key, api.submit_action_runs) bleibt identisch, nur der Endpunkt ändert sich.
In der Praxis kaum:
Sollten Sie extrem latenzkritische Szenarien haben (z.B. sehr kurz getaktete IoT/Edge-Workloads), können Sie submit_action_runs für diese Nutzer oder Workspaces gezielt deaktivieren oder über dedizierte Runner mit guter API-Konnektivität arbeiten.
Weitere Fragen? Siehe unsere FAQ
Action Runs und die Polycrate API schließen eine Lücke, die viele Teams bislang nur mit erheblichem Zusatzaufwand adressieren konnten: einen durchgängigen, zentralen Audit-Trail für Infrastruktur-Automatisierung – ohne eigene Logging-Stacks, ohne Zwang zu proprietären Tools.
Sie haben in diesem Beitrag gesehen:
~/.polycrate/polycrate.yml aktivieren,polycrate run-Ausführung automatisch als Action Run erfasst wird,Als ayedo bringen wir diese technischen Bausteine zusammen mit erprobten Platform Engineering-Konzepten: Von der Einführung einer Block-basierten Automatisierungsplattform über die Integration in bestehende Governance-Strukturen bis hin zu Schulungen für Admins und Compliance-Teams.
Wenn Sie sehen möchten, wie sich Action Runs in Ihre bestehende Automatisierung integrieren lassen – ob auf Linux, Windows, IoT/Edge oder in hybriden Umgebungen – sind gute nächste Schritte:
Polycrate API 0.13.0 loest Baserow als Pricing-Backend ab, integriert RocketChat fuer automatisches …
Polycrate API 0.11.31 ist ein Bugfix-Release, das zwei zusammenhaengende Probleme beim Speichern der …
Polycrate API 0.11.30 ist ein umfangreiches Feature-Release mit Fokus auf Performance, …