Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.
/ skipper Public archive

Skipper will command your fleet of k8s clusters

License

Notifications You must be signed in to change notification settings

concur/skipper

Repository files navigation

Skipper - Container Deployment API

CircleCI

skipper

Skipper will command your fleet of k8s clusters.

skipper deployment 1

Features

  • Provides an API to deploy onto kubernetes clusters using mostly base level primitives (image, #containers, port, etc).

    • Kubernetes spec is created dynamically based on default values stored each clusters configuration from the Administrator API's.
    • The resulting spec is then applied to the destination clusters in each location that is being deployed to.
  • Provides an API to setup local kubectl config based on available clusters.

  • Decouples kubernetes deployments to locations instead of specific clusters.

  • Allows cluster administrators to provide location\cluster specific defaults for environment variables, ingress\loadbalancer domain names, docker registry locations, etc.

  • Allows cluster administrators to move clusters in and out of service without the need to make changes to your code pipeline and release process.

Review Configuration

The configuration defaults and inline documentation are stored in ./default/config.js.

All options can be configured with environment variables.

Run Skipper on kubernetes

#for standard use in this guide
export SkipperEndpoint=https://yourinternalskipper.com

kubectl run --port=5000 --env="skipperEndpoint=$SkipperEndpoint" skipper --image=concur/skipper:latest
kubectl expose deployment skipper --port=5000 --type=LoadBalancer

Run Skipper on minikube

kubectl create -f ./docs/minikube/

#for standard use in this guide
export SkipperEndpoint="-k https://skipper.192.168.99.100.xip.io"

Run Skipper on docker

#for standard use in this guide
export SkipperEndpoint=http://127.0.0.1:5000

docker run -d -p 5000:5000 concur/skipper:latest

Swagger UI: $SkipperEndpoint/docs

Swagger JSON: $SkipperEndpoint/apidocs

Docs

Walkthrough

End User Guide

Administrator Guide

Development Guide