Skip to content

emgarten/Sleet

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
April 2, 2023 13:52
doc
April 2, 2023 13:52
src
April 2, 2023 13:52
April 1, 2023 20:07
March 11, 2017 19:43
September 3, 2016 20:40
July 29, 2016 22:05
April 24, 2021 19:23
April 2, 2023 14:09
April 24, 2021 19:06
April 25, 2016 21:27
November 19, 2017 21:05

Build Status

AppVeyor Azure Pipelines
AppVeyor VSO

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