File tree Expand file tree Collapse file tree 3 files changed +20
-6
lines changed Expand file tree Collapse file tree 3 files changed +20
-6
lines changed Original file line number Diff line number Diff line change 1
1
# Torrust Tracker Deployment Tool
2
2
3
- A modern Perl console application for deploying Torrust Tracker to Hetzner Cloud using Packer, Terraform, and Ansible .
3
+ A modern Perl console application for deploying Torrust Tracker to cloud providers using OpenTofu/ Terraform and cloud-init for VM configuration .
4
4
5
5
## Code Quality Standards
6
6
Original file line number Diff line number Diff line change 2
2
3
3
# Torrust Tracker Deployment Tool
4
4
5
- A modern Perl console application for deploying Torrust Tracker to Hetzner Cloud using Packer,
6
- Terraform, and Ansible.
5
+ A modern Perl console application for deploying Torrust Tracker to cloud providers using
6
+ OpenTofu/Terraform and cloud-init for VM configuration.
7
+
8
+ ## Architecture Decision: Cloud-Init vs Golden Images
9
+
10
+ This project uses cloud-init for VM configuration instead of building golden images with tools like
11
+ Packer. While golden images could speed up provisioning by pre-installing the torrust user, Docker,
12
+ and other basic setup, we chose cloud-init because:
13
+
14
+ - ** Cross-cloud compatibility** : No way to generate a single base image that works across multiple
15
+ cloud providers
16
+ - ** Deployment frequency** : Since deployment is typically done once, the extra time for cloud-init
17
+ configuration is acceptable
18
+ - ** Simplicity** : Eliminates the complexity of managing and maintaining custom images across
19
+ different providers
20
+ - ** Transparency** : All VM configuration is visible in the cloud-init templates
7
21
8
22
## Perl Version Requirement
9
23
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ use v5.38;
4
4
5
5
# App::Cmd framework setup - automatically discovers commands in TorrustDeploy::App::Command::*
6
6
# Commands are found by convention: each .pm file in lib/TorrustDeploy/App/Command/
7
- # becomes a command (e.g., help .pm -> "help" command, packer.pm -> "packer " command)
7
+ # becomes a command (e.g., provision .pm -> "provision " command)
8
8
use App::Cmd::Setup -app;
9
9
10
10
sub usage_desc { " %c %o " }
@@ -26,8 +26,8 @@ TorrustDeploy::App - Deploy Torrust Tracker to Hetzner Cloud
26
26
27
27
=head1 DESCRIPTION
28
28
29
- A modern Perl console application for deploying Torrust Tracker to Hetzner Cloud
30
- using Packer, Terraform, and Ansible .
29
+ A modern Perl console application for deploying Torrust Tracker to cloud providers
30
+ using OpenTofu/ Terraform and cloud-init for VM configuration .
31
31
32
32
=head1 AUTHOR
33
33
You can’t perform that action at this time.
0 commit comments