Skip to content

graphql interface for the kubernetes api

License

Notifications You must be signed in to change notification settings

g-harel/sekstant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

sekstant

GraphQL interface for the Kubernetes API.

apiVersion: v1
kind: Pod
metadata:
  name: sekstant
spec:
  containers:
  - name: sekstant
    image: gcr.io/sekstant/sekstant
    ports:
    - containerPort: 11456

The image expects to run inside a Kubernetes cluster. On startup, it queries the API server for its Swagger specification and translates it into a GraphQL schema which is then exposed as an HTTP endpoint.

Custom resource definitions may be supported in the future.

Options

PORT Container port used to expose the GraphQL api (default 11456)

PATHNAME URL path at which GraphQL API is exposed (default /graphql)

GRAPHIQL Configuration to enable the GraphiQL IDE (default disabled)

Authorization

Authorization is inherited from the pod's service account credentials read from the container's filesystem. The following options allow configuration of this behavior.

Example service account and RBAC configuration.

API_SERVER_URL Base URL of the API server (default https://kubernetes.default.svc)

TOKEN_PATH Path to the pod's service account token (default /var/run/secrets/kubernetes.io/serviceaccount/token)

CERTIFICATE_PATH Path to the API server's certificate (default /var/run/secrets/kubernetes.io/serviceaccount/ca.crt)

You may need to enable RBAC explicitly when using minikube.

License

MIT