goharbor / harbor

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

Support different storage backends per project #13783

Open rochaporto opened 3 years ago

rochaporto commented 3 years ago

Harbor supports multiple storage backends (s3, swift, filesystem, etc) but this is a global definition applying to all projects.

There are use cases where it would be useful to configure a different backend per project. Examples:

  1. a default backend on S3 serving the majority of projects, and a different backend for cases where the image distribution is done by a separate service (shared filesystem/nfs like) - see https://github.com/containerd/containerd/issues/3731
  2. storing artifacts in different S3 buckets depending on the project

We have a concrete use case for 1. where we already push the images to a shared filesystem using a webhook on the project, but we end up duplicating the images in both S3 and this filesystem.

ywk253100 commented 3 years ago

@rochaporto How about setup two separated Harbor instances and set replication rule between them?

rochaporto commented 3 years ago

Thanks @ywk253100 . That would work, but that would still mean duplicating the images right?

xaleeks commented 2 years ago

This is not going to be in our roadmap anytime soon unfortunately. part of the limitation is due to the underlying docker distribution

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.

sambonbonne commented 1 year ago

Hello, I wanted to know if this issue would be more relevant for the roadmap now in 2023. I have a similar need but I don't want to setup two Harbor.

rickshin77 commented 1 year ago

Hello, Is there any chance of Harbor supporting different storage backend per project for late 2023 or perhaps for 2024 roadmap? I have a similar needs and use case. Currently I have setup multiple Harbors to meet the requirement/regulation but it's just too much waste of resource when you are talking about 100s or even 10s of these setups.