Local authoringAuthoring

Write workshops on your own machine, and see the instructions change in a running Session

The educates CLI runs all of Educates on your laptop. One command creates a Kind cluster with Educates in it and an image registry beside it, and another creates a workshop from a template. Publish it to that registry, deploy it, open it in the training portal, and see changes to its instructions as you save them, without publishing anything to a third party site.

What you can do with it

  • A terminal on a laptop showing the local Educates cluster that educates create-cluster set up, with its image registry running beside it.

    Educates on your laptop in one command

    One command, educates create-cluster, creates a Kind cluster, installs Educates in it, and runs an image registry beside it for workshop content and workshop images of your own. Another, educates delete-cluster, removes the cluster when you are done.

  • A terminal on a laptop where educates new-workshop created a workshop's directory, with its instructions, its workshop definition and its settings for publishing.

    A new workshop from a template

    The command educates new-workshop creates a workshop's directory, with instructions in Markdown, the workshop definition in resources/workshop.yaml, and settings to publish it to the local registry. Options set its title, its description and the workshop image it starts from.

  • A terminal on a laptop where educates deploy-workshop added the new workshop to the local cluster, over the training portal that now lists it.

    Publish, deploy and open it

    The command educates publish-workshop packs the content as an OCI image and pushes it to the local registry, educates deploy-workshop creates the workshop in the cluster, and educates browse-workshops opens the training portal to start a Session.

  • A terminal on a laptop serving a workshop's instructions with educates serve-workshop, over a Session showing them.

    See the instructions change as you save

    The command educates serve-workshop serves the instructions from your machine to the Sessions in the cluster, and regenerates and refreshes the page each time you save. For other files, update-workshop in the Session's terminal pulls the latest published content and reruns the setup scripts, without a new Session.

  • A terminal on a laptop where educates docker workshop deploy started a workshop in a single container on Docker, over that workshop open in the browser.

    One workshop in Docker, no Kubernetes

    To try a workshop, or to show a product on a laptop, run a single workshop in one container on Docker, with no Kubernetes cluster at all.

How you use it

Create the local cluster once:

Terminal window
educates create-cluster

Then create a workshop, and from its directory, publish it to the local registry, deploy it and open the training portal:

Terminal window
educates new-workshop lab-new-workshop
cd lab-new-workshop
educates publish-workshop
educates deploy-workshop
educates browse-workshops

The docs recommend workshop names that start with lab- and run to 25 characters or fewer, because Educates adds prefixes and suffixes to them.

The workshop definition the template writes pulls its content from the local registry. Educates fills in $(image_repository) and $(workshop_version) when you publish and deploy, so the same definition works for a remote registry later:

resources/workshop.yaml
spec:
workshop:
files:
- image:
url: $(image_repository)/lab-new-workshop-files:$(workshop_version)
includePaths:
- /workshop/**
- /exercises/**
- /README.md

To see changes to the instructions as you save them, serve them from your machine:

Terminal window
educates serve-workshop --patch-workshop

Start a new Session from the portal, and each page you save shows up in it. Stop the command with Ctrl-C, and the workshop goes back to its published content. After a change to resources/workshop.yaml, educates update-workshop updates the workshop in the cluster, and educates delete-workshop removes it.

To run one workshop in Docker instead, with no cluster, educates docker workshop deploy starts it in a single container.

Limits

What it does not do, and what it needs from you, so you can judge it before you build on it.

Where it is used

Use cases that rely on it

Deploy it from the Hub

The Hub is a catalog of workshops you deploy on your own Educates, each with one command. These ones show this Feature at work.

Explore the Hub

Try it yourself, or talk to us

Get started runs Educates on your laptop with a first workshop in a few commands. Get help is where you ask the community, and where you can hire the people who build Educates.