Skip to content

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

Notifications You must be signed in to change notification settings

mastodon/terraform-fastly-files-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 >= 1.0.0
fastly >= 5.7.1

Providers

Name Version
fastly >= 5.7.1

Modules

No modules.

Resources

Name Type
fastly_service_vcl.files_service resource

Inputs

Name Description Type Default Required
app_hostname Hostname of the mastodon app that this service belongs to. string n/a yes
backend_address Address to use for connecting to the backend. Can be a hostname or an IP address. string n/a yes
backend_name Optional name for the backend. string "" no
backend_ssl_check Be strict about checking SSL certs when connecting to the backend. bool true no
datadog Whether to send logging info to Datadog bool false no
datadog_region The region that log data will be sent to. string "EU" no
datadog_service Datadog service name to use for logs string "fastly" no
datadog_token API key from Datadog. string "" no
force_tls_hsts Force TLS and HTTP Strict Transport Security (HSTS) to ensure that every request is secure. bool true no
hostname Hostname the service points to. string n/a yes
hsts_duration Number of seconds for the client to remember only to use HTTPS. number 31557600 no
name Name of the fastly service (defaults to hostname). string "" no
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 Which Fastly shield region to use. Should correspond with the shield code. string n/a yes
ssl_hostname Hostname to use for SSL verification (if different from 'hostname'). string "" no

Outputs

Name Description
active_version The currently active version of the Fastly Service
cloned_version The latest cloned version by the provider
id The ID of this resource