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

application end point registration API yaml #321

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

maheshc01
Copy link
Collaborator

What type of PR is this?

This PR is to review and update application endpoint registration API yaml.

Add one of the following kinds:

  • bug
  • correction
  • enhancement/feature
  • cleanup
  • documentation
  • subproject management
  • tests

What this PR does / why we need it:

Initial commit of the yaml to provide ability to register application endpoints.

Which issue(s) this PR fixes:

issue #286

Fixes #

Special notes for reviewers:

This is only the initial commit and additional updates are required related to documentation, error codes etc to ensure it meets the CAMARA guidelines.

Changelog input

 release-note

Additional documentation

This section can be blank.

docs

Copy link

github-actions bot commented Nov 11, 2024

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ ACTION actionlint 2 0 0.03s
✅ JSON eslint-plugin-jsonc 1 0 0 1.47s
✅ JSON jsonlint 1 0 0.19s
✅ JSON prettier 1 1 0 1.1s
✅ JSON v8r 1 0 2.14s
✅ OPENAPI spectral 4 0 8.09s
✅ REPOSITORY git_diff yes no 0.68s
✅ REPOSITORY secretlint yes no 4.61s
✅ YAML yamllint 4 0 0.97s

See detailed report in MegaLinter reports

MegaLinter is graciously provided by OX Security

url: https://www.apache.org/licenses/LICENSE-2.0.html
description: |
Application endpoint registration allows application developers to
register one or more Application Endpoints, and retrieve, update,and
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we have a definition for "Application Endpoints" to make it more explicit?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also think that these Application Endpoints are not generic and they corresponds to the application instances running on edge cloud zones in probably distributed manner. So should we qualify the Application Endpoints in some way to indicate developers about the expectations from these endpoints i.e. edge instances?

description: |
Application endpoint registration allows application developers to
register one or more Application Endpoints, and retrieve, update,and
delete those egistrations.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose egistrations is should be "registrations"

This information can we used for various usecases like optimal end
point discovery to help end users connect to the most most optimal
instance of the application. Addtionally the information can be used
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel that if can refer or qualify applications as "edge applications" then it will make it more related to edge deployments while using generically may imply any deployment including clouds. Just a thought.

delete those egistrations.
This information can we used for various usecases like optimal end
point discovery to help end users connect to the most most optimal
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"most most optimal" should be changed to "most optimal"

items:
$ref: "#/components/schemas/ApplicationInstance"
responses:
"200":
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also consider the additional status codes which could be valid for the POST requests in alignment with other APIs and consistency.

paths:
/application-endpoints:
post:
operationId: register-application-endpoints
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the POST method should we also include "x-correlator" header as done with other APIs.?

edgeCloudRegionId:
$ref: "#/components/schemas/EdgeCloudRegionName"
ResourcesapplicationEndpoint:
type: object
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we assume that an application can expose only one endpoint or there could be more than one for different purposes? If there can be more than one which only application provider knows then this parameter should allow the multiplicity by having it as an array of objects. Also in that case with each endpoint there should be a discriminator field to allow client applications to know the purpose of a specific endpoint.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although the top level object is an array but then if application has multiple endpoints some of the information will be repeated that many times as they will be common to an application.

@maheshc01
Copy link
Collaborator Author

@urvika-v tagging Urvika for review and updates

@maheshc01 maheshc01 assigned maheshc01 and unassigned maheshc01 Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

EDS API: Application Endpoints functionality to be a new API
3 participants