Plugin del proveedor de Terraform
Si usas Terraform de HashiCorp para aprovisionar tu infraestructura y quieres desplegar Transloadit como parte de ella, puedes gestionar los Templates de Transloadit con Terraform, de modo que, junto con tu aplicación, sus instrucciones de encoding puedan aprovisionarse de manera reproducible.
Instalación
Instala una versión actual de la CLI de Terraform. Terraform selecciona el paquete del proveedor para tu plataforma desde el Registry.
Crea un directorio de trabajo:
mkdir -p transloadit-terraform
cd transloadit-terraform
En ese directorio, crea versions.tf con el
proveedor de Transloadit en el Registry
como requisito:
terraform {
required_providers {
transloadit = {
source = "transloadit/transloadit"
version = "~> 0.8.0"
}
}
}
Esta restricción selecciona versiones de parche compatibles de la serie 0.8.
terraform init, que se muestra más adelante,
instala el proveedor y registra la versión seleccionada en .terraform.lock.hcl.
Guarda ese archivo de bloqueo en el control de versiones junto con tu configuración para obtener
instalaciones reproducibles. Consulta los
requisitos de proveedores de Terraform
para saber cómo seleccionar y actualizar versiones.
Uso
Este es un ejemplo rápido. Puedes encontrar instrucciones más detalladas en el directorio del sitio web. Si planeas usar varias aplicaciones en Transloadit, consulta los ejemplos para saber cómo configurar un alias de proveedor por aplicación.
En main.tf:
provider "transloadit" {
auth_key = "<TRANSLOADIT-AUTH-KEY>"
auth_secret = "<TRANSLOADIT-AUTH-SECRET>"
}
resource "transloadit_template" "my-terraform-template" {
name = "my-terraform-template"
template = <<EOT
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"encoded": {
"use": ":original",
"robot": "/video/encode",
"preset": "ipad-high",
"ffmpeg_stack": "v7"
},
"thumbed": {
"use": ":original",
"robot": "/video/thumbs",
"count": 4,
"ffmpeg_stack": "v7"
},
"exported": {
"use": [ ":original", "encoded", "thumbed"],
"credentials": "YOUR_S3_CREDENTIALS",
"robot": "/s3/store"
}
}
}
EOT
}
output "my-terraform-template-id" {
value = transloadit_template.my-terraform-template.id
}
Desde el mismo directorio, inicializa el proveedor y obtén una vista previa de los cambios:
terraform init
terraform plan
Documentación
Consulta GitHub para ver la documentación completa.