-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Spike] API Connect / LoopBack 4 integration #4115
Comments
|
I tried importing the api spec from the LoopBack todo example app to apic and had the following errors:
|
I was able to import a converted YAML file from the Loopback api JSON spec into APIC. 1 - added a x-ibm-configuration section in the top below the api info section
2 - changed the info section as below. Original LoopBack spec has capital letters for title which apic complains about. Also added x-ibm-name
3 - the below scope section in all filter object definition creates errors when importing to apic. So I have removed it for time being. UPDATE: I checked by importing the openapi file in JSON format (as downloaded directly from LB app) to apic and the above error does not occur. Error occurs only for converted YAML format.
|
Without removing the scope section in the filter object definition the following errors are thrown while importing to APIC. I am investigating the root cause. UPDATE: I checked by importing the openapi file in JSON format (as downloaded directly from LB app) to apic and the above error does not occur. Error occurs only for converted YAML format.
|
So far I have imported the following YAML into APIC after making the above changes. I will have to test the LoopBack endpoint and confirm if the import was all good. |
@deepakrkris, the error you listed in #4115 (comment), did LB generate a valid OpenAPI spec (I thought we do) or it's some validation inside APIC? Thanks. |
@dhmlau it is the validation inside APIC that is causing the issue. I am trying to find out what apic would accept for the scope block. |
I am able to invoke the todo-list LB app hosted in AWS via an APIC gateway. |
Following are the only pending items in this spike now: UPDATE: I checked by importing the openapi file in JSON format (as downloaded directly from LB app) to apic and the above error does not occur any more. The error occurs only in the converted YAML format.
|
error mentioned in #4115 (comment) does not occur when importing the openapi file in JSON format (as downloaded directly from LB app) to apic. so the error occurs only in the converted YAML format. Below screenshot: Invoking the gateway url, apic gets data from Backend |
Follow-up tasks:
|
Thanks @deepakrkris. I think we also need to have a docs task, possibly contribute back to the APIC's Knowledge Center, on how to import OpenAPI spec from LB. |
From the above comments, I think you were able to import the OpenAPI spec generated by LoopBack into APIC. What about "investigate if General limitations and Security limitations in APIC Knowledge Center would affect us"? Is it part of the task#2 you're proposing?
|
Thank you @deepakrkris for documenting what you have found during the investigation 👍 Regarding the limitations described in #4115 (comment). IMO, we should not force APIC-specific constraints on all LoopBack users:
|
I will complete "investigate if General limitations and Security limitations in APIC Knowledge Center would affect us" as part of this spike. |
@bajtos , agree with you. I am thinking APIC toolkit should have an option to modify a spec to add x-ibm configurations and ask user to make necessary changes. I will create a task in velox-devops (APIC) repo and see what is the feedback. |
@dhmlau I am reading thru the limitations. I will open few follow up tasks if any testing/verification is required. Otherwise this item will be completed as part of this spike. |
IIRC, for LoopBack 3, if you start off as a pure LB application, there's some CLI you can run to make it APIC compatible, i.e. adding the |
@dhmlau Hmm, I am not aware of those commands, at least LB3 doesn't have them (Maybe APIC has commands to import LB3 app?). |
@dhmlau , @bajtos I have opened issue https://github.ibm.com/velox/velox/issues/4303 towards APIC platform (includes toolkit) . I will watch for feedback and update here. |
updated the velox Epic for LoopBack 4 integration https://github.ibm.com/velox/ui/issues/19306 |
Sounds good to me 👍 |
I have gone thru the general limitations for Open API 3 in APIC Knowledge Center https://www.ibm.com/support/knowledgecenter/en/SSMNED_2018/com.ibm.apic.toolkit.doc/rapic_oai3_support.html . I don't see any case that would trigger incompatibility between APIC and LoopBack 4 APIs based on the given general and security limitations. |
This task is unnecessary as the available policies on the APIC assembly define the API invocation flow of datapower and has nothing to impact the endpoints themselves. |
Follow up tasks:
|
@deepakrkris, thanks for opening the follow up tasks. Can we close this issue as done? Thanks. |
@dhmlau yes I am good with closing this issue |
Suggestion
APIConnect v2018 now has limited support in OpenAPIv3. See demo and limitations.
Use Cases
There might be various use cases, I think for one use case, we can:
target-url
to point to that REST API endpointNote: this is based on my limited understanding of APIConnect and things might change as well. We can get @smartmouse to help if needed.
Acceptance criteria
We should:
General limitations
andSecurity limitations
in APIC Knowledge Center would affect uscc @raymondfeng @bajtos @deepakrkris
The text was updated successfully, but these errors were encountered: