Open JorritSalverda opened 7 years ago
Hi @JorritSalverda ! The NuGet team is currently investing all it's time in security related features. Unfortunately, improvement to NuGet.Server is not in our plans for the near future.
Thanks for your understanding!
Any news here ?
NuGet is one of the most important pieces in dotnet core and there is no core implementation available/scheduled in 2017 ?
Is there a roadmap yet for .net core support? We host our entire infrastructure in a docker swarm and we have definite (and urgent) need for a NuGet server.
Since it seems we might wait unknown/long time for official nuget server on dotnet core, I have started a project which aims exactly at it. https://github.com/ai-traders/liget
It ports pieces of this repository and several others to get private nuget server working on dotnet core with kestrel.
I have already setup CI with end to end tests which run with various common clients such as nuget CLI
dotnet CLI
and paket
.
It already implements push and basic queries, so that paket install
, paket update
and alike are passing.
Any official updates?
@lecoque , the team continues to focus on security and package authenticity issues in the NuGet ecosystem, as well as key experiences on nuget.org like search results quality. Our quarterly plan will be published shortly on our blog. Unfortunately we won't be able to get to rewriting NuGet.Server in .NET core in the near future. I hope tools like @tomzo 's liget will be able to fill the gap.
I've been working on a ASP.NET Core version of NuGet.Server: https://github.com/loic-sharma/BaGet
Summary of BaGet:
⚠️ Although I work on nuget.org for Microsoft, this is a side project that I've been working on my own time that isn't official supported by either Microsoft nor NuGet.
@skofman1
Unfortunately we won't be able to get to rewriting NuGet.Server in .NET core in the near future
Do we need a full rewrite? Maybe we can start with a minimal viable product?
I hope tools like @tomzo 's liget will be able to fill the gap.
It would be good to have some involvement from the NuGet team so one of these community projects can grow to be the real deal. Maybe you can host an implementation on the GitHub NuGet org?
It would be good to have some involvement from the NuGet team so one of these community projects can grow to be the real deal.
I totally agree on this, there must be at least 20 projects on GitHub with nuget server, each implementing just some cases that original developer needed. The same is true for LiGet, until I need windows hosting support or good visual studio integration, I won't implement it. But that should not stop anyone from contributing when they need it. @loic-sharma creates yet another implementation and again, its a single developer, it supports some cases. Sadly we did not talk before he started re-implementing half of what LiGet does already. And it would be really great to have someone from Microsoft who knows original NuGet to participate in a community server development.
Maybe you can host an implementation on the GitHub NuGet org?
That would be great. If Microsoft does not want to support an open nuget server, then at least publishing some of the working implementation would help community to take initiative. Currently all we have is documentation of v3 API and that's all. When I started LiGet even that wasn't available. v2 is undocumented till this day.
My general message to anybody reading this issue is this - We are all in a bad place with NuGet server, you can blame Microsoft or not, you can try to persuade them to help. But If you feel like implementing yet another scratch server because your case does not work in LiGet or any other community project, please at least open an issue on LiGet first, let's talk. I can contribute time into integrating efforts of multiple users, help with design, provide CI and automation, and actually implement stuff as I did already. So that in the long term we have the real deal nuget server, which has many maintainers/developers and does not rely on efforts of single person to do all work for everyone, because that won't last long.
(side note to this thread: there are already a couple of real deal NuGet servers out there, both on-prem (ProGet, Artifactory, Sonatype, NuGet.Server) as well as SaaS (MyGet, Bintray). Of those on-prem ones, most can be run in a container if needed)
@maartenba the thread is about running NuGet.Server
on dotnet core in container and actually you cannot do that, because it relies on old libraries which don't run on Core. LiGet was created by replacing those references.
Yes there are some great closed-source, paid solutions out there. But as @WernerMairl NuGet is one of the most important pieces in dotnet core and there is no core implementation available/scheduled in ...
is a really bad state that I was referring to.
NuGet is basically the only official framework for managing dependencies in dotnet core and yet we need to rely on closed, external solutions to host private packages. There is no other "Open" platform which does that.
Totally agree, we really need good specification (v3 ?) and the best implementation of the latest protocol as stand alone service, with the community involved. Right now the project has no guidance and anything is stuck (see pull requests).
Currently i'm investing time into https://github.com/loic-sharma/BaGet
my personal focus
in my own projects currently i'm using Nexus from Sonatype on Docker
Totally agree, we really need good specification (v3 ?) and the best implementation of the latest protocol as stand alone service, with the community involved.
The v3 protocol has been documented here. The only standalone NuGet v3 implementations that I'm aware of are BaGet and Sleet.
... publishing some of the working implementation would help community to take initiative. Currently all we have is documentation of v3 API and that's all
You can find nuget.org's v3 implementation here: NuGet/NuGet.Services.Metadata
I understand the need for an open-source, lighweight implementation of NuGet Server that will be able to run on linux, docker, etc. Unfortunately, as already stated, NuGet team currently doesn't have the capacity to take on this work. We would like to help community projects like LiGet and BaGet to get users and contributors. We started by adding links to them on our documentation page. We can also help join those projects to .NET Foundation.
From a technical perspecive, I stronly recommend implementating V3 protocol. V2 protocol is obsolete and all new NuGet features (like Package Signing) are added only to V3. In addition, V3 is thoroughly documented here.
Another alternative is: simple-nuget-server Docker image with simple-nuget-server from idoop or fork by agowa338. The second one uses his own fork of simple-nuget-server.
However, it would we really great if NuGet.Server 'just' worked on Linux with ASP.NET Core because this alternative also is not feature complete (it only supports a single API key). But I do understand that the resources and time of the NuGet team is finite and choices need to be made.
Really cool to see that open source solutions are being built. A year has gone by since the last answer from Microsoft. Any updates?
I tried to convert the NuGet.Server to .NET Core 1.5 years ago. I don't remember exactly what the blocker was. Vague, some XML transformation libs? Does anybody know more?
The NuGet server is one of the few applications we still need to run on Windows, whereas all of our applications already written in .net core run in Kubernetes.
Are their any plans to 'upgrade' Nuget.Server to asp.net core?