Where to store API Definitions

Hi Folks,

I’m just getting started with your gateway, and I am trying to make the fundamental decision of where to store the api definitions (DB or file).

I imagine your immediate questions will be: Pro or CE (CE for now), and Do you want to use the Dashboard (yes, but I want to ship the logs to a central location and use Dashboard there. Sort of like a Multi Data Center).

However, I would kind of like to use the dashboard in the testing/development. So I am at a loss as to how I should proceed.

Furthermore, I have my API’s in swagger files, and I need to automate the construction of a gateway container to load up all of the API swagger definitions during the startup process. I have found that the importing of the swagger data via the Dashboard API to be, well, impossible - as your spec appears to want the swagger data as part of a larger object (and both YAML and JSON are cumbersome). The Gateway API spec appears to take a file, and I can create/generate API definition files for the container, but then I loose the Dashboard (which I am OK with at this time).

So, aside from asking why you have two different storage options (I get the licensing concerns), what would be the approach that you would recommend I take at this time?

Thanks.

Answering some of my own questions here - I seems that we will need to use the DB to store the definitions. Long term, this makes sense for our purposes. I am still concerned about how the swagger definitions are imported, as it seems they need to be JSON and be escaped, as indicated here: https://tyk.io/docs/configure/import-apis/#import-dashboard

This means that I need to read my swagger files on a per API basis, then import them into the dashboard one by one. Does this sound right?

I am aware of the import/export operations, but I am earlier in the process to make use of that.

Thanks.

Sorry for the multiple posts - it looks like importing from swagger doesn’t really add much to the scenario, since only the method and path are used. I may have to extract the key elements from the swagger docs and insert them into the JSON for importing definitions.

I think I may be out of the woods, but any additional info you think may help would be appreciated. Thanks.

Hi cajund

Glad to hear you’ve made some progress on this. Tyk offers this kind of functionality and more through the Tyk MDCB component, if you’d like to discuss costs for this with an account manager, just email on [email protected]

Thanks

James