goharbor / harbor

An open source trusted cloud native registry project that stores, signs, and scans content.
https://goharbor.io
Apache License 2.0
24.26k stars 4.77k forks source link

How about label replication ? #8207

Open louyiping opened 5 years ago

louyiping commented 5 years ago

In our situation, label is useful. We have four harbor instances and the number will increase at any time. And a central harbor replicate images to other instances. Labeling is the responsibility of another team so they only want to labeling the central instance. But we need every harbor instance has labels. As I known, harbor do not support label replication yet. Can we implement it ? Thanks.

mumrau commented 5 years ago

7762 it was part of harbor in the past, has been removed for target 1.8.0.

It will be re-added, the PRs has already been merged: #8159 #8178 .

Discussed in #7975 and some others as well.

louyiping commented 5 years ago

I looked at this PR is about filtering according to the label when replicating. But my requirement is to replicate the label it carries when replicating this image.

It just like if the source image has the label "used in production" and after replication the target image also has this label.

mumrau commented 5 years ago

Oh makes sense, I misread it. My apologies.

reasonerjt commented 5 years ago

@louyiping thanks for raising the issue, but I don't think it's a very common usecase, esp. think that there's no real "slave" mode of Harbor, so when you replicate the label from one instance to another, how do you handle the conflict?

It may be possible we think about replicating "project level" labels when project does not exist on target instance, but based on the feedback users are more likely to use system-level labels.

We need more systematic thinking about this feature. Would you like to draft a proposal and share your thoughts with the community?

louyiping commented 5 years ago

@reasonerjt In our usage scenario, we deployed a harbor instance in a IDC, and then synchronized from the harbor instance of the company's local development IDC to the harbor instance of each production environment IDC. So what I want is that the harbor instances of each environment are completely consistent. This can also be used as a disaster recovery solution. When one harbor is hung, you can switch to another harbor.

But now only the image part can be synchronized, and for example, the label, the project authority part can not be synchronized. Maybe harbor could give a global/project option that choose replicate label and project authority or not. If choose to replicate label and meet conflict, just override it.

Later I will draft a proposal. Thanks.

xaleeks commented 5 years ago

How many labels are we talking about? There is a feature on replication some config settings beyond data (container/charts) that's being hashed but labels is not in scope. I honestly don't see this as a high priority item.

github-actions[bot] commented 2 years ago

This issue is being marked stale due to a period of inactivity. If this issue is still relevant, please comment or remove the stale label. Otherwise, this issue will close in 30 days.