A CLI helper for writing killercoda scenarios and managing steps
Project description
killercoda-cli
Table of Contents
Installation
pip install killercoda-cli
[!NOTE]
If there is an installation permissions error [Error 13], consider installing with
--user
flag or adding./local/bin
to thePATH
variable.
Introduction
The interactive killercoda scenarios are a great way learn new technologies in an hands-on approach. However, creating the scenarios and managing can be tedious and time consuming.
The killercoda-cli
solves some of those problems by:
- Adding a new step after the existing last step and creating a directory for including foreground and background scripts placeholders.
- Adding a regular step with
background.sh
andforeground.sh
scripts or a verify step withverify.sh
script. - Renaming and re indexing step files and directories allowing for inserting a step in between existing steps and moving content down
- Updating the
index.json
file to reflect changes in step order and titles.
Documentation
Autogenerated API documentation generated in pdoc available at: https://piotr1215.github.io/killercoda-cli/killercoda_cli/cli.html.
Requirements
- The tool must be run in a directory containing step files or directories (e.g. step1.md, step2/).
- An
index.json
file must be present in the directory, which contains metadata about the steps.
Example usage
Suppose you have a scenario directory with the following structure:
.
├── index.json
├── step1.md
└── step2
└── step2.md
And you want to insert a new step between step1.md
and step2/
, titled "New Step".
- Run
killercoda-cli
. - Enter the title for the new step: "New Step".
- Enter the step number to insert the new step at: 2.
- Enter the step type (regular or verify): regular.
After running the tool, your directory structure will be updated to:
.
├── index.json
├── step1.md
├── step2
└── step2.md (previously step1.md content)
└── step3
└── step3.md (previously step2.md content)
The index.json
file will also be updated to include the new step and renumber existing steps accordingly.
Before:
{
"steps": [
{
"title": "Step 1",
"text": "step1.md"
},
{
"title": "Step 2",
"text": "step2/step2.md"
}
]
}
After:
{
"steps": [
{
"title": "Step 1",
"text": "step1.md"
},
{
"title": "New Step",
"text": "step2/step2.md"
},
{
"title": "Step 2",
"text": "step3/step3.md"
}
]
}
Development
Installing locally with pip install -e . --user
will allow you to run the tool
locally.
Testing
To run the tests, use the following commands:
Here is the text rendered as a Markdown list:
hatch run test:unit
- to run the unit tests.hatch run test:integration
- to run the integration tests.hatch run test:coverage-report
- to generate the coverage report.
Let me know if you have any further requests!
Disclaimer
This is an my personal project to easier create and manage killercoda scenarios. Check out killercoda interactive scenarios to learn more about the service.
License
killercoda-cli
is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for killercoda_cli-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 885f0cb635f0964033afb99ea85ddb91318bd01718b7df9124830ae32600cb10 |
|
MD5 | 690e92b5302a72d26d424f67c3993fef |
|
BLAKE2b-256 | 26e13898bced0bfcc48eb1f6cc2fdf9a48d5efe7e3aaaa5fbd5e37f6cd30652a |