Using Tyk Hybrid or Tyk-pump with File base API config


#1

We are using V2.0 on our only server with file-based API + policy config (/app/*.json)

We want to add statistic and analytics dashboard. I know there are two options.

  1. Using “Tyk Hybrid”. but it is not compatible with file-based API config. right ?
  2. Using self-hosted “Tyk-pump”. is this support file-based API + policy?
  3. Any suggestions if we want to stick with file-based config? Reasons we want file-based, because of a) we afraid human mistakes when using GUI to modify API and policy. b) easier to do CI and CD

Cannot version apps/policies, Config-as-code
#2

Hi Angus,

The only fully file-based option would be to continue using the Tyk Gateway without the Dashboard.
Tyk Hybrid most probably won’t be appropriate for your use case as this would require you to store configuration data on our cloud servers whilst maintaining a local hybrid Gateway. The second option that you’ve mentioned might be preferable as this option would allow you to store Tyk Gateway, Tyk Pump and the Tyk Dashboard locally on servers that you own. It should also be noted that with this option, the Tyk Dashboard saves API definitions, &c. in MongoDB (the Import/Export functionality introduced to the Admin API in Tyk v2.3 should make backing up Organisation and API data more straightforward however).

Hope that helps. Do let us know if you have any further questions.

Kind regards,
Jess @ Tyk


#3

Just wanted to clarify about Tyk Pump: it is quite dumb and does not know anything about API policies, etc. Its the main job is to extract analytics data from Redis and pump it to various sources if it is mongo or elastic search.

Regarding your points:

a) we afraid human mistakes when using GUI to modify API and policy.
b) easier to do CI and CD

Totally get it, and worth mentioning that Dashboard is not just a GUI. It is a separate powerful API, which allows you to configure organization and users. It is similar to Gateway API but has more options and extensions. Actual UI is a thing layer that uses the same API as you would do. This is quite common among our users that they do not use dashboard for its UI, but instead use only dashboard API, and use own dashboards for analytics. By using API, you can ensure that human mistakes are minimized, and CI/CD works flawlessly.

The big bonus of using Dashboard API, is that you can manange multiple Tyk Gateway instances using single API call, and it act as the single source for all truth. When you make changes in the dashboard, it propagates them to all Tyk Gateways, and automatically hot reload them.

Hope it makes sense!

Leonid, Tyk Team


#4

If we need to keep track our API versioning and changes.
if using Dashboard API to manage API & Policies
We need to:

  • Write script to call Dashboard API
  • Commit those script in our Github
  • Run the script when deployment

is this correct?


#5

Yes, you are correct :thumbsup:

Leonid, Tyk Team