-
Notifications
You must be signed in to change notification settings - Fork 3
range configs.md
NocteDefensor edited this page Jul 27, 2025
·
2 revisions
Ludus MCP uses a range config template system to help create range configurations. Templates are stored locally and provide starting points for common deployment scenarios.
All range configuration templates are stored in:
~/.ludus-mcp/range-config-templates/
This directory contains:
-
base-configs/- Official templates downloaded from GitHub - Custom subdirectories - User-created templates and modifications
- Example
- Lets say you create a range config for a ludus user called sccm-lab it will be stored in
~/.ludus-mcp/range-config-templates/sccm-lab
- Lets say you create a range config for a ludus user called sccm-lab it will be stored in
Base templates are automatically downloaded from the official Ludus repository when the MCP server starts. These include:
- Common Active Directory setups
- SCCM lab configurations
- Security tool deployments
- Multi-domain environments
- Elastic Stack configurations
If you have a template that you think would be helpful to include in base-configs on a project wide basis, please submit a PR with the config. Otherwise save it locally in
~/.ludus-mcp/base-configsand it will not be written over
Base templates are organized by use case:
-
ad-basic.yml- Simple Active Directory setup -
sccm-lab.yml- SCCM deployment environment -
elastic-security.yml- Elastic Stack with security tools -
multi-domain.yml- Multiple domain configurations
- LLM uses
list_range_configsto find available templates - Templates are searched recursively in the templates directory
- Results show file paths relative to the templates directory
- LLM uses
read_range_configto examine template contents - Can read from URLs or local template files
- Analyzes structure and patterns for new configurations
The LLM examines templates to understand:
- VM naming patterns
- Role assignments and variables
- Network configurations
- Credential handling patterns
- Common deployment structures
Place custom templates in the range-config-templates directory:
~/.ludus-mcp/range-config-templates/
├── base-configs/ # Official templates (auto-updated and created by the MCP server upon start.)
├── company-templates/ # Your organization's templates or whatever you'd like to create the folder as.
├── personal/ # Individual custom templates or whatever you'd like to create the folder as.
└── projects/ # Project-specific templates or whatever you'd like to create the folder as.
Use descriptive names that indicate the range config template's purpose:
Good Examples:
-
windows-ad-sccm-exchange.yml- Clear components listed -
linux-elastic-wazuh-stack.yml- Technology stack identified -
hybrid-cloud-pentest-lab.yml- Environment type specified -
incident-response-training.yml- Use case defined
Poor Examples:
-
config1.yml- No descriptive information -
test.yml- Unclear purpose -
lab.yml- Too generic
- LLM Recognition - Descriptive names help the LLM identify relevant templates
- Template Selection - Clear names indicate when a template applies
- Maintenance - Easier to organize and update templates
- Collaboration - Team members understand template purposes
All range config templates must include:
-
ludus:section with range metadata - VM definitions with names and templates
- Role assignments where applicable
- Network configurations if needed
- Comment Usage - Add comments explaining complex configurations
- Variable Documentation - Document custom variables and their purposes
- Dependency Notes - Explain role dependencies and execution order
- Credential Patterns - Show proper credential placeholder usage
- Once you have a verified validated working template. Anonymize it and save it in
~/.ludus-mcp/range-config-templates/base-configsdirectory for the LLM to use as reference for follow on builds. This is especially helpful for complex range configs.
- Base templates are refreshed on each server startup
- Official templates overwrite existing versions
- No manual intervention required for updates
- Custom templates persist through server restarts
- User-created templates are never overwritten
- Custom templates remain during official template updates
-
Discovery Phase
- Lists available templates to understand options
- Identifies templates matching user requirements
-
Analysis Phase
- Reads 1-3 relevant templates for patterns
- Extracts common structures and practices
- Understands naming and organization patterns
-
Adaptation Phase
- Uses template patterns for new configurations
- Adapts existing templates to meet specific requirements
- Maintains consistent structure and best practices
- Copy base template to custom directory
- Modify for specific requirements
- Save with descriptive name
- Test configuration before deployment
- Export custom range config templates from local directory
- Share YAML files with team members
- Import by placing in range-config-templates directory
- Ensure consistent naming across team
Templates can be validated using:
-
validate_range_config- Check syntax and structure -
ludus_read_range_config_schema- Verify against official schema - Manual review of role variables and dependencies
- Check file exists in range-config-templates directory
- Verify file permissions are readable
- Use relative paths when referencing templates
- Check YAML syntax (indentation, colons, quotes)
- Verify role names against available roles
- Confirm all required variables are defined
- Use descriptive file names that match requirements
- Organize templates in logical subdirectories
- Remove outdated or non-functional templates