Skip to content

Commit 3fe2353

Browse files
committed
docs: remove Packer references and document cloud-init architecture decision
- Update project description to use OpenTofu/Terraform and cloud-init instead of Packer - Add Architecture Decision section explaining why cloud-init was chosen over golden images - Update all documentation files for consistency - Emphasize cross-cloud compatibility and simplicity as key decision factors
1 parent 7bd1cac commit 3fe2353

File tree

3 files changed

+20
-6
lines changed

3 files changed

+20
-6
lines changed

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Torrust Tracker Deployment Tool
22

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.
44

55
## Code Quality Standards
66

README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,22 @@
22

33
# Torrust Tracker Deployment Tool
44

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
721

822
## Perl Version Requirement
923

lib/TorrustDeploy/App.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use v5.38;
44

55
# App::Cmd framework setup - automatically discovers commands in TorrustDeploy::App::Command::*
66
# 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)
88
use App::Cmd::Setup -app;
99

1010
sub usage_desc { "%c %o" }
@@ -26,8 +26,8 @@ TorrustDeploy::App - Deploy Torrust Tracker to Hetzner Cloud
2626
2727
=head1 DESCRIPTION
2828
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.
3131
3232
=head1 AUTHOR
3333

0 commit comments

Comments
 (0)