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

https://github.com/mastodon/terraform-fastly-files-service

Terraform module for creating a fastly service for Mastodon's files backend
https://github.com/mastodon/terraform-fastly-files-service

Last synced: about 2 months ago
JSON representation

Terraform module for creating a fastly service for Mastodon's files backend

Awesome Lists containing this project

README

          

# Mastodon Terraform - Fastly Service for Mastodon Application File Hosting

Terraform module for creating a service in Fastly for directing traffic towards an external S3-style bucket for hosting mastodon media files (for example, files.mastodon.social).

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0.0 |
| [fastly](#requirement\_fastly) | >= 5.7.1 |

## Providers

| Name | Version |
|------|---------|
| [fastly](#provider\_fastly) | >= 5.7.1 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [fastly_service_vcl.files_service](https://registry.terraform.io/providers/fastly/fastly/latest/docs/resources/service_vcl) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [app\_hostname](#input\_app\_hostname) | Hostname of the mastodon app that this service belongs to. | `string` | n/a | yes |
| [backend\_address](#input\_backend\_address) | Address to use for connecting to the backend. Can be a hostname or an IP address. | `string` | n/a | yes |
| [backend\_name](#input\_backend\_name) | Optional name for the backend. | `string` | `""` | no |
| [backend\_ssl\_check](#input\_backend\_ssl\_check) | Be strict about checking SSL certs when connecting to the backend. | `bool` | `true` | no |
| [datadog](#input\_datadog) | Whether to send logging info to Datadog | `bool` | `false` | no |
| [datadog\_region](#input\_datadog\_region) | The region that log data will be sent to. | `string` | `"EU"` | no |
| [datadog\_service](#input\_datadog\_service) | Datadog service name to use for logs | `string` | `"fastly"` | no |
| [datadog\_token](#input\_datadog\_token) | API key from Datadog. | `string` | `""` | no |
| [force\_tls\_hsts](#input\_force\_tls\_hsts) | Force TLS and HTTP Strict Transport Security (HSTS) to ensure that every request is secure. | `bool` | `true` | no |
| [hostname](#input\_hostname) | Hostname the service points to. | `string` | n/a | yes |
| [hsts\_duration](#input\_hsts\_duration) | Number of seconds for the client to remember only to use HTTPS. | `number` | `31557600` | no |
| [name](#input\_name) | Name of the fastly service (defaults to hostname). | `string` | `""` | no |
| [product\_enablement](#input\_product\_enablement) | Which additional Fastly products to enable for this service. |

object({
brotli_compression = optional(bool, false)
domain_inspector = optional(bool, false)
image_optimizer = optional(bool, false)
origin_inspector = optional(bool, false)
websockets = optional(bool, false)
})
|
{
"brotli_compression": false,
"domain_inspector": false,
"image_optimizer": false,
"origin_inspector": false,
"websockets": false
}
| no |
| [shield\_region](#input\_shield\_region) | Which Fastly shield region to use. Should correspond with the shield code. | `string` | n/a | yes |
| [ssl\_hostname](#input\_ssl\_hostname) | Hostname to use for SSL verification (if different from 'hostname'). | `string` | `""` | no |

## Outputs

| Name | Description |
|------|-------------|
| [active\_version](#output\_active\_version) | The currently active version of the Fastly Service |
| [cloned\_version](#output\_cloned\_version) | The latest cloned version by the provider |
| [id](#output\_id) | The ID of this resource |