Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Be able to provide an own feed for offline usage #203

Closed
paule96 opened this issue May 19, 2020 · 13 comments
Closed

Be able to provide an own feed for offline usage #203

paule96 opened this issue May 19, 2020 · 13 comments
Labels
Issue-Feature This is a feature request for the Windows Package Manager client.
Milestone

Comments

@paule96
Copy link

paule96 commented May 19, 2020

Description of the new feature/enhancement

Allow the usage of own feed servers. That will help companies that are disconnected from the internet or has a slow internet connection. The principle should be like the Powershell repositories, that are based on NuGet. So you can easily provide a lokal copy of the Public feed or setup your own for your company applications.

Proposed technical implementation details (optional)

To implement this feature the current concept of the yaml files won't work anymore. There must be a more complex solution. For example Visualstudio, is currently only provided as online installer. To provide an offline feed you must download the visual studio installer to an lokal server and create your own yaml with the right link.
So I think the paths to the installers must be realtiv in the yaml for this feature. Maybe somebody has an better idea.

P. S. By the way this tool is super cool! 💪👌

@paule96 paule96 added the Issue-Feature This is a feature request for the Windows Package Manager client. label May 19, 2020
@RobCannon
Copy link

I would like to be able to mirror a feed in something like Nexus so the feed can be available inside my company so employees can install tools without needing internet access.

@ferventcoder
Copy link

@paule96 you just described exactly what Chocolatey supports, does, and well, is. I'm not sure if winget will lean in this direction since it is covered so well by Chocolatey but you never know.

@paule96
Copy link
Author

paule96 commented May 23, 2020

@ferventcoder yes but I think this is a base requirement to get this used in enterprise environments. If you can't provide this, I think winget won't be popular, because it has no advantages that for example chocolatey or SCCM don't have. They both have more or less feeds. WinGet doesn't. It has only metadata.

This makes it hard to use in big environments where more then 10 people use the same tools. Maybe we can just add a NuGet feed features or something like this. or merge the two projects chocolatey and winget to one big thing. They are very similar. Just think about. Also chocolatey has a very big feed with a wide range of tools.

@ferventcoder
Copy link

@paule96 exactly. I'm not sure this is targeted for enterprise environments. At least that's my general understanding and why there are collaborations in place with other package managers. Use what makes sense in the environment you are in.

@SunbrightShinobi
Copy link

Also while other package managers may provide the feature already, getting chocolatey approved for use in an enterprise closed classified network is a no go. Winglet is part of windows so it’s already part of approved software. This is the reasoning behind my request of this feature. Right now Everyone has to write custom powershell scripts for WDM or SCCM to perform this and it’s a pita.

@ferventcoder
Copy link

Also while other package managers may provide the feature already, getting chocolatey approved for use in an enterprise closed classified network is a no go.

Not in my experience. I can't share due to NDAs but I can tell you b/c Chocolatey works fully offline and has zero call home, it is being used in such areas.

@ferventcoder
Copy link

It could be a conflation of Chocolatey the tool and framework and Chocolatey.org packages (aka the community repository). The latter would never be approved in organizations such as that, but that's okay b/c that is not Chocolatey itself.

@SunbrightShinobi
Copy link

Well all depends on varying approving environments, but its not across the board or guaranteed like something built into windows. Also to be able to do that last time I checked required the licensed model. So that's increased cost as well if still true.

@ferventcoder
Copy link

Nothing about offline use for choco requires a licensed model - we try to be super clear on that. But either our docs lean the wrong way or some folks misread. Any ideas on how to clarify that for folks?

@SunbrightShinobi
Copy link

SunbrightShinobi commented Jun 18, 2020

@ferventcoder Reviewing https://chocolatey.org/compare there is an item that would prevent Choco use in a fully closed off environment that are not supported in open source. But yes it does state internal private feeds are supported under Open Source.

  • Package Internalizer - Convert existing packages for complete offline/reliable use (removes the need for internet access from existing packages)!

So then if you are stating that Choco can be used fully offline, is your proposed model that a developer of admin requires the use of the pro license to create the packages for offline use but on user-level desktops and servers that simply need the deployment capability, they can run the open source using packages build from the pro model? That would be one thing that would have made it feasible to use and request for say a large govt. UAV program with security approval. I can get 10-15 licenses approved for developers and convince the customer to purchase licenses for their developers if they take over support. But I can't convince them that 40 plus hosts need a license and continuous support.

So if that use case is true, I recommend adding use cases like that on the compare editions page, so architects and leads can quickly see cost impacts to make decisions. That would be helpful for some of the other features if included with a license level to clearly state this is for developing packages easier but no license is required to utilize a package build with those features.

@ferventcoder
Copy link

@binarylandscapes

You are close and I think I see your confusion here. Target in on the word "existing" in that statement - Internalize existing packages. You can create offline packages all day long with choco new and you can internalize manually.
I think adding a blurb about manual internalization above that might be helpful, pointing to the article at https://chocolatey.org/docs/how-to-recompile-packages#how-to-internalizerecompile-an-existing-package-manually. I know that at the top we have Create packages as listed from open source on, but I sense there is confusion about what that means. I've just ensured that was updated - https://chocolatey.org/compare

@denelon
Copy link
Contributor

denelon commented Jun 4, 2021

@paule96 we've implemented a reference implementation for the REST API. You could stand up your own private repository and host packages "offline" in your own environment. I'm going to close this issue as I believe this is what you requested. If that's not the case, feel free to reopen so we can discuss the scenario further.

Thank you for contributing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
None yet
Development

No branches or pull requests

6 participants