Skip to main content

Run BaGetter on Azure

warning

This page is a work in progress!

Use Azure to scale BaGetter. You can store metadata on Azure SQL Database or Table Storage, upload packages to Azure Blob Storage, and soon provide powerful search using Azure Search.

TODO

  • App Service
  • High availability setup

Configure BaGetter

You can modify BaGetter's configurations by editing the appsettings.json file or through environment variables. For the full list of configurations, please refer to BaGetter's configuration guide.

Package Metadata Database

To storage the package metadata, you can use any Azure SQL database (as any normal SQL DB), but also Azure Table Storage in a Storage Account or Azure Cosmod DB in Table API mode.

To use a SQL database, set the database type to the SQL provider of your choice (e.g. SqlServer) and provide a connection string:

{
...

"Database": {
"Type": "SqlServer",
"ConnectionString": "..."
},

...
}

Azure Blob Storage

Set the storage type to AzureBlobStorage and provide a container name to use and credentials:

To use account name and access key, add them like this:

{
...

"Storage": {
"Type": "AzureBlobStorage",
"Container": "my-container",
"AccountName": "my-account",
"AccessKey": "abcd1234"
},

...
}

Azure Search is currently not available due to significant API changes BaGetter has to make. Once it's available, you can set the search type to AzureSearch and provide an account name and API key:

{
...

"Search": {
"Type": "AzureSearch",
"AccountName": "my-account",
"ApiKey": "ABCD1234"
},

...
}

Publish packages

Publish your first package with:

dotnet nuget push -s http://localhost:5000/v3/index.json package.1.0.0.nupkg

Publish your first symbol package with:

dotnet nuget push -s http://localhost:5000/v3/index.json symbol.package.1.0.0.snupkg
warning

You should secure your server by requiring an API Key to publish packages. For more information, please refer to the Require an API Key guide.

Restore packages

You can restore packages by using the following package source:

http://localhost:5000/v3/index.json

Some helpful guides:

Symbol server

You can load symbols by using the following symbol location:

http://localhost:5000/api/download/symbols

For Visual Studio, please refer to the Configure Debugging guide.