Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asp Net Core Api Gateway framework #255

Open
1 of 18 tasks
VeritasSoftware opened this issue Jan 17, 2023 · 5 comments
Open
1 of 18 tasks

Asp Net Core Api Gateway framework #255

VeritasSoftware opened this issue Jan 17, 2023 · 5 comments

Comments

@VeritasSoftware
Copy link

1.   General Information

Project Name: AspNetCore.ApiGateway

License: MIT License

Contributor (Company, Organization or individual name(s)): Shantanu Negi

Existing OSS Project? (Yes/No): No

Source Code URL: https://github.com/VeritasSoftware/AspNetCore.ApiGateway

Project Homepage URL (if different):

Project Transfer Signatories:
Full legal name and email address required of the individual(s) with the authority to transfer or contribute the project to the .NET Foundation. Note that if you'd prefer not to include this in the public application, it can be submitted via e-mail to [email protected] (referencing this issue number).

Shantanu Singh Negi
[email protected]

2.   Description

Please provide a brief statement about your project in terms that are understandable to the target consumer of the library or project, i.e. an elevator pitch for the project:

The project is a framework that allows you to build your own Api Gateway.
The framework visualizes the Api Gateway as a Microservice facade over the back-end Apis.
The framework taps into the Asp Net Core Request Pipeline. So, developers who are familiar with Apis will easily be able to understand and use the framework.

Please provide a 1 sentence (<140 character) summary of your project to help users when searching the .NET Foundation projects

An easy to use and rich in features framework, to build your own Api Gateway.

3.   Project Governance

Please complete this section about who will be maintaining the open source project and how it will run.
Project Lead:
(Who is the primary contact point for the community and the .NET Foundation when discussing governance of the project.)

Name: Shantanu Negi
Email: [email protected]
GitHub Profile URL: https://github.com/VeritasSoftware

Committers:

Shantanu Negi

Which individuals have commit / write access to the repository, what is their GitHub ID and who is their employer (if contributions are on behalf of an employer)

Governance Model:

Please describe how new code changes are proposed to the project, how those changes are reviewed and how a decision is made to accept proposed changes. Also describe the process for identifying and appointing new committers.

CLA

Contribution Model

If already an OSS project, was a Contribution License Agreement in place for contributions accepted? How does the project check who has signed one?

CLA Notification Alias
Provide an email address that will receive CLA related notifications from the .NET Foundation CLA automation

[email protected]

Assignment Model. Under the .NET Foundation assignment model, project ownership and other intellectual property is assigned to the .NET Foundation and the .NET Foundation agrees to grantback a license to the contributor(s).

Contribution Model. Under the .NET Foundation contribution model, a project retains ownership of the copyright, but grants the .NET Foundation a broad license to the project’s code and other intellectual property. The project also confirms that the project’s submissions to .NET Foundation are its own original work (there are also instructions for any third party materials that might be included).

4.   Repository Layout

The .NET Foundation host guidance for new projects and details on recommended structure here:
https://github.com/dotnet/home/tree/master/guidance

Note that the open source repository should be the master where changes are made by the core development team using the same PR process that is used for non-committer contributions.

Please define below any changes you would want to make to your repositories as part of the process of joining the .NET Foundation

5. Eligibility Criteria

Please complete the following for your project

  • The project is built on the .NET platform and/or creates value within the .NET ecosystem.
  • Yes
  • No
  • The project produces source code for distribution to the public at no charge.
  • [ X] Yes
  • No
  • The project's code is easily discoverable and publicly accessible (preferably on GitHub).
  • [ X] Yes
  • No
  • The project contains a build script that can produce deployable artifacts that are identical to the official deployable artifacts, with the exception of code signing (Exception may be granted for strong name keys, though strongly encouraged to be committed. Exception relies on OSS signing being in the build script for public builds).
  • Yes
  • [ X] No
  • When applicable, project must use reproducible build settings in its toolchain.
  • Yes
  • [ X] No
  • Yes
  • [ X] No
  • The project uses either embedded PDBs or publish symbol packages to NuGet (if applicable).
  • Yes
  • [ X] No
  • The project code signs their artifacts as appropriate.
  • Yes
  • [ X] No
  • The project organization has 2FA enabled. Requiring 2FA must be done as part of onboarding if not already enabled.
  • [ X] Yes
  • No
  • Libraries that are mandatory dependencies of the project are offered under a standard, permissive open source license which has been approved by the .NET Foundation (exceptions include a dependency that is required by the target platform where no alternative open source dependency is available such as the .NET Framework or a hardware specific library).
  • [ X] Yes
  • No
  • Committers are bound by a Contributor License Agreement (CLA) and/or are willing to embrace the .NET Foundation's CLA when the project becomes a Member.
  • [ X] Yes
  • No
  • The copyright ownership of everything that the project produces is clearly defined and documented.
  • Yes
  • [ X] No
  • The project has a public issue tracker where the status of any defect can be easily obtained.
  • [ X] Yes
  • No
  • The project has a published Security Policy.
  • Yes
  • [ X] No
  • The project has a home page which provides high level information about its status and purpose.
  • [ X] Yes
  • No
  • The project has a public communication channel where community members can engage with maintainers.
  • [ X] Yes
  • No
  • The project has a publicly available location where members can review and contribute to documentation.
  • [ X] Yes
  • No

6.   PR Plan

Please summarize the public relations plan for the announcement when joining the foundation (and releasing as open source if appropriate). What is the main story we wish to promote, through what channels, what issues should we be aware of?  For significant news events then please also work with your .NET Foundation contact to ensure a full PR plan is developed.

7.   Infrastructure Requirements

Please describe any infrastructure requirements for the project. For example, how will build servers be operated? Any web hosting or service hosting requirements? Do we need to set up SSL certificates or provide Authenticode Code Signing arrangement for releases?

8.   Additional Notes

Please provide any additional information required or use this area for notes during the onboarding process. If this open source project has similarities with any other projects in this space then please detail them and why this project is different. If there are any potential issues that you feel the project might need help with early on then also state them here and discuss with your .NET Foundation Contact.

@VeritasSoftware
Copy link
Author

More elaboration:

My framework envisages an Api Gateway as a Micro service facade over back-end micro services.
So, the Api Gateway is a micro service too.

Hence, developers of Asp Net Core Web APIs, will find my framework very intuitive.
Since, it is also leverages the Asp Net Core request pipeline.
They can bring their knowledge of Web APIs to the Api Gateway.

Eg. they would know what an Action Filter is. And, what it can be used for.
They can apply that knowledge to the Gateway Action Filter.

@sbwalker
Copy link
Collaborator

sbwalker commented Feb 9, 2023

The Project Committee Charter (https://github.com/dotnet-foundation/projects) contains activity criteria which is used to evaluate project applications. At our most recent meeting, it was agreed by the Committee that this project does not currently exhibit activity or adoption metrics at a level which would allow for an application approval- however based on the broad applicability, it will be included in the Seed category for consideration as a Member project in the future.

@VeritasSoftware
Copy link
Author

Hi

Just to clarify.

I mentioned this issue while posting on Ocelot's performance discussion.

Since, my design is using the Asp Net Core request pipeline,
performance benchmarks like requests/second,
should be as per Asp Net Core.

My post was about comparing it against Ocelot.

@VeritasSoftware
Copy link
Author

VeritasSoftware commented Dec 10, 2023

Hi

Just an FYI.

Below are the VS Code Metrics of my project vis a vis Ocelot.

My project:

image

Ocelot:

image

@VeritasSoftware
Copy link
Author

FYI. I have called my concept:

Gateway as a RESTful Microservice Facade.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants