Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How is the "may not change during container lifetime" requirement enforced? #125

Closed
liggitt opened this issue Oct 14, 2020 · 2 comments
Closed

Comments

@liggitt
Copy link

liggitt commented Oct 14, 2020

The current proposal makes this statement:

The collection of files within the directory MAY change between container launches. The collection of files within the directory SHOULD NOT change during the lifetime of the container.

Given that changes would originate with changes to the secret object, but the update in the container is managed by the kubelet (at an arbitrary delay after the secret is updated, typically within 1 minute), how would the secret writer know that no containers were currently running and it was safe to update the secret?

@scothis
Copy link
Contributor

scothis commented Oct 14, 2020

It's worth clarifying that this requirement is talking about the keys of the Secret changing, not the values of those keys.

The controller reconciling the ServiceBinding typically copies the content of the provided Secret into a new Secret that is projected into the application. This enables mapped values to be added without mutating the upstream Secret. If the fields in the upstream Secret change a new Secret can be created and projected into the application.

The requirement comes from a precursor spec that wasn't focused on Kubernetes, we can improve the language to align with k8s semantics.

@scothis
Copy link
Contributor

scothis commented Oct 19, 2020

Closing, but feel free to continue the discussion.

This is a good topic to cover as part of #101

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants