Skipper is an HTTP router and reverse proxy for service composition. It’s designed to handle large amounts of dynamically configured HTTP route definitions (>800000 routes) with detailed lookup conditions, and flexible augmentation of the request flow with filters. It can be used out of the box or extended with custom lookup, filter logic and configuration sources. Skipper identifies routes based on the requests’ properties, such as path, method, host and headers using the predicates. It allows the modification of the requests and responses with filters that are independently configured for each route. Skipper can be used to run as a Kubernetes Ingress controller. Details with examples of Skipper’s capabilities and an overview can be found in the ingress-controller deployment docs.
Features
- Identifies routes based on the requests' properties, such as path, method, host and headers
- Allows modification of the requests and responses with filters that are independently configured for each route
- Simultaneously streams incoming requests and backend responses
- Optionally acts as a final endpoint (shunt), e.g. as a static file server or a mock backend for diagnostics
- Updates routing rules without downtime, while supporting multiple types of data sources
- Shipped with eskip: a descriptive configuration language designed for routing rules