{"id":13451702,"url":"https://github.com/TykTechnologies/tyk","last_synced_at":"2025-03-23T19:32:17.178Z","repository":{"id":16779701,"uuid":"19537979","full_name":"TykTechnologies/tyk","owner":"TykTechnologies","description":"Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols","archived":false,"fork":false,"pushed_at":"2024-10-29T10:44:50.000Z","size":248843,"stargazers_count":9684,"open_issues_count":324,"forks_count":1086,"subscribers_count":277,"default_branch":"master","last_synced_at":"2024-10-29T10:56:25.206Z","etag":null,"topics":["api","api-gateway","api-management","cloudnative","go","graphql","grpc","k8s","kubernetes","microservices","reverse-proxy","tyk"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Microsoft/DMTK","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TykTechnologies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-05-07T14:38:24.000Z","updated_at":"2024-10-29T09:43:34.000Z","dependencies_parsed_at":"2023-10-02T05:44:12.500Z","dependency_job_id":"d127814b-732b-4e0c-994c-9e5e5bd8e0f6","html_url":"https://github.com/TykTechnologies/tyk","commit_stats":{"total_commits":4585,"total_committers":128,"mean_commits":35.8203125,"dds":0.83206106870229,"last_synced_commit":"bc067e756d7e33d33b572292e669aead11dd1835"},"previous_names":["lonelycode/tyk"],"tags_count":887,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TykTechnologies%2Ftyk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TykTechnologies%2Ftyk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TykTechnologies%2Ftyk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TykTechnologies%2Ftyk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TykTechnologies","download_url":"https://codeload.github.com/TykTechnologies/tyk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245157989,"owners_count":20570107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-gateway","api-management","cloudnative","go","graphql","grpc","k8s","kubernetes","microservices","reverse-proxy","tyk"],"created_at":"2024-07-31T07:00:59.590Z","updated_at":"2025-03-23T19:32:16.492Z","avatar_url":"https://github.com/TykTechnologies.png","language":"Go","readme":"![tyk-github-header](https://github.com/TykTechnologies/tyk/assets/8012032/02b3fbae-80ed-4d1f-be87-016326f82ece)\n![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg?style=flat_card\u0026color=8836FB)\n[![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)\n\n[![GitHub Latest Release](https://img.shields.io/github/v/release/TykTechnologies/tyk?color=8836FB)](https://github.com/TykTechnologies/tyk/releases)\n[![GitHub Release Date](https://img.shields.io/github/release-date/TykTechnologies/tyk?color=8836FB)](https://github.com/TykTechnologies/tyk/releases)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tykio/tyk-gateway?color=8836FB)](https://hub.docker.com/r/tykio/tyk-gateway/)\n[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/TykTechnologies/tyk/ci-tests.yml?label=Build%20%26%20Tests\u0026color=8438FA)](https://github.com/TykTechnologies/tyk/actions/workflows/ci-tests.yml)\n[![Go Report Card](https://img.shields.io/badge/go%20report-A+-brightgreen.svg?color=8836FB)](https://goreportcard.com/report/github.com/TykTechnologies/tyk)\n\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/TykTechnologies/tyk?color=8836FB)\n[![GitHub Repo Stars](https://img.shields.io/github/stars/TykTechnologies/tyk?logoColor=8836FB)](https://github.com/TykTechnologies/tyk/stargazers)\n[![GitHub Repo Forks](https://img.shields.io/github/forks/TykTechnologies/tyk.svg?logoColor=8836FB)](https://github.com/TykTechnologies/tyk/fork)\n![X twitter Follow](https://img.shields.io/twitter/follow/tyk_io?logoColor=8836FB\u0026cacheSeconds=120)\n\n---\n[Documentation](https://tyk.io/docs/) | [Forum](https://community.tyk.io) | [Blog](https://tyk.io/blog/) | [About](https://tyk.io)\n\n\n# Tyk API Gateway\n**Tyk Gateway** is the cloud-native, open source, enterprise-ready API Gateway supporting REST, GraphQL, TCP and gRPC protocols.\n\nBuilt from the ground up, as the [fastest API Gateway](https://tyk.io/performance-benchmarks/) on the planet since 2014.\n\n_Tyk Gateway_ is provided ‘Batteries-included’, with no feature lockout. Enabling your organization to rate limit, auth, gather analytics, apply microservice patterns [and more](#open-source-api-gateway-features) with ease.\n\nTyk runs natively on _Kubernetes_, if you prefer, thanks to the _[Tyk Kubernetes Operator](https://github.com/TykTechnologies/tyk-operator)_\n\n\u003ctable\u003e\n  \u003ctr\u003e\n   \u003ctd\u003e\n     \u003ccenter\u003e\n        \u003ca href=\"https://tyk.io/docs/deployment-and-operations/tyk-open-source-api-gateway/quick-start\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/TykTechnologies/tyk-docs/master/tyk-docs/assets/img/logos/tyk-logo-opensource.svg\" width=\"30%\"\u003e\u003c/a\u003e\n     \u003c/center\u003e\n     \u003c/br\u003eEverything you need to manage APIs. Follow the simple Get Started guide below 👇\n   \u003c/td\u003e\n   \u003ctd\u003e\n     \u003ccenter\u003e\n       \u003ca href=\"https://tyk.io/docs/tyk-self-managed/install\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/TykTechnologies/tyk-docs/master/tyk-docs/assets/img/logos/tyk-logo-selfmanaged.png\" width=\"25%\"\u003e\u003c/a\u003e\n     \u003c/center\u003e\n     \u003c/br\u003eThe Enterprise API Management platform: Management Control Plane, Dashboard GUI \u0026 Developer Portal.\n     \u003c/br\u003e\u003ca href=\"https://tyk.io/api-lifecycle-management/\"\u003eInstall Tyk Self Managed\u003c/a\u003e\n   \u003c/td\u003e\n   \u003ctd\u003e\n     \u003ccenter\u003e\n       \u003ca href=\"https://tyk.io/docs/tyk-cloud\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/TykTechnologies/tyk-docs/master/tyk-docs/assets/img/logos/tyk-logo-cloud.png\" width=\"20%\"\u003e\u003c/a\u003e\n     \u003c/center\u003e\n     \u003c/br\u003eThe Enterprise API Management platform SaaS: Management Control Plane, Dashboard GUI \u0026 Developer Portal.\n     \u003c/br\u003e\u003ca href=\"https://tyk.io/docs/deployment-and-operations/tyk-cloud-platform/quick-start\"\u003eDeploy Tyk Cloud \u003c/a\u003e\n   \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Get Started\n\nWe’ll install Tyk, add auth, analytics, quotas and rate limiting to your API in under 5 minutes.\n\nWe recommend [Tyk Gateway Docker](https://github.com/TykTechnologies/tyk-gateway-docker#start-up-the-deployment) as the quickest way to get started now. Later, you can move to one of our other [supported distributions](https://tyk.io/docs/apim/open-source/installation/) if you prefer.\n\n#### Step 1 - Clone the docker-compose repository\n```console\ngit clone https://github.com/TykTechnologies/tyk-gateway-docker\n```\n\n#### Step 2 - Change to the new directory\n```console\ncd tyk-gateway-docker\n```\n\n#### Step 3 - Deploy Tyk Gateway and Redis\n```console\ndocker-compose up\n```\n\nYou can run this in detach mode using the `-d` flag: `docker-compose up -d`\n\n**Congratulations, you’re done!**\n\nYour Tyk Gateway is now configured and ready to use. Confirm this by checking against the ‘hello’ endpoint:\n```console\ncurl localhost:8080/hello\n```\nOutput:\n```json\n{\"status\": \"pass\", \"version\": \"v3.2.1\", \"description\": \"Tyk GW\"}\n```\n\nNext, visit [adding your first API](https://tyk.io/docs/getting-started/create-api/) to Tyk and follow the Open Source instructions.\n\n---\n\nOther Installations are available:\n\n1. [Docker](https://tyk.io/docs/tyk-oss/ce-docker/)\n2. [Kubernetes-Native ](https://github.com/TykTechnologies/tyk-oss-k8s-deployment)\n3. [Kubernetes-Helm](https://github.com/TykTechnologies/tyk-helm-chart#install-tyk-community-edition)\n4. [Ansible](https://tyk.io/docs/tyk-oss/ce-ansible/)\n5. [Red Hat](https://tyk.io/docs/tyk-oss/ce-redhat/)\n6. [Ubuntu](https://tyk.io/docs/tyk-oss/ce-ubuntu/)\n7. [CentOS](https://tyk.io/docs/tyk-oss/ce-centos/)\n8. [Compile Tyk from Source](#compiling-tyk-gateway)\n\n\n## Open Source API Gateway Features\nUse any protocol: REST, SOAP, [GraphQL](https://tyk.io/docs/tyk-apis/tyk-gateway-api/api-definition-objects/graphql/), [gRPC](https://tyk.io/docs/key-concepts/grpc-proxy/), and [TCP](https://tyk.io/docs/key-concepts/tcp-proxy/).\n\nIndustry Standard Authentication: [OIDC](https://tyk.io/docs/advanced-configuration/integrate/api-auth-mode/open-id-connect/#setting-up-oidc), [JWT,](https://tyk.io/docs/tyk-apis/tyk-gateway-api/api-definition-objects/jwt/) [bearer Tokens](https://tyk.io/docs/basic-config-and-security/security/authentication-authorization/bearer-tokens/), [Basic Auth](https://tyk.io/docs/tyk-apis/tyk-dashboard-api/basic-authentication/), Client Certificates and more.\n\n[Open API Standards:](https://tyk.io/docs/getting-started/using-oas-definitions/import-an-oas-api/) Import your Swagger and OpenAPI Documents (OAS 2.X and OAS 3.0.1) to scaffold APIs in Tyk.\n\n[Ultra performant](https://tyk.io/performance-tuning-your-tyk-api-gateway/): Low latency, and thousands of rps with just a single CPU, horizontally and vertically scalable.\n\n[Content mediation](https://tyk.io/docs/advanced-configuration/transform-traffic/): Transform all the things, from request or response headers to converting between SOAP and GraphQL.\n\n[Extensible Plugin Architecture](https://tyk.io/docs/plugins/): Customize Tyk’s middleware chain by writing plugins in your language of choice - from Python to Javascript to Go, or any language which supports gRPC.\n\n[Rate Limiting](https://tyk.io/docs/basic-config-and-security/control-limit-traffic/rate-limiting/#setting-rate-limits-in-the-tyk-community-edition-gateway-ce) \u0026 Quotas: Protect your upstreams from becoming overloaded and/or apply limits for each consumer.\n\n[API Versioning](https://tyk.io/docs/tyk-apis/tyk-gateway-api/api-definition-objects/versioning-endpoint/) - API Versions can be easily set and sunset (deprecated) at a specific time and date.\n\n[Granular Access Control](https://tyk.io/docs/security/security-policies/secure-apis-method-path/) - Grant access to one or more APIs on a per version and operation basis.\n\n[Blocklist](https://tyk.io/docs/advanced-configuration/transform-traffic/endpoint-designer/#blocklist)/[Allowlist](https://tyk.io/docs/advanced-configuration/transform-traffic/endpoint-designer/#allowlist)/[Ignore](https://tyk.io/docs/advanced-configuration/transform-traffic/endpoint-designer/#ignore) endpoint access - Enforce strict security models on a version-by-version basis to your access points.\n\nAnalytics logging - Record detailed usage data on who is using your APIs (raw data only)\n\n[CORS](https://tyk.io/docs/tyk-apis/tyk-gateway-api/api-definition-objects/cors/) - Enable CORS for certain APIs so users can make browser-based requests\n\n[Webhooks](https://tyk.io/docs/basic-config-and-security/report-monitor-trigger-events/webhooks/) - Trigger webhooks against events such as Quota Violations and Authentication failures\n\n[IP AllowListing](https://tyk.io/docs/tyk-apis/tyk-gateway-api/api-definition-objects/ip-whitelisting/) - Block access to non-trusted IP addresses for more secure interactions\n\n[Hitless reloads](https://tyk.io/docs/tyk-configuration-reference/hot-restart-tyk-gateway-process/) - Tyk configurations can be altered dynamically and the service restarted without affecting any active request\n\n[Kubernetes native](https://tyk.io/docs/tyk-oss/ce-helm-chart/) declarative API: using Open Source [Tyk Operator](https://github.com/TykTechnologies/tyk-operator) (more info in OSS section)\n![OpenSourceAPIGateway-Diagram](https://github.com/TykTechnologies/tyk/assets/8012032/7466be3f-fb81-4a95-88ac-3b09254c815d)\n\nTyk Technologies uses the same API Gateway for all it’s applications. Protecting, securing, and processing APIs for thousands of organizations and businesses around the world. Ideal for Open Banking, building software in the clouds as well as exposing APIs to teams, partners \u0026 consumers.\n\n\n## Tyk OSS Integrations\n\nTyk Technologies maintains other Open Source Software which can be used in conjunction with Tyk API Gateway:\n\n[Tyk Pump](https://github.com/TykTechnologies/tyk-pump) - Pluggable analytics purger to move Analytics generated by your Tyk nodes to any back-end.\n\n[Tyk Operator](https://github.com/TykTechnologies/tyk-operator) - Brings API Management capabilities to Kubernetes. Configure Ingress, APIs, Security Policies, Authentication, Authorization, Mediation and more - all using Custom Resources and Kubernetes Native primitives\n\n[Tyk Identity Broker](https://github.com/TykTechnologies/tyk-identity-broker) - Tyk Authentication Proxy for third-party login\n\n[Tyk Sync ](https://tyk.io/docs/tyk-sync/)- Command line tool and library to manage and synchronise a Tyk installation with your version control system (VCS).\n\n[Tyk Mserv](https://github.com/TykTechnologies/mserv) - Asset Server and gRPC host\n\n\n## Documentation\nAll the documentation for Tyk Gateway and other OSS-related topics can be found at [https://tyk.io/docs/tyk-oss-gateway/](https://tyk.io/docs/tyk-oss-gateway/)\n\n\n## Community\n* [Tyk Community Board](https://community.tyk.io/) - Technical support from the Tyk Community\n* [Write a GitHub Issue](https://github.com/TykTechnologies/tyk/issues/new/choose) - Feature requests \u0026 bug reports welcome\n* [Technical blog](https://tyk.io/blog/) - Tyk announcements and updates\n* [Newsletters ](https://pages.tyk.io/newsletter)- Subscribe to our GraphQL \u0026 API newsletters\n* If you are using Tyk give us a star ⭐️\n\n## Licensing\n\nTyk is dual-licensed:\n\n1. Open Source License: The code in the root directory and all subdirectories except the 'ee' folder is released under the MPL v2.0. Please see [LICENSE](https://github.com/TykTechnologies/tyk/blob/master/LICENSE) for the full version of the open source license.\n\n2. Commercial License: The code in the 'ee' folder is subject to a commercial license. For more information about obtaining a commercial license, please contact our sales team at sales@tyk.io.\n\n## Compiling Tyk Gateway\n\nCompile from Source\n```console\ngit clone https://github.com/TykTechnologies/tyk\ngo build\n```\nGo version 1.22 is required to build `master`, the current development version. Tyk is officially supported on `Linux/amd64`, `Linux/i386` and `Linux/arm64`.\n\nTo run tests locally use the following command:\n```console\ngo test ./...\n```\nNote that tests require Redis to be running on the same machine (default port).\n\nTo write your own test please use this guide [https://github.com/TykTechnologies/tyk/blob/master/TESTING.md](https://github.com/TykTechnologies/tyk/blob/master/TESTING.md)\n\n## Contributing\n\nFor more information about contributing PRs and issues, see [CONTRIBUTING.md](https://github.com/TykTechnologies/tyk/blob/master/CONTRIBUTING.md).\n\n—\n","funding_links":[],"categories":["Go","开源类库","API Gateways \u0026 Proxies","API Gateway","API Proxies \u0026 Gateways","Projects","api","Recently Updated","Repositories","Others","3. microservice"],"sub_categories":["网关","Public REST APIs To Use In Tests","API Gateway","[Apr 02, 2025](/content/2025/04/02/README.md)","Platforms","3.1 api gateway"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTykTechnologies%2Ftyk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTykTechnologies%2Ftyk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTykTechnologies%2Ftyk/lists"}