torrust_tracker_deployer_lib/bootstrap/
help.rs1pub fn display_getting_started() {
38 println!("🏗️ Torrust Tracker Deployer");
39 println!("===========================");
40 println!();
41 println!("Automated deployment tool for the Torrust Tracker application.");
42 println!("Manage complete deployment lifecycles from environment creation to verification.");
43 println!();
44 println!("📋 Quick Start:");
45 println!(" 1. Check dependencies:");
46 println!(
47 " cargo run --package torrust-tracker-deployer-dependency-installer --bin dependency-installer check"
48 );
49 println!();
50 println!(" 2. Create and deploy an environment:");
51 println!(" torrust-tracker-deployer create template my-env.json");
52 println!(" # Edit my-env.json with your SSH keys and settings");
53 println!(" torrust-tracker-deployer create environment --env-file my-env.json");
54 println!(" torrust-tracker-deployer provision my-environment");
55 println!(" torrust-tracker-deployer configure my-environment");
56 println!(" torrust-tracker-deployer release my-environment");
57 println!(" torrust-tracker-deployer run my-environment");
58 println!();
59 println!(" 3. Verify deployment (optional):");
60 println!(" torrust-tracker-deployer test my-environment");
61 println!();
62 println!(" 4. Clean up when done:");
63 println!(" torrust-tracker-deployer destroy my-environment");
64 println!();
65 println!("📖 Documentation:");
66 println!(" - Quick Start Guides: docs/user-guide/quick-start/");
67 println!(" - Command Reference: docs/user-guide/commands/README.md");
68 println!(" - Main README: README.md");
69 println!();
70 println!("💡 To see all available commands: torrust-tracker-deployer --help");
71}
72
73pub fn display_troubleshooting() {
95 println!("🔧 Troubleshooting Guide");
96 println!("=======================");
97 println!();
98 println!("Common issues and solutions:");
99 println!();
100 println!("1. Dependencies not found:");
101 println!(" - Ensure OpenTofu is installed and in PATH");
102 println!(" - Verify Ansible is installed and accessible");
103 println!(" - Check that your infrastructure provider is properly configured");
104 println!();
105 println!("2. Permission errors:");
106 println!(" - Ensure you have the necessary permissions for your provider");
107 println!(" - For LXD: Add your user to the lxd group");
108 println!(" - For Hetzner: Verify your API token has correct permissions");
109 println!();
110 println!("3. Network connectivity issues:");
111 println!(" - Check internet connectivity for image downloads");
112 println!(" - Verify your provider is accessible");
113 println!(" - Test provider-specific connectivity");
114 println!();
115 println!("4. Configuration problems:");
116 println!(" - Validate YAML/JSON syntax in configuration files");
117 println!(" - Check that environment names follow naming conventions");
118 println!(" - Ensure SSH keys are properly configured");
119 println!();
120 println!("📖 For more help:");
121 println!(" - Check the docs/ directory for detailed guides");
122 println!(" - Review the README.md for setup instructions");
123 println!(" - Open an issue on GitHub for additional support");
124}
125
126#[cfg(test)]
127mod tests {
128 use super::*;
129
130 #[test]
131 fn it_should_display_getting_started_without_panicking() {
132 display_getting_started();
136 }
137
138 #[test]
139 fn it_should_display_troubleshooting_without_panicking() {
140 display_troubleshooting();
142 }
143}