{"id":15292464,"url":"https://github.com/transloadit/terraform-provider-transloadit","last_synced_at":"2025-05-07T05:07:15.901Z","repository":{"id":43020691,"uuid":"261355037","full_name":"transloadit/terraform-provider-transloadit","owner":"transloadit","description":"Terraform integration for Transloadit","archived":false,"fork":false,"pushed_at":"2025-04-16T21:50:53.000Z","size":15273,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-05-07T05:06:53.532Z","etag":null,"topics":["api","file-processing","image-processing","image-recognition","media-processing-api","terraform","terraform-provider","video-encoding"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/providers/transloadit/transloadit/latest","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/transloadit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-05-05T03:42:11.000Z","updated_at":"2025-04-15T07:26:38.000Z","dependencies_parsed_at":"2022-07-13T21:44:22.610Z","dependency_job_id":"0f062951-ce64-4bcb-b1da-782dc1c4577e","html_url":"https://github.com/transloadit/terraform-provider-transloadit","commit_stats":{"total_commits":109,"total_committers":4,"mean_commits":27.25,"dds":0.5229357798165137,"last_synced_commit":"ba730f19553f2f3c7e1d2e59b6d206595276b31f"},"previous_names":["etienne-carriere/terraform-provider-transloadit"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fterraform-provider-transloadit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fterraform-provider-transloadit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fterraform-provider-transloadit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fterraform-provider-transloadit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transloadit","download_url":"https://codeload.github.com/transloadit/terraform-provider-transloadit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252817603,"owners_count":21808706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","file-processing","image-processing","image-recognition","media-processing-api","terraform","terraform-provider","video-encoding"],"created_at":"2024-09-30T16:18:03.093Z","updated_at":"2025-05-07T05:07:15.879Z","avatar_url":"https://github.com/transloadit.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/transloadit/terraform-provider-transloadit.svg?branch=main)](https://travis-ci.org/transloadit/terraform-provider-transloadit)\n\n# Transloadit Terraform Provider\n\n\u003cimg align=\"right\" src=\"https://cdn.rawgit.com/hashicorp/terraform-website/master/content/source/assets/images/logo-hashicorp.svg\" height=\"82px\"\u003e\n\n- Terraform Website: https://www.terraform.io\n- Terraform Gitter: [![Gitter chat](https://badges.gitter.im/hashicorp-terraform/Lobby.png)](https://gitter.im/hashicorp-terraform/Lobby)\n- Terraform Mailing list: [Google Groups](http://groups.google.com/group/terraform-tool)\n\n\u003cimg align=\"right\" src=\"https://transloadit.edgly.net/assets/images/artwork/logos-transloadit-default.svg\" height=\"130px\"\u003e\n\n- Transloadit Docs: \u003chttps://transloadit.com/docs/\u003e\n- Transloadit Twitter: \u003chttps://twitter.com/transloadit\u003e\n- Transloadit Community: \u003chttps://community.transloadit.com/\u003e\n\n## Intro\n\nTransloadit 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.\n\nTerraform 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.\n\nThe 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.\n\n## Install\n\nYou'll first need [Terraform](https://www.terraform.io/downloads.html) 0.12.x installed on your system as a prerequisite.\n\nThe 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).\n\nHere's how to download and extract the latest release for your OS:\n\n### Linux\n\n```bash\nmkdir -p ~/.terraform.d/plugins/ \u0026\u0026 cd !$\ncurl -sSL https://github.com/transloadit/terraform-provider-transloadit/releases/download/v0.1.0/terraform-provider-transloadit_linux_amd64.tar.gz |tar xvz\ncd -\n```\n\n### macOS\n\n```bash\nmkdir -p ~/.terraform.d/plugins/ \u0026\u0026 cd !$\ncurl -sSL https://github.com/transloadit/terraform-provider-transloadit/releases/download/v0.1.0/terraform-provider-transloadit_darwin_amd64.tar.gz |tar xvz\ncd -\n```\n\n### Windows\n\n[Download](https://github.com/transloadit/terraform-provider-transloadit/releases) and unpack the provider into `%APPDATA%\\terraform.d\\plugins`.\n\n## Usage\n\nHere'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.\n\nIn `main.tf`:\n\n```hcl\nprovider \"transloadit\" {\n  auth_key    = \"\u003cTRANSLOADIT-AUTH-KEY\u003e\"\n  auth_secret = \"\u003cTRANSLOADIT-AUTH-SECRET\u003e\"\n  version     = \"0.1.0\"\n}\n\nresource \"transloadit_template\" \"my-terraform-template\" {\n  name     = \"my-terraform-template\"\n  template = \u003c\u003cEOT\n{\n  \"steps\": {\n    \":original\": {\n      \"robot\": \"/upload/handle\"\n    },\n    \"encoded\": {\n      \"use\": \":original\",\n      \"robot\": \"/video/encode\",\n      \"preset\": \"ipad-high\",\n      \"ffmpeg_stack\": \"v3.3.3\"\n    },\n    \"thumbed\": {\n      \"use\": \":original\",\n      \"robot\": \"/video/thumbs\",\n      \"count\": 4,\n      \"ffmpeg_stack\": \"v3.3.3\"\n    },\n    \"exported\": {\n      \"use\": [ \":original\", \"encoded\", \"thumbed\"], \n      \"credentials\": \"YOUR_S3_CREDENTIALS\",\n      \"robot\": \"/s3/store\"\n    }\n  }\n}\nEOT\n}\n\noutput \"my-terraform-template-id\" {\n  value = transloadit_template.my-terraform-template.id\n}\n```\n\nNow on the CLI, run:\n\n```bash\nterraform init # only required on the first run after using a new Provider (version)\nterraform plan\n```\n\n## Contributing\n\n### Developing the Provider\n\nIf you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (version 1.13+ is *required*). You'll also need to correctly setup a [GOPATH](http://golang.org/doc/code.html#GOPATH), as well as adding `$GOPATH/bin` to your `$PATH`.\n\nTo compile the provider, run `make build`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory.\n\n```bash\nmake build\n# ...\n$GOPATH/bin/terraform-provider-transloadit\n# ...\n```\n\nIn order to test the provider, you can simply run `make test`.\n\n```bash\nmake test\n```\n\nIn order to run the full suite of Acceptance tests, run `make testacc`.\n\nYou'll need to copy `env.example.sh` to `env.sh` and add real Transloadit Credentials. You can then source that and run:\n\n```bash\nmake testacc\n```\n\n*Note:* Acceptance tests create real resources, and often cost money to run.\n\n### Releasing\n\nTravis CI is set up to automatically build and release artifacts onto GitHub Releases upon pushing e.g. a `v0.2.0` tag to the master branch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransloadit%2Fterraform-provider-transloadit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftransloadit%2Fterraform-provider-transloadit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransloadit%2Fterraform-provider-transloadit/lists"}