explaingit

tyktechnologies/tyk

10,715GoAudience · ops devopsComplexity · 4/5LicenseSetup · moderate

TLDR

An open-source API gateway written in Go that handles authentication, rate limiting, and traffic routing between your app and its services, supporting REST, GraphQL, TCP, and gRPC.

Mindmap

mindmap
  root((tyk))
    What it does
      API gateway
      Traffic routing
    Auth methods
      JWT tokens
      OAuth and OIDC
      Client certificates
    Features
      Rate limiting
      API versioning
      Traffic transform
      Plugin system
    Protocols
      REST
      GraphQL
      gRPC
      TCP
    Deploy
      Docker Compose
      Kubernetes
      Helm charts
      Linux packages
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Protect your APIs with JWT, OAuth, or certificate-based authentication without modifying each service.

USE CASE 2

Enforce per-user rate limits and quotas to prevent a single client from overloading your backend.

USE CASE 3

Transform request or response traffic, such as converting SOAP to GraphQL, at the gateway level.

USE CASE 4

Deploy a self-hosted API gateway on Kubernetes using the official Helm chart and operator.

Tech stack

GoDockerKubernetesHelmgRPCJavaScriptPython

Getting it running

Difficulty · moderate Time to first run · 30min

Quickest setup is Docker Compose, Kubernetes deployment requires the dedicated operator and Helm chart.

Free to use and modify under the Mozilla Public License 2.0, but changes to covered files must be shared under the same license.

In plain English

Tyk is an open-source API gateway written in Go. An API gateway sits between your application and the services it exposes to the outside world, handling concerns like authentication, rate limiting, and traffic routing so individual services do not have to deal with them separately. Tyk has been in development since 2014 and supports REST, GraphQL, TCP, and gRPC protocols. The core feature set includes authentication using industry-standard methods such as JWT tokens, OAuth/OIDC, basic auth, and client certificates. It can enforce rate limits and quotas so that no single user or client can overload your backend services. Tyk also supports API versioning, letting you sunset older versions at a defined date, and provides granular access control so you can allow or block specific endpoints per consumer. Beyond access control, Tyk can transform traffic: modifying request or response headers, rewriting content, and converting between formats such as SOAP and GraphQL. A plugin system lets developers extend the gateway by writing custom middleware in Go, Python, JavaScript, or any language that speaks gRPC, so custom logic can be added without forking the core codebase. Deployment options include Docker, Kubernetes (with a dedicated Kubernetes operator), Helm charts, Ansible, and standard Linux package managers for Red Hat, Ubuntu, and CentOS. The quickest way to get started is a Docker Compose setup that has the gateway running in a few commands. Once running, you register your APIs through configuration files or the API and Tyk begins proxying and applying policies. Tyk Gateway is the open-source edition and has no feature lockout. Paid editions add a management dashboard, developer portal, and cloud hosting. The project is licensed under the Mozilla Public License 2.0.

Copy-paste prompts

Prompt 1
I want to set up Tyk API gateway with Docker Compose to protect a REST API. Walk me through the minimal configuration to add JWT authentication.
Prompt 2
Show me a Tyk API definition JSON that rate-limits each user to 1000 requests per hour.
Prompt 3
How do I write a custom Tyk middleware plugin in Python to add a header to every incoming request?
Prompt 4
Explain how Tyk API versioning works and how to sunset an old version at a specific date.
Open on GitHub → Explain another repo

← tyktechnologies on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.