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

[feature request] Pulling images from remote registries #355

Open
DerekTBrown opened this issue Aug 30, 2024 · 4 comments
Open

[feature request] Pulling images from remote registries #355

DerekTBrown opened this issue Aug 30, 2024 · 4 comments

Comments

@DerekTBrown
Copy link

User Story

  • Suppose I have docker images stored in a private registry (e.g. ECR, GCR, GHCR).
  • In production environments, these images are pulled via Node IAM roles / credential helpers. No pod-specific configuration (i.e. imagePullSecrets) are required.
  • I want to create a Tilt environment that runs production workloads with minimum Tilt-specific configuration. i.e. Ideally there is some way to configure ctlptl/Kind to also be able to pull these images without imagePullSecrets.
@DerekTBrown
Copy link
Author

Possible Solutions

  1. [Easy] Extension to load images from remote
    The current approach I have is to create a Tilt resource that pulls images from remotes by:
  • docker pull
  • kind load docker-image.

Eventually, I could see it making sense to add this to tilt_extensions.

  1. [Harder, but Robust] Provide an interface to define upstream registries for registry image
  • The registry image supports configuration as a pull-through cache, where cache upstreams can have authentication.
  • We could add an interface to ctlptl that makes it easy to configure these upstreams, such that they can borrow the local users' ECR, GCR, GHCR credentials, etc.

@nicks
Copy link
Member

nicks commented Sep 2, 2024

this is a good guide to the problem and the current solution space - https://kind.sigs.k8s.io/docs/user/private-registries/

for my own projects, i usually use an image pull secret attached to the default service account in a namespace, which i've found is the most portable approach, e.g., https://github.com/tilt-dev/tilt-extensions/tree/master/secret#secret_create_docker_registry_ecr

@DerekTBrown
Copy link
Author

@nicks Agree these are the current best-supported paths. It just seems like there should be a fairly easy way to emulate the production EKS/GKE behavior such that ImagePullSecrets aren't needed.

@nicks
Copy link
Member

nicks commented Sep 3, 2024

heh, we have a rule around these parts where if you say it "should be fairly easy", that means you're signing up to implement it. : )

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