educates¶
The educates project provides a system for hosting interactive workshop environments in Kubernetes. It can be used for self paced or supervised workshops. It can also be useful where you need to package up demos of applications hosted in Kubernetes for users or potential customers.
Users doing a workshop are provided access to a dashboard in their web browser combining a shell environment with the workshop content, including any custom tools required for the workshop. The dashboard can also optionally embed slide content, an IDE, a web console for accessing the Kubernetes cluster (Kubernetes dashboard or Octant), and other custom web applications. Where required for a workshop, deployment of an image registry per workshop session, and the ability to use docker for doing container image builds, can be enabled.
Note: As yet there has not been an official public first release of this project. We are working through being able to release it as a fully open source project, but this is not yet certain and we don’t know when that may occur.
Also be aware that the name of the project is in the process of being changed from what was the original name. You will therefore see references to an older name of “eduk8s”, as well as interim placeholder name of “edukates”. As this process progresses you will need to change to the new name when performing deployments and in creation of workshops.
So use at your own extreme risk. It may instantly set fire to anything it touches. If you do attempt to use it, don’t assume that things will not be broken by future changes.
Project Details:
Getting Started:
Installation Guides:
Workshop Content:
- Workshop Images
- Workshop Config
- Workshop Instructions
- Annotation of executable commands
- Annotation of text to be copied
- Extensible clickable actions
- Clickable actions for the dashboard
- Clickable actions for the editor
- Clickable actions for file download
- Clickable actions for the examiner
- Clickable actions for sections
- Escaping of code block content
- Interpolation of data variables
- Adding custom data variables
- Passing of environment variables
- Handling of embedded URL links
- Conditional rendering of content
- Embedding custom HTML content
- Workshop Runtime
- Presenter Slides
- Building an Image
Operator Config:
- Custom Resources
- Workshop Definition
- Workshop title and description
- Downloading workshop content
- Container image for the workshop
- Setting environment variables
- Overriding the memory available
- Mounting a persistent volume
- Resource budget for namespaces
- Patching workshop deployment
- Creation of session resources
- Overriding default RBAC rules
- Running user containers as root
- Creating additional namespaces
- Shared workshop resources
- Workshop pod security policy
- Defining additional ingress points
- External workshop instructions
- Disabling workshop instructions
- Enabling the Kubernetes console
- Enabling the integrated editor
- Enabling workshop downloads
- Enabling the test examiner
- Enabling session image registry
- Enabling ability to use docker
- Enabling WebDAV access to files
- Customizing the terminal layout
- Adding custom dashboard tabs
- Workshop Environment
- Workshop Request
- Workshop Session
- Training Portal
- Specifying the workshop definitions
- Limiting the number of sessions
- Capacity of individual workshops
- Set reserved workshop instances
- Override initial number of sessions
- Setting defaults for all workshops
- Setting caps on individual users
- Expiring of workshop sessions
- Updates to workshop environments
- Overriding the ingress domain
- Overriding the portal hostname
- Setting extra environment variables
- Overriding portal credentials
- Controlling registration type
- Specifying an event access code
- Making list of workshops public
- Using an external list of workshops
- Overriding portal title and logo
- Allowing the portal in an iframe
- Collecting analytics on workshops
- Tracking using Google Analytics
- System Profile
- Operator default system profile
- Defining configuration for ingress
- Defining image registry pull secrets
- Defining storage class for volumes
- Defining storage group for volumes
- Running docker daemon rootless
- Overriding network packet size
- Image registry pull through cache
- Setting default access credentials
- Overriding the workshop images
- Tracking using Google Analytics
- Overriding styling of the workshop
- Additional custom system profiles
Portal REST API: