Ocelot.Provider.Consul.FaultTolerant 18.2.0

dotnet add package Ocelot.Provider.Consul.FaultTolerant --version 18.2.0                
NuGet\Install-Package Ocelot.Provider.Consul.FaultTolerant -Version 18.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ocelot.Provider.Consul.FaultTolerant" Version="18.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Ocelot.Provider.Consul.FaultTolerant --version 18.2.0                
#r "nuget: Ocelot.Provider.Consul.FaultTolerant, 18.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Ocelot.Provider.Consul.FaultTolerant as a Cake Addin
#addin nuget:?package=Ocelot.Provider.Consul.FaultTolerant&version=18.2.0

// Install Ocelot.Provider.Consul.FaultTolerant as a Cake Tool
#tool nuget:?package=Ocelot.Provider.Consul.FaultTolerant&version=18.2.0                

<img src="http://threemammals.com/images/ocelot_logo.png">

Build status Windows (AppVeyor) Build Status Linux & OSX (Travis)

Coverage Status

Ocelot.Provider.Consul

This package adds Consul support to Ocelot via the package Consul.NET.

What's Different from the Original "Ocelot.Provider.Consul" Package?

  • The application crashes at startup time if cannot access to the specified Consul server! In this package, this is fixed. The Ocelot gateway just startus up normally, uses the local appsettings/ocelot.json configuration file and starts trying to access Consul server using the specified PollingInterval (ms) value. Once it is accessed successfully, it now starts to use routes from Consul.
  • PollingInterval in local config file was not being used. The value (if specified) in Consul server was being used instead. This behaviour has been changed to use local configuration file usage. Thus, PollingInterval value is being used from the local config file.
  • After initial startup and successfully fetch of config from Consul, even after the Consul server is down, the Ocelot gateway is happy with the in-memory routes/configuration from latest fetch from Consul. Once the Consul server is up again, the config fill be tried to updated (since it might have been changed or not).
  • "/gateway-routes" path will serve information about the current routes collection of the Gateway, both showing last fetched and file stored route configuration.

How to install

Ocelot is designed to work with ASP.NET Core only and it targets netstandard2.0. This means it can be used anywhere .NET Standard 2.0 is supported, including .NET Core 2.1 and .NET Framework 4.7.2 and up. This documentation may prove helpful when working out if Ocelot would be suitable for you.

Install Ocelot and it's dependencies using NuGet.

Install-Package Ocelot.Provider.Consul.FaultTolerant

Or via the .NET Core CLI:

dotnet add package Ocelot.Provider.Consul.FaultTolerant

All versions can be found here

Documentation

Please click here for the Ocleot serviec discovery documentation and here for storing configuration in Consul. This includes lots of information and will be helpful if you want to understand the features Ocelot currently offers.

Contributing

We love to receive contributions from the community so please keep them coming 😃

Pull requests, issues and commentary welcome!

Please complete the relevant template for issues and PRs. Sometimes it's worth getting in touch with us to discuss changes before doing any work incase this is something we are already doing or it might not make sense. We can also give advice on the easiest way to do things 😃

Finally we mark all existing issues as help wanted, small, medium and large effort. If you want to contribute for the first time I suggest looking at a help wanted & small effort issue 😃

If you think this project is worth supporting financially please make a contribution using the button below!

Support via PayPal

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
18.2.0 768 9/9/2022