Centralized settings management for dotnet microservices.
Explore the docs »
Table of Contents
Fig is a complete solution for managing settings across multiple micro-services. It consists of three components: a client library, API and web front end.
To add your application to Fig, add the Fig.Client nuget package to your application and register it as a configuration provider (see documentation for details). You also need an environment variable to tell your app the API address. The Fig API and Blazor Web Application can run in containers locally or in the cloud. Fig is able to manage any number of applications including full configuration support, online status and much more.
-
Free and Open Source
-
Modern, built on latest dotnet technology
-
Complete settings management
- Offline settings support
- Centrally manage settings
- Setting history and audit logging
- Import & Export of settings and values
- Live reload of settings
- Remote restart of settings clients
- Configuration Provider (support for IOptions)
- Secure - authentication required for settings management
- Automatic settings registration
-
Features to improve setting management
- Setting descriptions driven from markdown documentation (including images)
- Default values driven by application
- Different editors depending on setting type
- Complex value validation
- Secret setting support
- Settings grouping
- Setting verification support using extensible framework
- Hide settings with reasionable defaults
- Lookup tables for improved setting translation
- Instance support to vary settings for indivudual clients
-
Stateless backend for scalability
Read the quickstart guide here
Examples can be found here.
Fig is getting close to being feature complete but is accepting suggestions for new features and improvements.
Included in the roadmap are:
- End to end integration tests with Playwright
- Open Telemetry Observability
- Minor fixes and improvements
See the open issues to suggest something else.
If you have any suggestions, please open an issue with the tag 'enhancement'. Don't forget to star the page if the project is useful to you.
If you are interested in contributing to the development, please raise a pull request.
Distributed under the Apache 2.0 License. See LICENSE.txt
for more information.
Project Link: https://github.com/mzbrau/fig
Fig stands on the shoulders of giants. Many thanks to all the open source software that makes it possible.
- JetBrains - Provided Rider licence as part of their support for open source projects - A big thank you to them for making this project possible.
- Jason Watmore's blog - user management and auth tokens
- Danien Bod's github - Encryption examples
- Radzen Blazor Components A fantastic set of UI components for Blazor.
- Nate McMasters's plugin framework
- Jint - Javascript interpretor for dotnet
- Markdig - Markdown documentation support
- Benchmark.NET
- MinVer
- Moq
- Polly
- Blazor Hot Keys