Courses on Killercoda

Scenarios can be organised into courses for better organisation

Kim Wuestkamp
3 min readApr 27, 2022

Killercoda?

Killercoda is an interactive learning platform which allows everyone to access Linux|Kubernetes based environments just in their browser.

READ MORE

Courses

One of the most requested feature by creators was to bundle scenarios into groups|courses for better organisation. This is now possible on Killercoda!

Become a Creator?

HOW TO GET STARTED

General Creator Workflow

How does the scenario creation work on Killercoda?

  • Have a Github repository with scenarios
  • Add that repository to your Killercoda profile
  • Every time you push to the repository, your scenarios will be updated
  • Write the scenarios in for example JSON, Markdown and Bash

Subdirectory

The simplest way of grouping scenarios into a course is by just putting them into the same subdirectory.

Structure.json

To have more control over the structure it’s also possible to create a structure.json file in any subdirectory or top-level:

Once a structure.json is available, only the information from that file will be used. Any scenario or directory that exists outside the structure.json will be ignored.

Using a structure.json we can for example:

  • Control sort order
  • Reference scenarios from different courses or directories
  • Override scenario attributes like title or description
  • Exclude some directories

Simple Example

It can for example look like this:

{
"items": [
{ "path": "scenario2" },
{ "path": "course1", "title": "Override title of course ONE" },
{ "path": "course2" }
]
}

Here we’ll only consider the three folders scenario2, course1 and course2. And for course1 we override the title.

Advanced Example

{
"title": "Course TWO has a nice title",
"description": "This is the description of course TWO",
"items": [
{ "path": "scenario3" },
{ "path": "scenario4" },
{ "path": "../course1/scenario1" },
{
"path": "../course1/scenario2",
"title": "New title for scenario TWO",
"description": "Set a course description"
}
]
}

Here we’ll even include some scenarios from another course (another directory) into our course.

Complete Examples

For complete examples please check:

The full repository with course examples

The course examples in action

Katacoda Courses/Pathways

We decided against supporting Katacoda Courses/Pathways due to its unnecessary complexity. We think it’s possible to do everything with the simpler structure-based layout on Killercoda. If that’s not the case reach out to us and let us know of your use-case.

The End

Let us know on SUPPORT if something doesn’t work or if you have any feature requests.

--

--

Kim Wuestkamp
Kim Wuestkamp

Written by Kim Wuestkamp

killercoda.com | killer.sh (CKS CKA CKAD Simulator) | Software Engineer, Infrastructure Architect, Certified Kubernetes