Coder Social home page Coder Social logo

morben / tyk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tyktechnologies/tyk

0.0 0.0 0.0 197.95 MB

Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols

License: Other

Shell 1.60% JavaScript 0.31% Ruby 0.10% Python 0.76% C 0.06% Java 0.28% Lua 0.11% Go 96.03% Makefile 0.07% HTML 0.05% HCL 0.48% Dockerfile 0.15%

tyk's Introduction

tyk-github-header

GitHub release (release name instead of tag name) Docker Pulls GitHub Workflow Status (with event) Go Report Card GitHub commit activity (branch) GitHub Repo stars License: MPL 2.0 FOSSA Status Twitter Follow

Tyk API Gateway

Tyk Gateway is the cloud-native, open source, API Gateway.
We support REST, GraphQL, TCP and gRPC protocols.

Built from the ground up, as the fastest API Gateway on the planet since 2014.

Tyk Gateway is provided ‘Batteries-included’, with no feature lockout. Enabling your organization to rate limit, auth, gather analytics, apply microservice patterns and more with ease.

Tyk runs natively on Kubernetes, if you prefer, thanks to the Tyk Kubernetes Operator

Tyk Open Source Tyk API Management
Everything you need to manage APIs. Follow the simple Get Started guide below 👇 The Enterprise API Management platform: Management Control Plane, Dashboard GUI & Developer Portal. Install Tyk Self Managed


Documentation | Forum | Blog | About


Get Started

We’ll install Tyk, add auth, analytics, quotas and rate limiting to your API in under 5 minutes.

We recommend “Tyk Gateway Docker” as the quickest way to get started now. Later, you can move to one of our other supported distributions if you prefer.

Step 1 - Clone the docker-compose repository

git clone https://github.com/TykTechnologies/tyk-gateway-docker

Step 2 - Change to the new directory

cd tyk-gateway-docker

Step 3 - Deploy Tyk Gateway and Redis

docker-compose up

You can run this in detach mode use the -d flag: docker-compose up -d

Congratulations, you’re done!

Your Tyk Gateway is now configured and ready to use. Confirm this by checking against the ‘hello’ endpoint:

curl localhost:8080/hello

Output:

{"status": "pass", "version": "v3.2.1", "description": "Tyk GW"}

Next, visit adding your first API to Tyk and follow the Open Source instructions.


Other Installations are available:

  1. Docker
  2. Kubernetes-Native
  3. Kubernetes-Helm
  4. Ansible
  5. Red Hat
  6. Ubuntu
  7. CentOS
  8. Compile Tyk from Source

Open Source API Gateway Features

Use any protocol: REST, SOAP, GraphQL, gRPC, and TCP.

Industry Standard Authentication: OIDC, JWT, bearer Tokens, Basic Auth, Client Certificates and more.

Open API Standards: Import your Swagger and OpenAPI Documents (OAS 2.X and OAS 3.0.1) to scaffold APIs in Tyk.

Ultra performant: Low latency, and thousands of rps with just a single CPU, horizontally and vertically scalable.

Content mediation: Transform all the things, from request or response headers to converting between SOAP and GraphQL.

Extensible Plugin Architecture: 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.

Rate Limiting & Quotas: Protect your upstreams from becoming overloaded and/or apply limits for each consumer.

API Versioning - API Versions can be easily set and sunset (deprecated) at a specific time and date.

Granular Access Control - Grant access to one or more APIs on a per version and operation basis.

Blocklist/Allowlist/Ignored endpoint access - Enforce strict security models on a version-by-version basis to your access points.

Analytics logging - Record detailed usage data on who is using your APIs (raw data only)

CORS - Enable CORS for certain APIs so users can make browser-based requests

Webhooks - Trigger webhooks against events such as Quota Violations and Authentication failures

IP AllowListing - Block access to non-trusted IP addresses for more secure interactions

Hitless reloads - Tyk configurations can be altered dynamically and the service restarted without affecting any active request

Kubernetes native declarative API: using Open Source Tyk Operator (more info in OSS section) OpenSourceAPIGateway-Diagram

Tyk 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 & consumers.

Tyk OSS Integrations

Tyk Technologies maintains other Open Source Software which can be used in conjunction with Tyk API Gateway:

Tyk Pump - Pluggable analytics purger to move Analytics generated by your Tyk nodes to any back-end.

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

Tyk Identity Broker - Tyk Authentication Proxy for third-party login

Tyk Sync - Command line tool and library to manage and synchronise a Tyk installation with your version control system (VCS).

Tyk Mserv - Asset Server and gRPC host

Documentation

All the documentation for Tyk Gateway and other OSS-related topics can be found at https://tyk.io/docs/tyk-oss-gateway/

Community

Open Source License

Tyk is released under the MPL v2.0; please see LICENSE.md for a full version of the license.

FOSSA Status

Compiling Tyk Gateway

Compile from Source

git clone https://github.com/TykTechnologies/tyk
go build

Go version 1.12 is required to build master, the current development version. Tyk is officially supported on Linux/amd64, Linux/i386 and Linux/arm64.

Tests are run against both Go versions 1.12, 1.13, 1.14 and 1.15, however at present, only Go 1.12 is officially supported. In order to run tests locally use the following command:

go test ./...

Note that tests require Redis to be running on the same machine (default port).

In order to write your own test please use this guide https://github.com/TykTechnologies/tyk/blob/master/TESTING.md

Contributing

For more information about contributing PRs and issues, see CONTRIBUTING.md.

tyk's People

Contributors

lonelycode avatar matiasinsaurralde avatar mvdan avatar furkansenharputlu avatar buger avatar jeffy-mathew avatar titpetric avatar dencoded avatar sredxny avatar asoorm avatar pvormste avatar gernest avatar joshblakeley avatar alephnull avatar tbuchaillot avatar buraksezer avatar komalsukhani avatar asutosh avatar adelowo avatar kofoworola avatar excieve avatar letzya avatar ermirizio avatar vaske avatar alexwhitman avatar mativm02 avatar aenimus avatar jlucktay avatar lghiur avatar ilijabojanovic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.