Testing Your Plugin
Testing is an iterative process — preview your rendered output, deploy in a real scenario, check the logs, fix issues, and redeploy.
Step 1: Preview Draft
Section titled “Step 1: Preview Draft”Before deploying, use the Preview tab in the plugin editor:
- Enter sample values for each parameter
- Click Preview Draft
- Review the rendered YAML with all parameters injected
This catches common issues early — misspelled parameter names, broken Jinja2 syntax, missing defaults.
Step 2: Create a Test Scenario
Section titled “Step 2: Create a Test Scenario”Apply your plugin to a machine in a real scenario:
- Open Rogue Architect and create a new scenario (or use an existing test scenario)
- Add a machine with a compatible base template
- Apply your plugin to the machine
- Set parameter values
- If your plugin has automated actions, review and accept the recommended changes
- Launch a build
Linux machines install packages from the local APT mirror — no internet needed. Windows machines pull files from your plugin’s vault.
Step 3: Monitor Build Logs
Section titled “Step 3: Monitor Build Logs”Once the build starts, watch the build logs for your plugin’s Ansible task output:
- Green tasks — completed successfully
- Yellow tasks — changed something on the machine
- Red tasks — failed
Check the full Ansible output for error messages, warnings, and task details.
Step 4: Iterate
Section titled “Step 4: Iterate”When you find issues:
- Update your YAML in the plugin editor
- Save — the system automatically regenerates build fragments
- Re-deploy the scenario (or just the affected machine)
- Every save creates a YAML history entry — use the inline diff editor to compare against previous versions
Step 5: Snapshot & Rollback
Section titled “Step 5: Snapshot & Rollback”For faster iteration cycles, enable Snapshot Before Play on your plugin:
- Before your plugin runs, the system captures the VM’s current state
- If your plugin fails or produces unexpected results, revert the snapshot
- Re-test immediately without rebuilding the entire machine from scratch
This is especially useful for complex plugins (domain controllers, multi-step configurations) where rebuilding takes time.