Add README with project documentation
This commit is contained in:
92
README.md
92
README.md
@@ -0,0 +1,92 @@
|
||||
# Deploy Terraform - Naliia Web
|
||||
|
||||
Infraestructura como código para desplegar recursos en Hetzner Cloud.
|
||||
|
||||
## Tecnología Utilizada
|
||||
|
||||
- **Terraform**: >= 0.13
|
||||
- **Provider**: hcloud (Hetzner Cloud)
|
||||
- **Recursos**: SSH Key, Server, Volume
|
||||
|
||||
## Estructura del Proyecto
|
||||
|
||||
```
|
||||
Deploy/
|
||||
├── terraform/
|
||||
│ ├── hcloud.tf # Definición de recursos
|
||||
│ ├── variables.tf # Variables disponibles
|
||||
│ ├── config.auto.tfvars # Configuración (contiene secrets)
|
||||
│ ├── .terraform/ # Proveedores descargados
|
||||
│ └── .terraform.lock.hcl # Lock de proveedores
|
||||
├── config.auto.tfvars.example # Template de configuración
|
||||
├── .gitignore
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Variables a Actualizar
|
||||
|
||||
| Variable | Descripción | Valor por defecto |
|
||||
|----------|-------------|-------------------|
|
||||
| `hcloud_token` | Token API de Hetzner | (requerido) |
|
||||
| `hcloud_ssh_key_name` | Nombre de la clave SSH | default-ssh-key |
|
||||
| `hcloud_ssh_key_file_path` | Ruta a clave pública | ~/.ssh/id_rsa.pub |
|
||||
| `hcloud_server_name` | Nombre del servidor | app |
|
||||
| `hcloud_server_image` | Imagen del SO | ubuntu-24.04 |
|
||||
| `hcloud_server_type` | Tipo de instancia | cx23 |
|
||||
| `hcloud_volume_name` | Nombre del volumen | web_volume |
|
||||
| `hcloud_volume_size` | Tamaño en GB | 10 |
|
||||
|
||||
## Comandos Terraform
|
||||
|
||||
```bash
|
||||
# Inicializar el directorio de trabajo
|
||||
terraform init
|
||||
|
||||
# Mostrar el plan de cambios
|
||||
terraform plan
|
||||
|
||||
# Aplicar los cambios definidos
|
||||
terraform apply
|
||||
|
||||
# Mostrar el estado actual de los recursos
|
||||
terraform show
|
||||
|
||||
# Destruir todos los recursos creados
|
||||
terraform destroy
|
||||
|
||||
# Formatear los archivos de configuración
|
||||
terraform fmt
|
||||
|
||||
# Validar la configuración
|
||||
terraform validate
|
||||
```
|
||||
|
||||
## Requisitos Previos
|
||||
|
||||
1. Terraform instalado (>= 0.13)
|
||||
2. Cuenta en [Hetzner Cloud](https://console.hetzner.cloud)
|
||||
3. Token API generado en Hetzner Robot > Access > API Tokens
|
||||
4. Clave SSH pública generada (`~/.ssh/id_rsa.pub`)
|
||||
|
||||
## Configuración Inicial
|
||||
|
||||
1. Copiar el archivo de ejemplo de configuración:
|
||||
|
||||
```bash
|
||||
cp config.auto.tfvars.example terraform/config.auto.tfvars
|
||||
```
|
||||
|
||||
2. Editar `terraform/config.auto.tfvars` con los valores deseados
|
||||
|
||||
3. Inicializar Terraform:
|
||||
|
||||
```bash
|
||||
cd terraform
|
||||
terraform init
|
||||
```
|
||||
|
||||
4. Aplicar la configuración:
|
||||
|
||||
```bash
|
||||
terraform apply
|
||||
```
|
||||
Reference in New Issue
Block a user