Zwei Schritte: TROCKENLAUF hält je Ziel Diff, Hinweise und die Hashes vorher/nachher fest; AUSROLLEN führt genau diesen Plan aus und bricht je Ziel ab, wenn sich Datei oder Soll geändert hat. Ein Trockenlauf gilt 15 Minuten und nur einmal.
Auf dem Host alles als Zielbenutzer (runuser), Hash dort erneut geprüft, Sicherung (letzte 5 bleiben), Temp-Datei + mv, 0700/0600.
Nur gültiges UTF-8 wird bearbeitet, sonst ginge „bytegenau“ verloren.
Soll = direkte und Gruppen-Zuweisungen; der Deployment-Key gehört immer zum Soll des Anmeldebenutzers (Aussperrschutz aus #015).
Gruppen-Verwendungen: Zustand je Verwendung, Fehlschlag auf einem Host gewinnt. Zustand je Host folgt mit dem Abgleich (#021).
Oberfläche: Zuweisen auf der Schlüsselseite, Dry-Run je Schlüssel und je Host.
Quelle: docs/issues/016-public-key-ausrollen.md – dort wird dieses Issue gepflegt.
## Ziel
Zuweisungen Schlüssel × Host/Gruppe × Benutzer; Dry-Run-Diff, Backup, atomares Schreiben, Rechte.
## Aufgaben
- [x] Remote-Skript
- [x] Optimistische Sperre über Datei-Hash
- [x] Diff-Box im Schlüsseldetail
## Akzeptanzkriterien
- [x] Integrationstest Ausrollen/Entfernen
## Abhängigkeiten
#015, #010
## Notizen / Entscheidungen
- **Zwei Schritte:** TROCKENLAUF hält je Ziel Diff, Hinweise und die Hashes vorher/nachher fest; AUSROLLEN führt genau diesen Plan aus und bricht je Ziel ab, wenn sich Datei **oder** Soll geändert hat. Ein Trockenlauf gilt 15 Minuten und nur einmal.
- **Auf dem Host** alles als Zielbenutzer (`runuser`), Hash dort erneut geprüft, Sicherung (letzte 5 bleiben), Temp-Datei + `mv`, 0700/0600.
- **Nur gültiges UTF-8** wird bearbeitet, sonst ginge „bytegenau“ verloren.
- **Soll** = direkte und Gruppen-Zuweisungen; der Deployment-Key gehört immer zum Soll des Anmeldebenutzers (Aussperrschutz aus #015).
- Gruppen-Verwendungen: Zustand je Verwendung, Fehlschlag auf einem Host gewinnt. Zustand je Host folgt mit dem Abgleich (#021).
- Oberfläche: Zuweisen auf der Schlüsselseite, Dry-Run je Schlüssel und je Host.
---
Quelle: `docs/issues/016-public-key-ausrollen.md` – dort wird dieses Issue gepflegt.
florian.wilde
added this to the v0.2.0 milestone 2026-10-12 15:12:41 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
Zuweisungen Schlüssel × Host/Gruppe × Benutzer; Dry-Run-Diff, Backup, atomares Schreiben, Rechte.
Aufgaben
Akzeptanzkriterien
Abhängigkeiten
#015, #010
Notizen / Entscheidungen
runuser), Hash dort erneut geprüft, Sicherung (letzte 5 bleiben), Temp-Datei +mv, 0700/0600.Quelle:
docs/issues/016-public-key-ausrollen.md– dort wird dieses Issue gepflegt.