Kzu's Today I Learned
GitHubX/TwitterBlog
  • Today I Learned
  • dotnet
    • How to emit descriptions for exported JSON schema using JsonSchemaExporter
    • NuGet
      • Suppress dependencies when packing
      • Hide contentFiles from your nuget packages
      • Packaging transitive analyzers with NuGet
      • How to add search to static nuget feed
      • Populate RepositoryBranch in CI for NuGet Pack
    • Ignore folder from dotnet-format
    • Accessing Tor .onion URLs via HttpClient with .NET6
    • Installing .NET 5.0 on Raspberry Pi 4
    • Quickly check C# compiler and language version
    • Disable diagnostic analyzers for entire folder/submodules
    • Persisting output files from source generators
    • Use C# 9 records in non-net5.0 projects
    • AsyncLocal never leaks and is safe for CallContext-like state
    • Using HashCode in .NETFramework
    • How to locate dotnet
  • testing
    • Conditional unit tests
    • Skip tagged scenarios in SpecFlow with Xunit
  • msbuild
    • How to get user home dir ~ cross-platform
    • Modifying the build for every solution in a repository
    • Detect CI builds for every CI system
    • Modify all command-line builds in entire repo
    • Write entire XML fragments in MSBuild with XmlPoke
    • How to select first item in an ItemGroup
    • How to include commit URL in nuget package description
    • How to include package reference files in your nuget
    • How to build project when content files change
  • azure
    • How to launch multiple Azure Functions apps on different ports
    • C# script function apps beyond Azure portal
    • Publishing function app from GitHub folder
    • Exploring Azure Data with Kusto and Dashboards
    • Shared secret authorization with Azure SignalR Service
    • Using Azure File Copy from DevOps yaml pipeline
    • Code-less redirection with serverless Azure Functions
  • DevOps/CI/CD
    • How to run Azure Storage unit tests in CI
    • How to skip steps or jobs in GitHub Actions for PRs from forks
    • Update version and publish npm from GH
    • Push to protected branch from GitHub actions
Powered by GitBook
On this page
  1. dotnet
  2. NuGet

How to add search to static nuget feed

PreviousPackaging transitive analyzers with NuGetNextPopulate RepositoryBranch in CI for NuGet Pack

Last updated 3 years ago

I have been using feeds for a while now. is totally awesome. One missing piece was search: searching a static feed would just return everything, always. !

To set it up:

  1. Fork : this is the Azure function project that will perform the search on your static feeds. You'll host your own in a consumption (aka serverless) plan in Azure.

  2. Create an Azure Functions app and follow the : that's basically setting up the simplest CI/CD for a GH repo.

  3. By default, the project allows passing in the static feed "search" url (which is a blob named under /search/query in your sleet blob container) and requires function authentication. In my case, I wanted a simpler search URL and anonymous access, so I . Basically the function can now be accessed at /query, without URL-encoding another URL parameter there.

  4. Follow instructions to .

That's it. Now you can configure my feed https://pkg.kzu.io/index.json and it will be fully searchable. Plus, I used to make the blob storage URL that much nicer. I even made the query URL nice, since it was trivial too: https://pkg.kzu.io/search 😍.

static serverless nuget
Sleet
Not anymore
Sleet.Search
deployment steps from my blog
made that change to Sleet.Search
enable search for your sleet feed via settings
Azure Functions Proxies