Skip to content
graphql interface for the kubernetes api
Branch: master
Clone or download
Latest commit 4239c47 Apr 4, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore replace shell script with typescipt code + added gql schema generation Aug 1, 2018
Dockerfile expose pod port in manifest Feb 24, 2019
LICENSE Initial commit Jul 31, 2018
README.md
example.yaml
index.js
package.json
publish.sh add script to publish image Mar 3, 2019
skaffold.yaml

README.md

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 it's 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

You can’t perform that action at this time.