Repositorio utilizado para Charla denominada CNCF San Salvador con ITCA FEPADE
Este proyecto fue realizado en Terraform version.
Terraform v1.7.5
Recomiendo mucho instalar Terraform a través de "tfenv" debido que nos permite gestionar las versiones de Terraform y es usable en MacOS, Unix based systems y Windows (Git-bash)
Click para acceder al repositorio
Requisitos:
- Cuenta en Digitalocean registrate aquí.
- Crear un Personal Access Token documentación aquí
- Crear una cuenta en Cloudflare con al menos un DNS registrado link
Clona el repositorio en tu local
git clone https://github.com/ShankyJS/2024-terraform-nextjs-digitalocean && cd terraform
Copia la plantilla de variables en un nuevo archivo y llenalas con los valores especificos que utilizarás.
cp terraform.tfvars.example terraform.tfvars
Modifica el archivo terraform.tfvars
y reemplaza los placeholders "value" por los valores de tus variables.
Inicializa el proyecto, esto hará que Terraform descargue los módulos y providers necesarios.
(Corre estos comandos desde el root del repositorio)
terraform init
Luego de inicializar el proyecto puedes planearlo para ver que recursos serán creados.
terraform plan
Si estás de acuerdo con los recursos que serán creados puedes aplicar estos cambios.
terraform apply --auto-approve
Una vez que termines de probar el proyecto puedes destruirlo.
terraform destroy --auto-approve
Una mejora que puedes colocar en este repositorio es permitir el uso de S3 para manejar el terraform.tfstate
, esta demo maneja el estado localmente que es inseguro (por pérdida de dispositivo).
Terraform recomienda manejar una bucket de S3 para mantener el estado de Terraform.