Overview
This task updates all user-facing documentation to reflect the new provider selection feature and fixes several issues in the existing documentation. Users need clear guidance on how to configure their environment for different infrastructure providers (LXD for local development, Hetzner for production deployments).
This is Task 6 in Phase 1 ("Make LXD Explicit") of the Hetzner Provider Support epic. It is the final task before Phase 2 (Add Hetzner Provider) begins.
Parent Epic: #205 - Epic: Add Hetzner Provider Support
Related: #206, #207, #208, #212
Goals
Documentation Files to Update
Main Documentation Updates
| File Path |
Action |
Description |
README.md |
Update |
Fix emoji, E2E commands, structure, Next Steps |
docs/user-guide/quick-start.md |
Update |
Add provider selection to quick start workflow |
docs/user-guide/commands.md |
Update |
Document provider requirements for commands |
docs/user-guide/commands/create.md |
Update |
Add provider config to create command docs |
docs/user-guide/commands/provision.md |
Update |
Document provider-specific provisioning |
New Provider Documentation (Create)
| File Path |
Action |
Description |
docs/user-guide/providers/README.md |
Create |
Provider overview and selection guide |
docs/user-guide/providers/lxd.md |
Create |
LXD provider setup and configuration |
docs/user-guide/providers/hetzner.md |
Create |
Hetzner provider setup and configuration |
README.md Fixes Required
A) Fix E2E Test Commands
Update incorrect E2E test command references:
Current (incorrect): cargo run --bin e2e-provision-tests
Correct: cargo run --bin e2e-provision-and-destroy-tests
B) Fix Roadmap Emoji
Line 337 shows a broken emoji character: � instead of the roadmap emoji. Replace with proper emoji 🗺️ or 📋
C) Update Repository Structure
Update to reflect current directory layout, especially:
- New
docs/user-guide/providers/ directory
- Any changes to template directories for multi-provider support
D) Update Next Steps Section
Update to reflect:
- Hetzner provider is now implemented (Phase 1 complete)
- What remains in the roadmap
- Current production-ready status
Configuration Examples
LXD Provider Example:
{
"name": "my-local-env",
"instance_name": "torrust-tracker-vm",
"provider_config": {
"provider": "lxd",
"profile_name": "torrust-profile"
},
"ssh_credentials": {
"private_key_path": "~/.ssh/id_rsa",
"public_key_path": "~/.ssh/id_rsa.pub"
},
"ssh_port": 22
}
Hetzner Provider Example:
{
"name": "my-production-env",
"instance_name": "torrust-tracker-prod",
"provider_config": {
"provider": "hetzner",
"api_token": "your-hetzner-api-token-here",
"server_type": "cx22",
"location": "nbg1"
},
"ssh_credentials": {
"private_key_path": "~/.ssh/id_rsa",
"public_key_path": "~/.ssh/id_rsa.pub"
},
"ssh_port": 22
}
Acceptance Criteria
README.md Fixes:
Provider Documentation:
User Guide Updates:
Quality Checks:
Implementation Details
Full specification available at: docs/issues/update-user-documentation-for-provider-selection.md
Created: December 3, 2025
Epic: Phase 1 - Make LXD Explicit (Task 6 of 6)
Overview
This task updates all user-facing documentation to reflect the new provider selection feature and fixes several issues in the existing documentation. Users need clear guidance on how to configure their environment for different infrastructure providers (LXD for local development, Hetzner for production deployments).
This is Task 6 in Phase 1 ("Make LXD Explicit") of the Hetzner Provider Support epic. It is the final task before Phase 2 (Add Hetzner Provider) begins.
Parent Epic: #205 - Epic: Add Hetzner Provider Support
Related: #206, #207, #208, #212
Goals
Documentation Files to Update
Main Documentation Updates
README.mddocs/user-guide/quick-start.mddocs/user-guide/commands.mddocs/user-guide/commands/create.mddocs/user-guide/commands/provision.mdNew Provider Documentation (Create)
docs/user-guide/providers/README.mddocs/user-guide/providers/lxd.mddocs/user-guide/providers/hetzner.mdREADME.md Fixes Required
A) Fix E2E Test Commands
Update incorrect E2E test command references:
Current (incorrect):
cargo run --bin e2e-provision-testsCorrect:
cargo run --bin e2e-provision-and-destroy-testsB) Fix Roadmap Emoji
Line 337 shows a broken emoji character:
�instead of the roadmap emoji. Replace with proper emoji🗺️or📋C) Update Repository Structure
Update to reflect current directory layout, especially:
docs/user-guide/providers/directoryD) Update Next Steps Section
Update to reflect:
Configuration Examples
LXD Provider Example:
{ "name": "my-local-env", "instance_name": "torrust-tracker-vm", "provider_config": { "provider": "lxd", "profile_name": "torrust-profile" }, "ssh_credentials": { "private_key_path": "~/.ssh/id_rsa", "public_key_path": "~/.ssh/id_rsa.pub" }, "ssh_port": 22 }Hetzner Provider Example:
{ "name": "my-production-env", "instance_name": "torrust-tracker-prod", "provider_config": { "provider": "hetzner", "api_token": "your-hetzner-api-token-here", "server_type": "cx22", "location": "nbg1" }, "ssh_credentials": { "private_key_path": "~/.ssh/id_rsa", "public_key_path": "~/.ssh/id_rsa.pub" }, "ssh_port": 22 }Acceptance Criteria
README.md Fixes:
�)e2e-provision-and-destroy-tests)Provider Documentation:
docs/user-guide/providers/README.mdexists with provider overviewdocs/user-guide/providers/lxd.mdexists with complete LXD documentationdocs/user-guide/providers/hetzner.mdexists with complete Hetzner documentationUser Guide Updates:
Quality Checks:
./scripts/pre-commit.shImplementation Details
Full specification available at:
docs/issues/update-user-documentation-for-provider-selection.mdCreated: December 3, 2025
Epic: Phase 1 - Make LXD Explicit (Task 6 of 6)