Configuration Reference
Complete reference documentation for all Instruqt lab configuration options. This reference covers all available HCL resources, configuration types, and functions for creating interactive labs.
How This Reference is Organized
Section titled “How This Reference is Organized”The reference documentation is organized around two main concepts:
- Content Resources - Define what learners see and interact with (educational content, activities, assessments)
- Sandbox Resources - Define the technical infrastructure and environment that powers the lab
This separation makes it easier to find what you need based on whether you’re creating educational content or configuring technical infrastructure.
Content Resources
Section titled “Content Resources”Resources for creating instructional content and interactive activities:
Complete guide to content creation resources including labs, pages, layouts, and interactive activities.
Essential Resources:
- Lab - Main lab configuration, metadata, and content structure
- Page - Individual instructional content pages with variable substitution and activity embedding
- Layout - User interface layout definitions that arrange tabs and instructions
- Note - Static reference materials and documentation tabs
Interactive Activities:
- Task - Hands-on interactive challenges with automated validation and feedback
- Quiz Overview - Knowledge assessments with multiple question types
- Quiz - Main quiz resource that combines questions
- Single Choice - Questions with one correct answer
- Multiple Choice - Questions with multiple correct answers
- Text Answer - Free-form text input questions
- Numeric Answer - Numerical value questions
Sandbox Resources
Section titled “Sandbox Resources”Infrastructure and environment resources for lab environments:
Complete guide to infrastructure patterns and environment configuration.
Compute Resources:
- Container - Docker containers for isolated application environments
- Sidecar - Additional containers that extend main containers
Networking:
- Network - Isolated networks for resource communication
- Ingress - HTTP/HTTPS routing and external access
User Interface Tabs:
- Terminal - Interactive shell sessions
- Service - Web application and service tabs
- Editor - Code editor interfaces
- External Website - External website integration
Storage & File Management:
Cloud Provider Integrations:
- AWS Account - Amazon Web Services account provisioning with user management
- Azure Subscription - Microsoft Azure subscription setup with user and service principal management
- Google Cloud Project - Google Cloud Platform project configuration with user and service account management
Container Orchestration:
- Kubernetes Overview - Kubernetes cluster provisioning and configuration
- Kubernetes Cluster - Complete Kubernetes cluster setup and configuration
- Nomad Overview - HashiCorp Nomad cluster and job management
- Nomad Cluster - Nomad cluster configuration and management
- Nomad Job - Nomad workload deployment and scheduling
- Helm Overview - Helm chart deployment and repository management
- Helm - Helm chart installation and management
Utilities:
- Core Utilities Overview - Command execution, HTTP requests, and infrastructure integration
- Random Generators Overview - Dynamic content generation for unique identifiers
- Random ID - Generate unique random identifiers
- Random Password - Generate secure random passwords
- Random Number - Generate random numbers within ranges
- Random UUID - Generate UUID values
- Random Creature - Generate random creature names
- Cache & Registry Overview - Container image caching and registry management
- Image Cache - Container image caching configuration
- Registry - Private container registry setup
- Registry Auth - Registry authentication configuration
- Certificates Overview - SSL/TLS certificate management
- Certificate CA - Certificate authority creation and management
- Certificate Leaf - SSL/TLS certificate generation
Configuration Infrastructure
Section titled “Configuration Infrastructure”Advanced configuration patterns and dynamic content:
Configuration Types:
- Resource - Resource definition patterns and best practices
- Variable - Variable declarations and usage patterns
- Local - Local value computations and expressions
- Output - Output value definitions for resource sharing
- Module - Module organization and reuse patterns
Dynamic Configuration:
- Functions Overview - Built-in functions for dynamic configuration and data manipulation
- String Functions - Text manipulation and formatting functions
- Numeric Functions - Mathematical operations and calculations
- Collection Functions - List and map manipulation functions
- Encoding Functions - Data encoding and decoding functions
- Filesystem Functions - File and directory operations
- DateTime Functions - Date and time manipulation functions
- Lab Environment Functions - Lab-specific utility functions
Getting Started Paths
Section titled “Getting Started Paths”For Content Creators
Section titled “For Content Creators”If you’re focused on creating educational content and learning experiences:
- Lab - Start with lab structure and metadata
- Page - Create instructional content with embedded activities
- Task - Add hands-on interactive challenges
- Layout - Design the user interface and tab arrangement
- Quiz - Add knowledge assessments and quizzes
For Infrastructure Engineers
Section titled “For Infrastructure Engineers”If you’re focused on setting up the technical environment:
- Container - Set up application environments
- Network - Configure container networking
- Terminal - Provide command-line access
- Service - Expose web applications
- Cloud Integration - Connect to cloud platforms as needed
For Platform Engineers
Section titled “For Platform Engineers”If you’re building reusable lab infrastructure:
- Configuration Types - Learn advanced HCL patterns
- Module - Create reusable lab components
- Functions - Use dynamic configuration capabilities
- Template - Generate configuration files dynamically
Quick Reference by Use Case
Section titled “Quick Reference by Use Case”Simple Web App Lab: Lab → Container → Service → Page → Layout
Development Environment Lab: Lab → Container → Terminal → Editor → Network → Page
Cloud Integration Lab: Lab → Cloud Resources → Container → Service → Task → Page
Assessment-Heavy Lab: Lab → Page → Task → Quiz → Layout
Multi-Service Architecture Lab: Lab → Multiple Containers → Network → Service → Terminal → Page
Need Help?
Section titled “Need Help?”- New to HCL? Start with Configuration Types to learn the basics
- Looking for Examples? Check the overview pages for Content and Sandbox resources
- Building Complex Labs? Explore Module patterns for reusable components
- Integration Questions? See Cloud Provider documentation for specific platforms