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

# 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
  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:
cp config.auto.tfvars.example terraform/config.auto.tfvars
  1. Editar terraform/config.auto.tfvars con los valores deseados

  2. Inicializar Terraform:

cd terraform
terraform init
  1. Aplicar la configuración:
terraform apply
Description
No description provided
Readme 29 KiB
Languages
HCL 100%