Kong or Kong API Gateway is a cloud-native, platform-agnostic, scalable API Gateway distinguished for its high performance and extensibility via plugins.
By providing functionality for proxying, routing, load balancing, health checking, authentication (and more), Kong serves as the central layer for orchestrating microservices or conventional API traffic with ease.
Kong runs natively on Kubernetes thanks to its official Kubernetes Ingress Controller.
Let’s test drive Kong by adding authentication to an API in under 5 minutes.
We suggest using the docker-compose distribution via the instructions below, but there is also a docker installation procedure if you’d prefer to run the Kong API Gateway in DB-less mode.
Whether you’re running in the cloud, on bare metal, or using containers, you can find every supported distribution on our official installation page.
- To start, clone the Docker repository and navigate to the compose folder.
$ git clone https://github.com/Kong/docker-kong $ cd docker-kong/compose/
- Start the Gateway stack using:
$ KONG_DATABASE=postgres docker-compose --profile database up
The Gateway is now available on the following ports on localhost:
:8000- send traffic to your service via Kong
:8001- configure Kong using Admin API or via decK
:8002- access Kong's management Web UI (Kong Manager) on localhost:8002
Next, follow the quick start guide to tour the Gateway features.
By centralizing common API functionality across all your organization's services, the Kong API Gateway creates more freedom for engineering teams to focus on the challenges that matter most.
The top Kong features include:
- Advanced routing, load balancing, health checking - all configurable via a RESTful admin API or declarative configuration.
- Authentication and authorization for APIs using methods like JWT, basic auth, OAuth, ACLs and more.
- Proxy, SSL/TLS termination, and connectivity support for L4 or L7 traffic.
- Plugins for enforcing traffic controls, rate limiting, req/res transformations, logging, monitoring and including a plugin developer hub.
- Sophisticated deployment models like Declarative Databaseless Deployment and Hybrid Deployment (control plane/data plane separation) without any vendor lock-in.
- Native ingress controller support for serving Kubernetes.
Plugins provide advanced functionality that extends the use of the Gateway. Many of the Kong Inc. and community-developed plugins like AWS Lambda, Correlation ID, and Response Transformer are showcased at the Plugin Hub.
Contribute to the Plugin Hub and ensure your next innovative idea is published and available to the broader community!
We ❤️ pull requests, and we’re continually working hard to make it as easy as possible for developers to contribute. Before beginning development with the Kong API Gateway, please familiarize yourself with the following developer resources:
- Community Pledge (COMMUNITY_PLEDGE.md) for our pledge to interact with you, the open source community.
- Contributor Guide (CONTRIBUTING.md) to learn about how to contribute to Kong.
- Development Guide (DEVELOPER.md): Setting up your development environment.
- CODE_OF_CONDUCT and COPYRIGHT
Join the Community
- Check out the docs
- Join the Kong discussions forum
- Join the Kong discussions at the Kong Nation forum: https://discuss.konghq.com/
- Join our Community Slack
- Read up on the latest happenings at our blog
- Follow us on X
- Subscribe to our YouTube channel
- Visit our homepage to learn more
Kong Inc. offers commercial subscriptions that enhance the Kong API Gateway in a variety of ways. Customers of Kong's Konnect Cloud subscription take advantage of additional gateway functionality, commercial support, and access to Kong's managed (SaaS) control plane platform. The Konnect Cloud platform features include real-time analytics, a service catalog, developer portals, and so much more! Get started with Konnect Cloud.
Copyright 2016-2023 Kong Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.