Reference Documentation for Api v1/v2/v3

225 views
Skip to first unread message

Alberto Chiesa

unread,
Feb 25, 2015, 1:13:56 PM2/25/15
to nuget-e...@googlegroups.com
Hi everyone,
probably I'm just needing some pointer to existing documentation, but I couldn't find any.

What I want to do is implement a barebone (I've been looking into the Nuget.Server project included in the main Nuget repository) private, authentication secured Nuget Feed.
I need more than an API and Basic Authentication as managed by IIS just plain sucks. So I think I have to roll out my own.

I found some harsh edges and I have some questions:
  • if I try to compile Nuget.Server in release mode, the Packages Feed is excluded from build, and nothing works. Do I really need to build in Debug Mode?
  • v1/v2 apis are very different, both in design and implementation. Do I need both? I mean: in order to have a basic feed, what do I need to implement?
Probably, there is a lot more, but currently I just need some basic guidance.

Thanks to everyone for this gem. Or nugget. Or whatever.

Best,


Alberto Chiesa

Alex Papadimoulis

unread,
Mar 18, 2015, 6:55:20 PM3/18/15
to nuget-e...@googlegroups.com
Unfortunately the API is quite complicated, and undocumented, so you'll have to do a bit of reverse-engineering it.

We've spent the past few years doing just that, and called it ProGet -- http://inedo.com/proget/overview

You may want to just license our source code if you are really keen on rolling your own.

Alberto Chiesa

unread,
Mar 26, 2015, 8:16:20 AM3/26/15
to nuget-e...@googlegroups.com
Thanks a lot, Alexis, for your response, and your proposal.

I got to know ProGet and found it one of the best solutions to my needs, but I can't afford to pay the license for a server, currently, and the only feature I really need is some sort of access control policy to the exposed package feed, which, AFAICT is the one feature missing from the free edition.
So, ProGet is more than I need, but too much for the cost, or an excellent free product missing the one feature I need.

I was hoping to get the Nuget.Server package running (this was easy) and then hack onto it some access control.
As I did a deep dive into the Nuget.Server codebase, I quickly discovered that one of my favourite projects is built on top of layers shaped in different ways, and I can't get the philosophy behind each layer, if any.

Simple questions like "v1/v2/v3, which one I need?" or "What do I need to support for a barebone feed?" I was hoping for some sort of documentation, even something like: implement what's in the "xyz" class in the nuget codebase.

I'm probably just going to sniff out the basic client/server communication and reimplement my own nuget.server version, but it's going to take a while.

Thanks!

Alberto Chiesa
Reply all
Reply to author
Forward
0 new messages