New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

github.com/jreyeshdez/skipper

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/jreyeshdez/skipper

  • v0.9.45
  • Source
  • Go
  • Socket score

Version published
Created
Source

Build Status GoDoc License Go Report Card Coverage

Skipper

Skipper

Skipper is an HTTP router built on top of a reverse proxy with the ability to modify requests and responses with filters. You can use it out of the box or add your own custom filters and predicates.

What Skipper Does

  • identifies routes based on the requests' properties, such as path, method, host and headers
  • routes each request to the configured server endpoint
  • allows modification of requests and responds with filters that are independently configured for each route
  • optionally acts as a final endpoint (shunt)
  • updates the routing rules without restarting, while supporting multiple types of data sources — including etcd, Innkeeper and static files

Skipper provides a default executable command with a few built-in filters, however, its primary use case is to be extended with custom filters, predicates or data sources. See more in the Documentation

Inspiration

Skipper's design is largely inspired by Vulcand.

Getting Started

Prerequisites/Requirements

In order to build and run Skipper, only the latest version of Go needs to be installed.

Skipper can use Innkeeper or Etcd as data sources for routes. See more details in the Documentation.

Installation

Skipper is 'go get' compatible. If needed, create a Go workspace first:

mkdir ws
cd ws
export GOPATH=$(pwd)
export PATH=$PATH:$GOPATH/bin

Get the Skipper packages:

go get github.com/zalando/skipper/...
Running

Create a file with a route:

echo 'hello: Path("/hello") -> "https://www.example.org"' > example.eskip

Optionally, verify the file's syntax:

eskip check example.eskip

Start Skipper and make an HTTP request:

skipper -routes-file example.eskip &
curl localhost:9090/hello
Kubernetes Ingress

Skipper can be used to run as an Ingress implementation. A production example can be found in our Kubernetes configuration.

Working with the code

Getting the code with the test dependencies (-t switch):

go get -t github.com/zalando/skipper/...

Build all packages:

cd src/github.com/zalando/skipper
go install ./...

Test all packages:

etcd/install.sh
go test ./...

Documentation

Skipper's godoc page includes detailed information on these topics:

  • The Routing Mechanism
  • Matching Requests
  • Filters - Augmenting Requests
  • Service Backends
  • Route Definitions
  • Data Sources
  • Extending It with Customized Predicates, Filters, and Builds
  • Proxy Packages
  • Logging and Metrics
  • Performance Considerations

Packaging support

See https://github.com/zalando/skipper/blob/master/packaging/readme.md

FAQs

Package last updated on 07 Jun 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc