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

Organisation pull attribution couples users / environments #2444

Open
YuryHrytsuk opened this issue Feb 14, 2025 · 7 comments
Open

Organisation pull attribution couples users / environments #2444

YuryHrytsuk opened this issue Feb 14, 2025 · 7 comments

Comments

@YuryHrytsuk
Copy link

YuryHrytsuk commented Feb 14, 2025

Question

We have a [Dockerhub] Organisation where we store images for Master, Staging and Production deployments. According to Pull attribution doc, in some (actually many) cases Organisation's pull limits are used while pulling an image with an authenticated docker user (we have separate user for each environment).

How can I make sure, that pulling of image for master environment cannot affect production environment (for example by using up all available organisation pull limits)?

@YuryHrytsuk YuryHrytsuk changed the title Is Organisation pull attribution coupling users / single point of failure ? Is Organisation pull attribution coupling users / single point of failure? Feb 14, 2025
@sheltongraves
Copy link

Hey @YuryHrytsuk. If I'm understanding correctly you have images for master, staging and production under the same organization. Any pulls from users in that organization will count towards the pull limit. However, when you reach and exceed the pull limit, further pulls are not blocked so your production deployments would not be affected. You will just incur overage fees for the pulls over the limit.

@YuryHrytsuk
Copy link
Author

Hey @YuryHrytsuk. If I'm understanding correctly you have images for master, staging and production under the same organization. Any pulls from users in that organization will count towards the pull limit. However, when you reach and exceed the pull limit, further pulls are not blocked so your production deployments would not be affected. You will just incur overage fees for the pulls over the limit.

Hi @sheltongraves,

Thank you for your answer. I was initially thinking, that I can avoid "coupling" pull limits by using separate users per environment within the same organisation which is apparently not the case.

I have 2 further questions:

  • Is there a way to decouple pull limits between environments (master, stag, prod) with the same org?
  • How much are the fees for users pulling above limit?

@sheltongraves
Copy link

The pull limits are per org subscription. You wouldn't be able to decouple pulls from the same org. You would able to decouple using multiple orgs.

You can find the pricing for pulls here: https://www.docker.com/pricing/

@YuryHrytsuk
Copy link
Author

YuryHrytsuk commented Feb 20, 2025

The pull limits are per org subscription. You wouldn't be able to decouple pulls from the same org. You would able to decouple using multiple orgs.

You can find the pricing for pulls here: https://www.docker.com/pricing/

That's my point.

It sounds reasonable [to me] to have one org and use images from the same org.

The problem is:

  • with existing docker "approach" to attribute and limit pulls, having the same org means that master, stag and prod environments can affect each other since they all share the same pull limit.
  • there is no way [apparently] to decouple this while using single org

@YuryHrytsuk YuryHrytsuk changed the title Is Organisation pull attribution coupling users / single point of failure? Organisation pull attribution couples users / environments Feb 20, 2025
@sheltongraves
Copy link

Can you elaborate more on how the pulls for different environment would be affected? The limit will NOT block pulls when they are reached.

@YuryHrytsuk
Copy link
Author

YuryHrytsuk commented Feb 21, 2025

Can you elaborate more on how the pulls for different environment would be affected? The limit will NOT block pulls when they are reached.

Ok. Since after reaching the limit, one does not get blocked (but get charged for extra pulls instead) makes the "affect" component less important.

As stated in the PR Title, organisation may couple users (when certain conditions of docker pull attribution met) since users share the same docker pull limit (i.e. pulling image on master environment will also reduce number of free / within-limit pulls from staging and production)

@YuryHrytsuk
Copy link
Author

But I still wonder, if [in certain scenarios] making different users share the same organisation pull limit is a bad architectural pattern?

Ideally, I want to keep master, staging and production completely independent. It also sounds reasonable that these stages will use images from the same Dockerhub organisation. But if you do use the same Dockerhub organisation, you (in certain scenarios) automatically share the same docker pull limit.

Perhaps my docker resource (users, repositories and organisations) configuration is wrong. And there is a way to pull images from the same organisation without sharing the same docker pull limit 🤷

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