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
<PackageReference Include="Ocelot.Provider.Consul.FaultTolerant" Version="18.2.0" />
paket add Ocelot.Provider.Consul.FaultTolerant --version 18.2.0
#r "nuget: Ocelot.Provider.Consul.FaultTolerant, 18.2.0"
// 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">
Windows (AppVeyor) Linux & OSX (Travis)
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 😃
Donate
If you think this project is worth supporting financially please make a contribution using the button below!
Product | Versions 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. |
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 |