open-policy-agent / open-policy-agent/cert-controller

Question on usefulness of RestartOnSecretRefresh

Open
#47 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dependencies github_actions go
Dominant language
Go
Stars
109
Forks
49
Avg merge
19h 20m
Merged PRs (30d)
6

Description

Follow up to #44, it appears that 4842e4760ab0e4acba1d50c72c0e9bcb453dfa80 added the RestartOnSecretRefresh, which restarts the process (os.Exit(0)) every time refreshCerts() is called, to update the Secret.

That said, Kubernetes typically takes ~up to 1 minute delivering the secret to kubelet (easily reproducible on minikube, or kind, or a GKE cluster) with default kubelet configurations.

Since the delivery of updated Secret to the Pod is not instant (or even a duration that can be considered quick), what makes the os.Exit(0) useful if the kubelet will still serve the old Secret upon the restart?

cc: @stijndehaes

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the RestartOnSecretRefresh option and the refreshCerts() path, then review commit 4842e4760ab0e4acba1d50c72c0e9bcb453dfa80 and follow-up issue #44. Compare the os.Exit(0) behavior with Kubernetes Secret delivery timing. Done means reaching and documenting a clear decision about whether the restart behavior is useful.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, infrastructure
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.