Blog
Notas sobre platform engineering, Go, infraestructura y SRE.
-
Provisioners en Terraform
Qué hacen los provisioners de creación y de destrucción, qué pasa cuando fallan, y por qué HashiCorp los trata como último recurso frente a alternativas nativas de cada proveedor.
- terraform
- iac
- provisioners
-
count vs for_each en Terraform
Diferencias entre los meta-argumentos count y for_each, cuándo usar cada uno, y el problema de count con listas indexadas.
- terraform
- iac
- meta-arguments
-
Data sources en Terraform
Qué es un data source en Terraform, cómo funciona internamente su lectura (plan o apply) y por qué a veces hace falta un depends_on explícito.
- terraform
- iac
- data-sources
-
Infraestructura mutable vs. inmutable, y lifecycle en Terraform
Qué diferencia a un despliegue mutable de uno inmutable, por qué Terraform reemplaza recursos por defecto en vez de modificarlos, y cómo cambiar ese comportamiento con create_before_destroy, prevent_destroy e ignore_changes.
- terraform
- iac
- lifecycle
- buenas-practicas
-
Comandos útiles de Terraform: validate, fmt, show, providers, output, refresh y graph
Qué hace cada uno de estos comandos, cómo se usan en la práctica y cuáles de ellos tienen sentido en una pipeline de CI (y cuáles no).
- terraform
- iac
- ci
- buenas-practicas
-
Conectar recursos en Terraform con atributos y outputs
Cómo referenciar el atributo de un recurso desde otro, cómo funciona el grafo de dependencias implícito que esto genera, y cómo exponer esos valores al terminar con bloques output.
- terraform
- iac
- gcp
- buenas-practicas
-
Cómo se declaran variables en Terraform
Cómo declarar variables en Terraform con type y description, las cuatro formas de asignarles valor (default, -var, TF_VAR_, ficheros tfvars) y el orden de precedencia cuando varias compiten por la misma variable.
- terraform
- iac
- gcp
- buenas-practicas
-
Qué son los providers en Terraform y cómo usarlos
Qué es exactamente un provider de Terraform, por qué hay que fijar su versión con required_providers, qué pinta el fichero .terraform.lock.hcl, y cómo configurar el provider de Google Cloud sin meter credenciales en el código.
- terraform
- iac
- gcp
- buenas-practicas
-
State remoto en Terraform: un bucket, un lock y adiós a pisarse el trabajo
Qué es el fichero de estado de Terraform, por qué guardarlo en local no escala en un equipo, y cómo moverlo a un bucket de Google Cloud Storage con locking para que dos personas no puedan aplicar cambios a la vez.
- terraform
- iac
- gcp
- equipos
-
Instalar Terraform: binario, apt y Docker (con Makefile)
Tres formas de instalar Terraform en Linux (el binario oficial, el repositorio apt de HashiCorp y Docker) y un Makefile que reduce el comando de Docker a un simple make plan.
- terraform
- iac
- docker
- linux
-
De snapshots a infraestructura como código
Snapshots, Terminator con broadcast y clics en la consola de GCP. Un breve repaso de cómo aprovisionábamos servidores antes, y por qué terminamos declarando la infraestructura como código.
- terraform
- iac
- infraestructura
- gcp