kita-operator

module
v0.0.0-...-db4cd6c Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2019 License: Apache-2.0

README

KITA

Kita Logo

KITA is a
Kubernetes operator for building
Instructor-led
Tutorials and
Awesome demos.

It is also a common abbreviation for the German word "Kindertagesstätte" (Day Care).

General Idea

Kita High-Level

The goal of Kita is to enable declarative specifications for quicky hosting lab environments for hands-on sessions and other tutorials. The Kita Operator uses the Resource Specifications to setup an all-browser-based environment using Coder and a Service Account with namespace administrator priviledges.

Installation

Deploy the Kita CRD

kubectl apply -f deploy/crds

Create the Service Account, ClusterRoleBinding and Operator Deployment

kubectl apply -f deploy/service_account.yaml
kubectl apply -f deploy/cluster_admin_binding.yaml
kubectl apply -f deploy/operator.yaml

Kita Space CR Example

apiVersion: kita.danistrebel.io/v1alpha1
kind: KitaSpace
metadata:
  name: awesome-space
spec:
  owner:
    name: john
    email: john.doe@example.com
  repos:
    - https://github.com/ramitsurana/awesome-kubernetes.git
    - https://github.com/operator-framework/awesome-operators
    - https://github.com/danistrebel/kita-oc-cli
  platform: openshift #OPTIONAL
  token: changeit # OPTIONAL

Result

The Kita operator creates a Password protected workspace for each user.

Workspace Login

After entering the password, the user can enter a web-based code editor with all specified GIT repositories checked out.

Result Screenshot

(Optional) Sendgrid Integration for Space Login Token

The operator can send the login token via email to the Kita Space Owner (as specified in the KitaSpace resource). To do that, you need to obtain a Sendgrid API-key and set the following environment parameters:

export SENDGRID_API_KEY='SG.xxxxxREPLACE_THIS_TOKENxxxxx'
export SENDGRID_EMAIL_SENDER='sender@example.com'

Note that there is a free usage quota for Sendgrid (100/day at the time of writing).

Directories

Path Synopsis
cmd
pkg
apis/kita
Package kita contains kita API versions.
Package kita contains kita API versions.
apis/kita/v1alpha1
Package v1alpha1 contains API Schema definitions for the kita v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=kita.danistrebel.io
Package v1alpha1 contains API Schema definitions for the kita v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=kita.danistrebel.io

Jump to

Keyboard shortcuts

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