Support rotating certs in running pods instead of restarting them
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- kubernetes, rust
- Domínio
- infrastructure, security
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Rust
- Estrelas
- 14
- Forks
- 8
- Merge médio
- 1d 12h
- PRs com merge (30d)
- 9
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de stackabletech/secret-operator
-
type/bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
stackabletech/secret-operator#754 ·
Mantenedores costumam responder em até 1 dia
-
autoTls: bound certificate lifetime by the CA that will actually sign it, not the configured caCertificateLifetimeTalvez já em andamento @xeniape assumiu há 20 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
stackabletech/secret-operator#753 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
skip the PodListeners lookup when the served Pod is being deletedTalvez já em andamento @soenkeliebau assumiu há 4 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
stackabletech/secret-operator#720 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
customer-request type/bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
stackabletech/secret-operator#666 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Allow certificates to contain subjects with allowed external namesTalvez livre de novo @NickLarsenNZ assumiu há 446 dias e não há nenhum pull request aberto. Abertacustomer-request type/feature-improvement
stackabletech/secret-operator#630 · 7 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de stackabletech/secret-operator
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Clean master build fails in zune-jpeg error conversion and zero-IV array construction (patch)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
CakeRepository/agentshangout#995 ·
-
area:frontend kind:bug priority:p3 ready
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia