This repository showcases examples of labs built with Instruqt's new HCL definition format. These labs demonstrate the range of possibilities with the new HCL-based lab definitions - from simple container setups to complex cloud integrations. Each example is self-contained and focuses on specific features of the platform, providing patterns you can use when creating your own labs.
Lab | Description | Key Features |
---|---|---|
container-terminal | Basic Ubuntu container with interactive terminal | Simple container setup, terminal tab |
container-service | Nginx container with web service tab | Web service integration, port mapping |
task | Demonstrates tasks and validation conditions | Task validation, check/solve scripts |
quiz | Shows different quiz types | Single/multiple choice, hints |
demo | Comprehensive showcase of advanced features | Multiple resources, complex validation |
minimal | Single container with multiple content options and modules | Module system, content organization |
k8s-terminal | Kubernetes cluster with pod deployment tasks | K8s integration, cluster management |
google-project | Google Cloud integration with Terraform | Cloud provider, service accounts |
experimental | Basic experimental features lab | Testing new capabilities |
skeleton | Minimal template for starting new labs | Best practices template |
local | Simple local environment example | Basic setup reference |
lab-name/
├── main.hcl # Lab metadata and settings
├── layouts.hcl # UI layout definitions
├── sandbox.hcl # Infrastructure resources
├── tabs.hcl # Interactive tabs
├── pages.hcl # Content pages
├── tasks.hcl # Tasks with validation
├── instructions/ # Markdown content
│ ├── intro.md
│ └── chapter1/
│ └── page1.md
└── scripts/ # Validation scripts
├── check-task1
└── solve-task1
For full documentation on the new lab definition format, visit docs.labs.instruqt.com.