-
Notifications
You must be signed in to change notification settings - Fork 44
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 Endpoint Discovery First Contribution #245
Conversation
🦙 MegaLinter status: ✅ SUCCESS
See detailed report in MegaLinter reports |
type: string | ||
enum: | ||
- closest | ||
- name: IPv4-Address |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to specify what all parameters combinations are valid as there are multiple header parameters proposed though it has been with other APIs too. IPv4-Address, IPv6-Address, Network-Access-Identifier and Phone-Number which is mandatory. Can all of them be present? If not then there should be some guidance for application developers what should be valid parameter combinations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, as you say it is the same for other APIs. I suggest we wait for Commonalities release 0.4 for guidance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
description: A globally unique identifier associated with the application. | ||
OP generates this identifier when the application is submitted over NBI. | ||
AccessEndpoint: | ||
type: object |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for AccessEndpoint we need more discussion in terms of the data model. The reason is what should we expect in terms of the number of exposure endpoints of an application towards the application clients. May be an application is composed of multiple components and offers one or more endpoints to its clients for different purposes. In that case data model should consider those possibilities and accordingly consider them in defining the AccessEndpoint structure e.g. one or more ports, fqdns etc as an example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why AccessEndpoint
and not ApplicationServerEndpoint
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or ApplicationInstanceEndpoint or AppInstanceEndpoint?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Agree with AppInstanceEndpoint and as in the comment above in line 134, AppServerEndpoint is more specific and we are refering mostly the application in general
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see comments inline for review.
Authorization: Bearer {your_access_token} | ||
Accept: application/json | ||
Phone-Number: +441234567890 | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think one more example should be provided here for the "initial requests may be made without explicit device identifiers"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. We are going to wait for commonalities 0.4.0 to come out for guidance.
enum: | ||
- closest | ||
- name: IPv4-Address | ||
in: header |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should mention about what are valid combination from the give set of the user identifiers e.g. IPv4-Address, Network-Access-Identifier etc. If one of them or any of them or all should be present?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Agree with you. We are going to wait for the new commonalities to come out for guidance.
format: uuid | ||
description: A globally unique identifier associated with the application. | ||
OP generates this identifier when the application is submitted over NBI. | ||
AccessEndpoint: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As commented earlier an application may have more than one endpoints and for that reason we may use AccessEndpoints to accommodate plurality. If so, then we would need to make the AccessEndpoints as an array of objects that is being defined below which contains the endpoint accessibility information?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, in my opinion if multiple endpoints are returned then there should be an additional field which allow to embed a purpose or qualifier for a given endpoint which can be used by the client applications to differentiate one endpoint with other e.g. low quality video stream or high quality video stream endpoint? But then these qualifier should come from the API invoker may be at application onboarding time. Any thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine to me
This GUID will have been previously provided by the | ||
Edge Cloud Zone provider. | ||
AccessEndpoints: | ||
type: object |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think one comment is lost for some reasons. From the last comment "May be an application is composed of multiple components and offers one or more endpoints to its clients for different purposes. In that case data model should consider those possibilities and accordingly consider them in defining the AccessEndpoint structure e.g. one or more ports, fqdns etc as an example."
In my opinion the AccessEndpoint should be an array of objects instead of a single object as it is defined now to have one or more endpoints. And each endpoint may have a qualifier defined by API invoker to help differentiate between the endpoints based on the purpose of the endpoint in client side code. May be such qualifiers can be provided during app onboarding time of the application along with the components to which the endpoint belongs to in the /app-endpoints response.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree with you and as it was concluded in the edge cloud meeting for this version we keep a single endpoint
What type of PR is this?
Add one of the following kinds:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #212
Special notes for reviewers:
Changelog input
Additional documentation
This section can be blank.