Overview
What is Instruqt?
Section titled “What is Instruqt?”Instruqt is an interactive learning platform that enables you to create hands-on labs and training experiences. Instead of traditional documentation or video tutorials, Instruqt provides learners with real, sandboxed environments where they can practice with actual tools, technologies, and workflows.
Key Benefits
Section titled “Key Benefits”- Hands-on Learning: Learners work with real tools in isolated environments
- No Setup Required: Pre-configured environments eliminate installation friction
- Interactive Validation: Automatic checking ensures learners complete tasks correctly
- Scalable Infrastructure: Spin up containers, VMs, and cloud resources on-demand
- Rich Content: Combine instructions, code examples, and interactive elements
Instruqt Lab Platform Overview
Section titled “Instruqt Lab Platform Overview”Instruqt labs consist of three main components:
- Sandbox Infrastructure - The underlying compute, networking, and storage resources
- Interactive Content - Step-by-step instructions, tasks, and validation logic
- Lab Configuration - Settings that control behavior, appearance, and flow
Labs guide learners through structured learning paths with automatic environment provisioning, task validation, and progress tracking.
New HCL Lab Format
Section titled “New HCL Lab Format”Instruqt has introduced a new HCL format for defining labs, replacing the previous YAML-based approach. This brings several advantages:
Why the Format Change?
Section titled “Why the Format Change?”- Everything as Code: Treat lab configuration with the same practices as infrastructure and application code - version control, code reviews, and automated testing
- Better Validation and Debugging: Strong typing and schema validation catch configuration errors early in development, with clear error messages that pinpoint issues
- Improved Modularity for Scale: Resource references and reusable modules enable large organizations to standardize and share common patterns across teams and labs
- Expanded Resource Vocabulary: Rich set of specialized resources for containers, cloud services, networking, storage, and UI components provide precise control over lab environments
- Declarative over Imperative: Replace hidden complexity from YAML files, directory structures, bash scripts, and platform-specific knowledge with explicit declarative configuration - you define what the lab should look like and the system handles the implementation
- Enhanced Developer Experience: Modern IDE support with syntax highlighting, autocompletion, and linting makes lab creation more efficient
Key Concepts
Section titled “Key Concepts”# Define sandbox infrastructureresource "container" "web_server" { image { name = "nginx:latest" }}
# Create instructional contentresource "page" "introduction" { title = "Getting Started with NGINX" file = "instructions/intro.md"}
# Configure the labresource "lab" "nginx_basics" { title = "NGINX Fundamentals" description = "Learn NGINX configuration and deployment" layout = resource.layout.two_column
content { chapter "setup" { title = "Environment Setup"
page "intro" { reference = resource.page.introduction } } }}
Documentation Structure
Section titled “Documentation Structure”This documentation is organized to support both newcomers and experienced lab creators:
For Newcomers
Section titled “For Newcomers”- Getting Started Guide - Step-by-step tutorial to create your first lab
- Lab Configuration - Understanding the structure and components
- Development Guide - Best practices for content creation
For Experienced Users
Section titled “For Experienced Users”- Configuration Reference - Complete reference for all resources and settings
- Migration Tools - Convert existing YAML labs to HCL format
- Advanced Development - Complex validation and interaction patterns
Quick Navigation
Section titled “Quick Navigation”Getting Started: New to Instruqt? Start with the hands-on tutorial to build your first lab in 30 minutes.
Reference Documentation: Looking for specific configuration options? Browse the complete reference organized by resource type.
Migration: Have existing YAML labs? Use the migration toolkit to convert them to the new HCL format.
Next Steps
Section titled “Next Steps”Ready to start building? Choose your path:
- Create Your First Lab - Follow the step-by-step guide
- Learn Lab Structure - Understand how labs are organized
- Browse Examples - See common patterns and templates
- Reference Documentation - Explore all available options