Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emgarten/Sleet
A static nuget feed generator for Azure Storage, AWS S3, and more.
https://github.com/emgarten/Sleet
feed-generator nuget nupkgs
Last synced: 20 days ago
JSON representation
A static nuget feed generator for Azure Storage, AWS S3, and more.
- Host: GitHub
- URL: https://github.com/emgarten/Sleet
- Owner: emgarten
- License: mit
- Created: 2016-02-27T06:58:46.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-04-30T03:49:52.000Z (7 months ago)
- Last Synced: 2024-05-22T20:10:26.572Z (6 months ago)
- Topics: feed-generator, nuget, nupkgs
- Language: C#
- Homepage:
- Size: 2.05 MB
- Stars: 333
- Watchers: 7
- Forks: 40
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## Build Status
| AppVeyor | Azure Pipelines | Github |
| --- | --- | --- |
| [![AppVeyor](https://ci.appveyor.com/api/projects/status/cuhdeq60c3ogy7pa?svg=true)](https://ci.appveyor.com/project/emgarten/sleet) | [![VSO](https://hackamore.visualstudio.com/_apis/public/build/definitions/abbff132-0981-4267-a80d-a6e7682a75a9/2/badge)](https://github.com/emgarten/sleet) | [![.NET test](https://github.com/emgarten/Sleet/actions/workflows/dotnet.yml/badge.svg)](https://github.com/emgarten/Sleet/actions/workflows/dotnet.yml) |# What is Sleet?
Sleet is a static NuGet package feed generator.
* **Serverless**. Create static feeds directly on *Azure Storage*, *Amazon S3* or another S3 compatible storage. No compute required.
* **Cross platform**. Sleet is built in .NET, it can run on *.NET Framework*, *Mono*, or [dotnet CLI](https://github.com/dotnet/cli)
* **Fast.** Static feeds are created using the [NuGet v3 feed format](https://docs.microsoft.com/en-us/nuget/api/overview).
* **Simple.** Sleet is a simple command line tool that can add, remove, and update packages.
* **Flexible.** Configuration and credentials can be set using files, env vars, command line args, or AWS specific patterns to support a variety of workflows and CI builds.## Why use static feeds?
* Package binaries are typically kept outside of git repos, static feeds provide a long term storage solution that can be paired with checked in code.
* NuGet feeds are typically read for restore far more than they are updated.
* Cloud storage accounts are a cheap and secure way to share nupkgs for public feeds.
* You keep full control of your packages.## Getting Sleet
### Manually getting sleet.exe (Windows and Mono)
1. Download the latest SleetExe nupkg from [NuGet.org](https://www.nuget.org/packages/SleetExe)
1. Extract *tools/Sleet.exe* to a local folder and run it.### Install dotnet global tool
1. `dotnet tool install -g sleet`
1. `sleet` should now be on your *PATH*## Read the guides
Documentation can be found in this repo under [/doc](doc/index.md)
### Quick start guides
These provide a walk through on the basics of configuring sleet, creating, and using a feed.
* [Setting up an Azure feed](doc/feed-type-azure.md)
* [Setting up an AWS S3 feed](doc/feed-type-s3.md)
* [Setting up a local feed with IIS hosting](doc/feed-type-local.md)
* [Integration with CI Server](doc/ci-server.md)
* [Setting up a private feed on AWS using S3 + CloudFront + Lambdas](doc/private-feed-s3.md)Check out the full getting started guide [here](http://emgarten.com/2016/04/25/how-to-host-a-nuget-v3-feed-on-azure-storage/).
## CI builds
CI builds are located on the following NuGet feed:
``https://nuget.blob.core.windows.net/packages/index.json``
The list of packages on this feed is [here](https://nuget.blob.core.windows.net/packages/sleet.packageindex.json).
## Contributing
We welcome contributions. If you are interested in contributing to Sleet report an issue or open a pull request to propose a change.
## Sleet is..
Cold static packages from the cloud. ☁️ + 📦 = ❄️
## History
Sleet was created to achieve the original goals of the NuGet v3 feed format: Provide maximum availability and performance for NuGet restore by using only static files.
The v3 feed format was designed to do all compute when pushing a new package since updates are infrequent compared to the number of times a package is read for restore. Static files also remove the need to run a specific server to host the feed, allowing a simple file service to handle it.
## Related projects
* [Sleet.Azure](https://github.com/kzu/Sleet.Azure) provides MSBuild props/targets for running Sleet.
* [Sleet.Search](https://github.com/emgarten/Sleet.Search) provides a search service for Sleet feeds.## License
[MIT License](https://github.com/emgarten/Sleet/blob/main/LICENSE.md)