Nuar.Tracing - Distributed tracing support for the Nuar API gateway framework
$ dotnet add package Nuar.Tracing
Nuar is an advanced, modular, and extensible API Gateway framework specifically designed for modern microservices architecture. With a focus on scalability, observability, and performance, Nuar simplifies API management, routing, and communication between services while providing seamless integration with popular tools and technologies.
================================================================================
.-----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | ____ _____ | || | _____ _____ | || | __ | || | _______ | |
| ||_ \|_ _| | || ||_ _||_ _|| || | / \ | || | |_ __ \ | |
| | | \ | | | || | | | | | | || | / /\ \ | || | | |__) | | |
| | | |\ \| | | || | | ' ' | | || | / ____ \ | || | | __ / | |
| | _| |_\ |_ | || | \ `--' / | || | _/ / \ \_ | || | _| | \ \_ | |
| ||_____|\____| | || | `.__.' | || ||____| |____|| || | |____| |___| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
_ _____ _
/\ (_)/ ____| | |
/ \ _ __ _| | __ __ _| |_ _____ ____ _ _ _
/ /\ \ | '_ \| | | |_ |/ _` | __/ _ \ \ /\ / / _` | | | |
/ ____ \| |_) | | |__| | (_| | || __/\ V V / (_| | |_| |
/_/ \_\ .__/|_|\_____|\__,_|\__\___| \_/\_/ \__,_|\__, |
| | __/ |
|_| |___/
/#### Nuar API Gateway ####\
@#~ *Innovative & Fast* ~#@
================================================================================
.
├── docs # Documentation and assets
│ └── logo # Nuar logo assets
├── README.md # This readme file
├── scripts # Build and packaging scripts
├── src # Core and extension libraries
│ ├── Nuar # Core Nuar framework
│ ├── Nuar.Cors # CORS policy management
│ ├── Nuar.CustomErrors # Custom error handling
│ ├── Nuar.Host # Host project for running the gateway
│ ├── Nuar.JWT # JWT authentication
│ ├── Nuar.RabbitMQ # RabbitMQ messaging support
│ ├── Nuar.Swagger # Swagger API documentation
│ └── Nuar.Tracing # Distributed tracing supportEnsure you have the following tools installed:
Clone the Repository
git clone https://github.com/ITSharpPro/Nuar.git
cd nuar_framework
Restore Dependencies
dotnet restore
Build the Project
dotnet build
Run the API Gateway
Navigate to the host directory and run the API Gateway:
cd src/Nuar.Host/src/Nuar.Host
dotnet run
Nuar is fully configurable through YAML. Define routes, services, CORS, security policies, and more in nuar.yml:
routes:
- path: /api/service1
service: service1
method: GET
auth:
required: trueBuild & Package: Use the following script to package all components:
bash scripts/pack-all.sh
Run Tests: To execute all unit tests, run:
bash scripts/build-and-test.sh
Nuar is designed to be modular. Below are some key extensions:
Contributions are welcome! If you have a bug report, feature request, or want to contribute code, please follow these steps:
We also encourage opening discussions on issues to get feedback from the community before starting large feature developments.
The Nuar Framework is licensed under the Apache-2.0 License.
For more information, visit ITSharpPro or check the official documentation.
