#7  Built-in OCI compliant container registry
Released
Robin Shen opened 4 years ago

Check below link on how to work with packages in OneDev:

https://docs.onedev.io/tutorials/package/working-with-packages

Michael Weimann commented 3 years ago

One thing I install parallel to every OneDev setup is a docker registry. So maybe this is a point.

Beside something written in Java could you think of bundling a registry executable with OneDev?
Like this: https://github.com/distribution/distribution

Robin Shen commented 3 years ago

I tend to implement a Java based docker registry if possible. Just shipping a registry executable with OneDev complicates bare-metal installation, and does not provide much value I think. In that case I'd like to leave it to users to install their own.

Robin Shen commented 3 years ago

Also I'd like to integrate OneDev with docker registry tightly to do things such as authenticating against same user base, associating docker image with build record, managing docker image from OneDev UI, etc.

I am not sure how difficult it will be to implement a docker registry in Java though...

Marcos de Oliveira commented 2 years ago

@robin Maybe you could take a look at https://github.com/sonatype/nexus-public which is Java also and EPL 1.0 Licensed. Maybe even some code might be reused, as EPL and MIT are compatible.

Robin Shen commented 2 years ago

Thanks for the info. Definitely will look into this when I start to implement this feature.

Stephen S commented 2 years ago

May I give my 2 cents? I guess most of us users switched to OneDev because:

  1. it is a gorgeous project
  2. Robin is amazing
  3. the installation process is easy and well documented
  4. OneDev is (relatively) light

Adding features that are readily available elsewhere (in that case: docker registry v2) might not be the best idea: who among us has not struggled with a self-hosted GitLab? Meaning: please keep OneDev mean and lean!

jewgeni commented 2 years ago

I would love to have that option or at least some documentation how to achieve this with Docker. I get some network issues when I deploy the registry in a separat container.

Maciej Grabowski commented 2 years ago

@stsinc I think you are missing the point here. All of what OneDev delivers is "readily available" in other, separate projects. Strength and value of OneDev comes from fact that it neatly integrates it under one tool, and need for container registry is so common requirement that it would be great thing to include it inside OneDev.

This and visual representation of pipelines as graphs are 2 main components missing in current releases.

Robin Shen commented 2 years ago

Visual pipeline already available in dev branch. It visualizes job dependencies both at define time, and at runtime. This feature will be released in OneDev 7.

Maciej Grabowski commented 2 years ago

That's excellent news:)

Shamil commented 2 years ago

@robin in light of Gitea having released a registry for various media, will this be coming soon? I’m trying to decide whether it’s worth standing something like Harbour up as I don’t want to stand up if this feature will come

Robin Shen commented 2 years ago

This may not come very soon, and I hope to get it into OneDev in year 2023. Right now I am working on custom dashboard which is early requested by my own company.

Shamil commented 2 years ago

Ok, no worries

Shamil commented 2 years ago

@robin is there an issue tracking the custom dashboard work? This sounds interesting

Robin Shen commented 2 years ago

Issue #377 covers this request. It basically provides dashboard so that different role in the team can start work more easily. For instance, customer can see projects with latest release and change log, while QA sees test builds with issues to be tested etc.

Robin Shen added to milestone "10.0.0" 6 months ago
jbauer commented 6 months ago

Personally I think OneDev should not bundle a docker registry. If OneDev fails for whatever reason, not only your code is inaccessible but also all already built, immutable docker image artifacts stored in that registry. Also a registry is pretty stable and does not have many releases. Yet you would constantly restart it if you upgrade OneDev regularly. If you start depending on the bundled registry then it is regularly not available for some time. This might be mitigated for EE edition and a clustered OneDev but then the registry must be consistent all the time across OneDev nodes.

Security could also be a thing if we assume that OneDev runs in a development network and the final application runs in a production network. Instead of connecting both networks directly it might be better to have a third network connected to both that only contains the registry that OneDev can push to and the production cluster can pull from.

Robin Shen batch edited 5 months ago
Name Previous Value Current Value
Labels
empty
Enterprise Edition
Marcos de Oliveira commented 5 months ago
Robin Shen commented 5 months ago

@markkrj I changed the mind, as I hope to get financial support via enterprise version so that I can work on this product full time (currently far from that yet).

Robin Shen commented 5 months ago

Also want to mention that being an enterprise feature, the package integration will be much more powerful than other products, including the ability to query/subsribe packages, package storage high availability, generate changelog automatically, link builds with packages so that you can see published packages directly from build, etc.

jewgeni commented 5 months ago

While I understand the decision to focus certain features on enterprise, it's a little sad. I still hope you will get enough users to work full-time on this.

Nevertheless, if feasible, could you enhance the documentation to guide users in adding a basic Docker registry? This would be helpful for those interested in integration, even if it's not part of the core features.

Robin Shen commented 5 months ago

Nevertheless, if feasible, could you enhance the documentation to guide users in adding a basic Docker registry

Just use a third party docker registry in this case, for instance the harbor.

Robin Shen changed title 5 months ago
Previous Value Current Value
A built-in docker registry
Built-in OCI compliant container registry
OneDev changed state to 'Closed' 5 months ago
Previous Value Current Value
Open
Closed
OneDev commented 5 months ago

State changed as code fixing the issue is committed (aff60f2a)

Referenced from commit 5 months ago
OneDev changed state to 'Released' 5 months ago
Previous Value Current Value
Closed
Released
OneDev commented 5 months ago

State changed as build #4330 is successful

Robin Shen changed fields 3 months ago
Name Previous Value Current Value
Labels
Enterprise Edition
empty
Robin Shen commented 3 months ago

Hi All,

Since 10.0, binary package management feature is available in community edition for free. It supports container image, maven, nuget, npm, pypi and rubygems currently. A tutorial on how to use package features:

https://docs.onedev.io/tutorials/package/working-with-packages

bufferUnderrun commented 3 months ago

THANKS !!

jewgeni commented 3 months ago

Thank you, have to try this :)

issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Labels
No labels
Milestones
Reference
onedev/server#7
Please wait...
Page is in error, reload to recover