Support rotating certs in running pods instead of restarting them
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- kubernetes, rust
- Bereich
- infrastructure, security
Rechercherichtung
Start by tracing the CSIDriver configuration and the NodePublishVolume implementation, then find where the replace time is computed for the restarter annotation. The issue proposes opt-in per-volume certificate renewal, safe replacement of files in mounted volumes, and retaining restart behavior as a fallback. Done would include renewal on republish without exposing partially written certificates; the issue names no files or tests.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
Right now, when a cert from the secret-operator gets close to expiring, the restarter just kills the pod based on the annotation set by secret-op (I think). That works, but it’s annoying for things that are slow to come back up or don't handle restarts well (looking at you, NiFi!), and it means short cert lifetimes come with a lot of restarts.
Some products can already reload certs from disk on their own. For example NiFi does this with nifi.security.autoreload.enabled. For products like that, it’d be nice if we could swap the cert in the volume and let the product take it from there, without forcing an unneeded restart on the pod.
The CSI lifecyle in Kubernetes has a hook for this: if we set requiresRepublish: true on our CSIDriver, the kubelet keeps calling NodePublishVolume for volumes that are already mounted. We can use that to check whether the cert is past its replace time and, if so, issue a new one and write it into the existing volume. We already compute that time for the restarter annotation, so we’d mainly need to keep it somewhere cheap to check, for example in memory with a small file in the volume as a fallback after the driver restarts.
This would have to be opt-in per volume, since products that don’t reload would just keep using the old cert until it expires. We’d probably also keep the restarter annotation as a safety net in case reissuing fails.
Bit of file handling to investigate since we don't want half-written certs being read, so probably need to come up with some symlink or mv magic, but that should be doable.
- Vorherrschende Sprache
- Rust
- Sterne
- 14
- Forks
- 8
- Ø Merge
- 1 T. 12 Std.
- Gemergte PRs (30 T.)
- 9
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus stackabletech/secret-operator
-
type/bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
stackabletech/secret-operator#754 ·
Maintainer antworten meist innerhalb von 1 Tag
-
autoTls: bound certificate lifetime by the CA that will actually sign it, not the configured caCertificateLifetimeEvtl. vergeben @xeniape hat das vor 20 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
stackabletech/secret-operator#753 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
skip the PodListeners lookup when the served Pod is being deletedEvtl. vergeben @soenkeliebau hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 72/100
stackabletech/secret-operator#720 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
customer-request type/bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
stackabletech/secret-operator#666 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Allow certificates to contain subjects with allowed external namesEvtl. wieder frei @NickLarsenNZ hat das vor 446 Tagen übernommen, und es ist kein Pull Request offen. Offencustomer-request type/feature-improvement
stackabletech/secret-operator#630 · 7 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in stackabletech/secret-operator
Ähnliche Issues
-
Unit tests use deprecated constant (part 2)Evtl. vergeben @servo-highfive hat das heute übernommen. OffenE-less-complex
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 84/100
servo/servo#49766 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug good first issue help wanted linux macos testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
area: app type: test
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug priority: medium
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
storytold/photocraft#12706 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug priority-low to-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag