Skip to content

liveupdate: always update k8s clusters with kubectl exec #6535

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

Merged
merged 1 commit into from
Apr 9, 2025

Conversation

nicks
Copy link
Member

@nicks nicks commented Apr 9, 2025

this is a fun deep dive into the history of Tilt
and Kubernetes file-syncing

When Tilt was first written, there weren't well-established
conventions for how to sync a file to a cluster. There
were disagreements about whether this was a "user-space"
operation or a "privileged" operation, and what permissions
a file should get when it's written.

Over the years, all that's settled down: the k8s community
has invested a lot in having a robust, streaming exec
endpoint, and using that for all file copying.

(a similar convergence has happened on the container runtime
side -- everything has consolidated on the docker exec
endpoint, rather than separate file-copying endpoints)

with that in mind, let's simplify things even more
and use kubectl exec endpoint, even when we have direct
access to the container runtime.

this fixes the case when Docker Desktop is using
separate container runtimes that share an image store.

fixes #6533

Signed-off-by: Nick Santos nick.santos@docker.com

this is a fun deep dive into the history of Tilt
and Kubernetes file-syncing

When Tilt was first written, there weren't well-established
conventions for how to sync a file to a cluster. There
were disagreements about whether this was a "user-space"
operation or a "privileged" operation, and what permissions
a file should get when it's written.

Over the years, all that's settled down: the k8s community
has invested a lot in having a robust, streaming exec
endpoint, and using that for all file copying.

(a similar convergence has happened on the container runtime
side -- everything has consolidated on the docker exec
endpoint, rather than separate file-copying endpoints)

with that in mind, let's simplify things even more
and use kubectl exec endpoint, even when we have direct
access to the container runtime.

this fixes the case when Docker Desktop is using
separate container runtimes that share an image store.

fixes #6533

Signed-off-by: Nick Santos <nick.santos@docker.com>
@nicks nicks merged commit 661604e into master Apr 9, 2025
8 checks passed
@nicks nicks deleted the nicks/update2 branch April 9, 2025 17:04
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

Successfully merging this pull request may close these issues.

docker_build_with_restart does not work on MacOS when using the kind cluster
1 participant