github.com/dbernstein1/tyk@v2.9.0-beta9-dl-apic+incompatible/README.md (about) 1 # Tyk API Gateway 2 3 [![Build Status](https://travis-ci.org/TykTechnologies/tyk.svg?branch=master)](https://travis-ci.org/TykTechnologies/tyk) 4 [![Go Report Card](https://goreportcard.com/badge/github.com/TykTechnologies/tyk)](https://goreportcard.com/report/github.com/TykTechnologies/tyk) 5 [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FTykTechnologies%2Ftyk.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FTykTechnologies%2Ftyk?ref=badge_shield) 6 7 Tyk is a lightweight, open source API Gateway and Management Platform enables you to control who accesses your API, when they access it and how they access it. Tyk will 8 also record detailed analytics on how your users are interacting with your API and when things go wrong. 9 10 Go version 1.10 is required to build `master`, the current 11 development version. Tyk is officially supported on `linux/amd64`, 12 `linux/i386` and `linux/arm64`. 13 14 Tests are run against both Go versions 1.10 & 1.11, however at present, only Go 1.10 is officially supported. 15 16 ## What is an API Gateway? 17 18 An API Gateway sits in front of your application(s) and manages the heavy lifting of authorisation, access control and throughput limiting to your services. Ideally, 19 it should mean that you can focus on creating services instead of implementing management infrastructure. For example if you have written a really awesome web service 20 that provides geolocation data for all the cats in NYC, and you want to make it public, integrating an API gateway is a faster, more secure route than writing your own 21 authorisation middleware. 22 23 ## Key Features of Tyk 24 25 Tyk offers powerful, yet lightweight features that allow fine grained control over your API ecosystem. 26 27 * **RESTFul API** - Full programmatic access to the internals makes it easy to manage your API users, keys and Api Configuration from within your systems 28 * **Multiple access protocols** - Out of the box, Tyk supports Token-based, HMAC Signed, Basic Auth and Keyless access methods 29 * **Rate Limiting** - Easily rate limit your API users, rate limiting is granular and can be applied on a per-key basis 30 * **Quotas** - Enforce usage quotas on users to manage capacity or charge for tiered access 31 * **Granular Access Control** - Grant api access on a version by version basis, grant keys access to multiple API's or just a single version 32 * **Key Expiry** - Control how long keys are valid for 33 * **API Versioning** - API Versions can be easily set and deprecated at a specific time and date 34 * **Blacklist/Whitelist/Ignored endpoint access** - Enforce strict security models on a version-by-version basis to your access points 35 * **Analytics logging** - Record detailed usage data on who is using your API's (raw data only) 36 * **Webhooks** - Trigger webhooks against events such as Quota Violations and Authentication failures 37 * **IP Whitelisting** - Block access to non-trusted IP addresses for more secure interactions 38 * **Zero downtime restarts** - Tyk configurations can be altered dynamically and the service restarted without affecting any active request 39 40 Tyk is written in Go, which makes it fast and easy to set up. Its only dependencies are a Mongo database (for analytics) and Redis, 41 though it can be deployed without either (not recommended). 42 43 ## Tyk API Management Platform 44 The Tyk Dashboard and Developer portal can be used with the Tyk API Gateway, to provide a full lifecycle API Management platform. You can find more details at https://tyk.io and for a full featureset, you can visit https://tyk.io/features. 45 46 ## Why? 47 48 Tyk was built because other open source API Gateways in the market come with dependencies and bloat, attempting to be too many things to too many people. Tyk is focused, 49 simple and does one thing well - protecting your API from unauthorised access. 50 51 ### Documentation 52 53 All the documentation can be found at http://tyk.io/docs/. 54 55 ### License 56 57 Tyk is released under the MPL v2.0; please see [LICENSE.md](LICENSE.md) for a full version of the license. 58 59 60 [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FTykTechnologies%2Ftyk.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FTykTechnologies%2Ftyk?ref=badge_large) 61 62 ### Contributing 63 64 For more information about contributing PRs and issues, see [CONTRIBUTING.md](CONTRIBUTING.md). 65 66 ### Roadmap 67 68 To coordinate development and be completely transparent as to where the project is going, the version roadmap for the next version, as well as proposed features 69 and adopted proposals can be viewed on our public [Tyk Roadmap Repository](https://github.com/TykTechnologies/tyk-roadmap). 70 71 Any proposals can be made in the Github issue tracker. Proposals that are adopted will be placed into roadmap.