Plugin de provedor do Terraform
Se você usa o Terraform da HashiCorp para provisionar sua infraestrutura e quer implantar a Transloadit como parte dela, pode colocar os Templates da Transloadit sob o controle do Terraform. Assim, as instruções de codificação do seu aplicativo podem ser provisionadas de forma reproduzível junto com ele.
Instalar
Instale uma versão atual da CLI do Terraform. O Terraform seleciona no Registry o pacote do provedor para sua plataforma.
Crie um diretório de trabalho:
mkdir -p transloadit-terraform
cd transloadit-terraform
Nesse diretório, crie versions.tf declarando a dependência do
provedor da Transloadit no Registry:
terraform {
required_providers {
transloadit = {
source = "transloadit/transloadit"
version = "~> 0.8.0"
}
}
}
Essa restrição seleciona versões de correção compatíveis da série 0.8.
terraform init, mostrado abaixo, instala o provedor e registra a versão selecionada em
.terraform.lock.hcl. Inclua esse arquivo de lock em um commit junto com sua configuração
para que as instalações sejam reproduzíveis. Consulte os
requisitos de provedores
do Terraform para saber mais sobre a seleção de versões e as atualizações.
Uso
Veja um exemplo rápido. Você encontra instruções mais detalhadas no diretório website. Se você pretende usar vários aplicativos na Transloadit, consulte os exemplos para saber como configurar um alias de provedor por aplicativo.
Em 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
}
No mesmo diretório, inicialize o provedor e visualize as alterações previstas:
terraform init
terraform plan
Documentação
Consulte o GitHub para acessar a documentação completa.