Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/transloadit/terraform-provider-transloadit

Terraform integration for Transloadit
https://github.com/transloadit/terraform-provider-transloadit

api file-processing image-processing image-recognition media-processing-api terraform terraform-provider video-encoding

Last synced: 3 months ago
JSON representation

Terraform integration for Transloadit

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.org/transloadit/terraform-provider-transloadit.svg?branch=main)](https://travis-ci.org/transloadit/terraform-provider-transloadit)

# Transloadit Terraform Provider

- Terraform Website: https://www.terraform.io
- Terraform Gitter: [![Gitter chat](https://badges.gitter.im/hashicorp-terraform/Lobby.png)](https://gitter.im/hashicorp-terraform/Lobby)
- Terraform Mailing list: [Google Groups](http://groups.google.com/group/terraform-tool)

- Transloadit Docs:
- Transloadit Twitter:
- Transloadit Community:

## Intro

Transloadit is a file processing service for companies. Developers describe desired outputs with a declarative JSON recipe to encode video, resize and recognize images, normalize audio, thumbnail documents, screenshot websites, and so much more.

Terraform is a tool to provision infrastructure as code. Developers describe desired infrastructure (such as webservers, loadbalancers, storage buckets) with a declarative HCL to launch it.

The Transloadit Terraform Provider lets you launch Transloadit recipes (Templates) with Terraform. This way you can orchestrate your media processing pipelines declaratively from a single place, and make sure it works well in conjunction with other infrastructure. For instance, you may want to use Transloadit as the media conversion engine for your not-so Smart CDN, or make sure required storage buckets are set up in a compatible way.

## Install

You'll first need [Terraform](https://www.terraform.io/downloads.html) 0.12.x installed on your system as a prerequisite.

The recommended way to install the Transloadit Terraform Provider is to use binary distributions from the [Releases](https://github.com/transloadit/terraform-provider-transloadit/releases) page. The binaries are available for Linux, macOS (darwin) and Windows (all for the amd64 architecture).

Here's how to download and extract the latest release for your OS:

### Linux

```bash
mkdir -p ~/.terraform.d/plugins/ && cd !$
curl -sSL https://github.com/transloadit/terraform-provider-transloadit/releases/download/v0.1.0/terraform-provider-transloadit_linux_amd64.tar.gz |tar xvz
cd -
```

### macOS

```bash
mkdir -p ~/.terraform.d/plugins/ && cd !$
curl -sSL https://github.com/transloadit/terraform-provider-transloadit/releases/download/v0.1.0/terraform-provider-transloadit_darwin_amd64.tar.gz |tar xvz
cd -
```

### Windows

[Download](https://github.com/transloadit/terraform-provider-transloadit/releases) and unpack the provider into `%APPDATA%\terraform.d\plugins`.

## Usage

Here's a quick example. More detailed instructions can be found in the [website directory](./website/). If you intend to use multiple Apps withing Transloadit, check out the [examples](./examples/multi-app) how to structure that by passing one provider alias per App.

In `main.tf`:

```hcl
provider "transloadit" {
auth_key = ""
auth_secret = ""
version = "0.1.0"
}

resource "transloadit_template" "my-terraform-template" {
name = "my-terraform-template"
template = <