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).
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.
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
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
The Kita operator creates a Password protected workspace for each user.
After entering the password, the user can enter a web-based code editor with all specified GIT repositories checked out.
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).