Skip to content
This repository has been archived by the owner on Jul 26, 2022. It is now read-only.

Ensure that the restart timer is always started #765

Merged
merged 1 commit into from
Jun 3, 2021

Conversation

battlecow
Copy link
Contributor

Related: #763

If there are no data events, the reset timer is never started. If the connection to the kube api server is lost during this time and new events come in they are never seen and the stream is never restarted.

Repro: (I used minikube with ssh access)
Install helm chart
minikube ssh
Drop current connection from pod to api server: e.g. conntrack -D conntrack -s 172.17.0.6 -d 10.96.0.1
Create a new example secret (failures to connect don't matter here)
Note that the secret is not picked up nor is the server restarted. kubectl get externalsecrets.kubernetes-client.io

Credit and thanks to #362 (comment) for the iptables idea.

Copy link
Member

@Flydiverny Flydiverny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh god, that makes a lot of sense 😄
Thanks for finding this!

lib/external-secret.js Outdated Show resolved Hide resolved
@battlecow
Copy link
Contributor Author

This took me an embarrassingly long time to figure out and make sure I reproduced it correctly. =]

@battlecow
Copy link
Contributor Author

Did a rebase just to remove the silly semicolon removal

@Flydiverny Flydiverny merged commit 1de5432 into external-secrets:master Jun 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants