Terraform-Provider-Plugin
Wenn Sie Terraform von HashiCorp zur Bereitstellung Ihrer Infrastruktur verwenden und Transloadit als Teil davon einsetzen möchten, können Sie die Templates von Transloadit mit Terraform verwalten. So lassen sich neben Ihrer App auch deren Anweisungen zum Encoding reproduzierbar bereitstellen.
Installation
Installieren Sie eine aktuelle Terraform CLI. Terraform wählt das Provider-Paket für Ihre Plattform aus der Registry aus.
Erstellen Sie ein Arbeitsverzeichnis:
mkdir -p transloadit-terraform
cd transloadit-terraform
Erstellen Sie in diesem Verzeichnis versions.tf mit der folgenden
Anforderung für den Transloadit-Provider aus der Registry:
terraform {
required_providers {
transloadit = {
source = "transloadit/transloadit"
version = "~> 0.8.0"
}
}
}
Diese Versionsbeschränkung wählt kompatible Patch-Releases der Reihe 0.8 aus.
Der unten gezeigte Befehl terraform init installiert den Provider und hält die
gewählte Version in .terraform.lock.hcl fest. Nehmen Sie diese Lockdatei zusammen mit Ihrer
Konfiguration in einen Commit auf, um reproduzierbare Installationen zu ermöglichen. Informationen
zur Versionsauswahl und zu Upgrades finden Sie in den
Provider-Anforderungen von Terraform.
Verwendung
Hier finden Sie ein kurzes Beispiel. Ausführlichere Anweisungen finden Sie im Website-Verzeichnis. Wenn Sie mehrere Apps in Transloadit verwenden möchten, zeigen die Beispiele, wie Sie pro App einen Provider-Alias konfigurieren.
In 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
}
Initialisieren Sie im selben Verzeichnis den Provider und sehen Sie sich die Änderungen vorab an:
terraform init
terraform plan
Dokumentation
Die vollständige Dokumentation finden Sie auf GitHub.