Learn about configuration files for editing locally.
Overview
Instruqt tracks are Infrastructure-as-Code artifacts and are made up of configuration files that contain all the properties and settings for tracks in YAML and Markdown format. You manage these files either from Web UI or Instruqt CLI. For example, the configuration file track.yml sets track characteristics and can look something like this:
slug: mytrack
id: baekpuxv2m5g
type: track
title: MyTrack
teaser: Get started quickly with just one container-based sandbox host.
description: Get started quickly with a container-based sandbox host. Choose a container
when you need a fast, lightweight Linux system.
icon: https://cdn.instruqt.com/assets/templates/ubuntu.png
tags: []
owner: myteam
developers:
- developer@content.com
maintenance: true
show_timer: true
skipping_enabled: true
You probably recognize tracks details like title and teaser as you set them from Web UI. But you can also set these properties by manipulating the track.yml file from your code editor and push your changes with Instruqt CLI to the Instruqt platform.
YAML files use spaces for indentation. Use 2 or 4 spaces for indentation, but no tabs.
To learn how to use these files, read the Edit locally docs.
If you created a track with Instruqt CLI or pulled a track to your machine, you will find the configuration files inside the track directory and subdirectories:
The setup-<hostname> file is the script that runs after a track stops.
Example script
#!/bin/bash
set -euxo pipefail
# Wait for the Instruqt host bootstrap to finish
until [ -f /opt/instruqt/bootstrap/host-bootstrap-completed ]
do
sleep 1
done
...more commands...
Instruqt scripts can be written in any language, including PowerShell and Python.
The cleanup-<hostname> file is the script that runs once a host is provisioned.
Example script
#!/bin/bash
set -euxo pipefail
curl -X POST https://my-api.com/delete/resource/X
Instruqt scripts can be written in any language, including PowerShell and Python.