Commands
This reference lists the available Instruqt CLI commands and specifies some commonly used commands.
A command is a directive to an operating system or an application to perform a task—for example, copying a file or creating a track in the Instruqt context.
Instruqt CLI commands always start with the
instruqt
directive, followed by a command with an optional subcommand and optional flags. For example, challenge
is a command which has a create
subcommand and a --title
flag:instruqt challenge create --title "Create a Kubernetes cluster"
But
version
is a command on its own:instruqt version
To explore the available commands, open a terminal on your machine and enter the following command:
instruqt --help
↳ Instruqt CLI shows the available commands:
active-users | List all users playing an invite. |
auth | Authentication commands. |
challenge | Create and manage challenges. |
completion | Generate shell auto completion scripts. |
config | View and edit Instruqt CLI configuration. |
developer | Manage the developers of a track. |
help | Help about any command. |
note | Create and manage notes. |
track | Create and manage tracks. |
update | Update the CLI. |
version | Show the version of the CLI. |
You can drill down any command with the
--help
flag—for example the track
command:instruqt track --help
↳ After which Instruqt CLI shows the subcommands for
track
command:Available Commands:
checksum Get the track checksum
create Create a new track
delete Delete a remote track
deploy Deploy a remote track
logs Get logs for the track
open Open the track URL in a browser
pull Pull the track from the remote server
push Push the local track to the remote server
test Test the track with its lifecycle scripts
upgrade Upgrade track version.
validate Validate the local track
And you can even further drill down by adding a subcommand:
instruqt track create --help
↳ After which Instruqt CLI shows examples and the flags for the
create
subcommand:Examples:
If you omit the track slug (TRACK), one is generated based on the title:
$: instruqt track create --title "My first track"
To copy an existing track:
$: instruqt track create --from instruqt/docker-basics --title "My new track"
Flags:
--from string The remote track to copy: '<organization-slug>/<track-slug>'
-h, --help help for create
--title string The title of the track
The following commonly used commands are further specified for your reference:
instruqt create track
[--from | --title]
The create command scaffolds a local directory with track configuration files.
--from
The remote track to copy: '<organization-slug>/<track-slug>'
--title
The title of the track
To create a new track as a copy of an existing track:
instruqt track create --from instruqt/docker-basics --title "My new track"
[INSTRUQT_TOKEN="..."]
instruqt track test
[--keep-running |
--skip-fail-check]
Test the track with all lifecycle scripts (setup / check / solve / cleanup).
INSTRUQT_TOKEN
Enter your API token for your team here to set the
INSTRUQT_TOKEN
environment variable when running the test command from a CI/CD system.--keep-running
Keep the environment running when the test finishes or fails.
--skip-fail-check
Don't fail the test if running the first challenge check doesn't fail.
To run a test from your machine that keeps the environment running when the test finishes:
instruqt track test --keep-running
To run a test from a CI/CD system:
INSTRUQT_TOKEN = "YOUR_API_TOKEN" instruqt track test
instruqt track logs
[--participant-id | --since | --severity]
The logs command tails logs of the track.
--participant-id
The participant ID. When set, this will take precedence over track ID or slug.
--since
The start datetime from which to return logs, either in relative duration.
--severity
The severity of the log entries, e.g DEBUG, INFO, ERROR. Defaults to INFO.
To log a track, starting 30 minutes ago:
instruqt track logs --since 30m
Last modified 1yr ago