Skip to content

emgarten/Sleet

Repository files navigation

Build Status

AppVeyor Azure Pipelines Github
AppVeyor VSO .NET test

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
  • Fast. Static feeds are created using the NuGet v3 feed format.
  • 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
  2. Extract tools/Sleet.exe to a local folder and run it.

Install dotnet global tool

  1. dotnet tool install -g sleet
  2. sleet should now be on your PATH

Read the guides

Documentation can be found in this repo under /doc

Quick start guides

These provide a walk through on the basics of configuring sleet, creating, and using a feed.

Check out the full getting started guide here.

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.

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 provides MSBuild props/targets for running Sleet.
  • Sleet.Search provides a search service for Sleet feeds.

License

MIT License

About

A static nuget feed generator for Azure Storage, AWS S3, and more.

Topics

Resources

License

Stars

Watchers

Forks

Languages