kdeploy

module
v0.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2021 License: Apache-2.0

README

kdeploy

create-redis get-redis

an opinionated, OAuth-protected graphQL/gRPC API for easily deploying kubernetes applications & jobs

graphQL Documentation

Features

  • gRPC API
  • graphQL API
    • served on /graphql endpoint
  • SSO/Oauth protected graphQL playground(autocomplete/schema-documentation/query-console)
    • playground served on /
    • oauth callback handler served on /oauth/callback
  • Run in cluster
  • Run out of cluster
  • OpenID Connect based Authentication
  • Create Application
  • Update Application
  • Get Application
  • Destroy Application
  • List Applications
  • Stream Application Logs
  • Expression based Application "authorizers"(execute against open-id profile)
  • Create Task
  • Update Task
  • Get Task
  • Destroy Task
  • List Tasks

Command Line

Usage of kdeploy:
      --allow-headers strings         cors allow headers (env: KDEPLOY_ALLOW_HEADERS) (default [*])
      --allow-methods strings         cors allow methods (env: KDEPLOY_ALLOW_METHODS) (default [HEAD,GET,POST,PUT,PATCH,DELETE])
      --allow-origins strings         cors allow origins (env: KDEPLOY_ALLOW_ORIGINS) (default [*])
      --debug                         enable debug logs (env: KDEPLOY_DEBUG) (default true)
      --listen-port int               serve gRPC & graphQL on this port (env: KDEPLOY_LISTEN_PORT) (default 8820)
      --oauth-client-id string        playground oauth client id (env: KDEPLOY_OAUTH_CLIENT_ID) (required for graphQL playground) (default "723941275880-6i69h7d27ngmcnq02p6t8lbbgenm26um.apps.googleusercontent.com")
      --oauth-client-secret string    playground oauth client secret (env: KDEPLOY_OAUTH_CLIENT_SECRET) (required for graphQL playground) (default "E2ru-iJAxijisJ9RzMbloe4c")
      --oauth-redirect string         playground oauth redirect (env: KDEPLOY_OAUTH_REDIRECT) (required for graphQL playground) (default "http://localhost:8820/oauth2/callback")
      --open-id string                open id connect discovery uri ex: https://accounts.google.com/.well-known/openid-configuration (env: KDEPLOY_OPEN_ID) (required)
      --out-of-cluster                enable out of cluster k8s config discovery (env: KDEPLOY_OUT_OF_CLUSTER)
      --request-authorizers strings   request authorizer expressions (env: KDEPLOY_REQUEST_AUTHORIZERS)
      --root-users strings            root users that bypass request authorizers (env: KDEPLOY_ROOT_USERS)

Installation

Given a running Kubernetes cluster, run:

curl https://raw.githubusercontent.com/autom8ter/kdeploy/master/k8s.yaml >> k8s.yaml

inspect the manifest and add/adjust environmental variables in the deployment spec(see flags for supported environmental variables)

then run:

kubectl apply -f k8s.yaml

to view pods as they spin up, run:

kubectl get pods -n kdeploy -w

Kdeploy is intended to be deployed behind an SSL ingress/proxy and doesn't handle TLS termination.

Directories

Path Synopsis
cmd
gen
internal
gql

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL