Skip to content

Terraform module for setting up fastly services that make up the joinmastodon.org domain

Notifications You must be signed in to change notification settings

mastodon/terraform-fastly-joinmastodon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mastodon Terraform - Fastly Service for Joinmastodon

Terraform module for creating all necessary services in Fastly for hosting the joinmastodon.org launch page.

Requirements

Name Version
terraform >= 1.0.0
fastly >= 5.7.1

Providers

No providers.

Modules

Name Source Version
api ./modules/api n/a
app ./modules/app n/a
proxy ./modules/proxy n/a

Resources

No resources.

Inputs

Name Description Type Default Required
api_backend_address Address to use for connecting to the backend. Can be a hostname or an IP address. string n/a yes
api_backend_ca_cert CA cert to use when connecting to the backend. string n/a yes
api_backend_name Optional name for the backend. string "" no
api_backend_port The port number on which the Backend responds. number 443 no
api_datadog Whether to send logging info to Datadog bool false no
api_datadog_service Datadog service name to use for logs string "fastly" no
api_default_ttl The default Time-to-live (TTL) for requests. number 300 no
api_force_tls_hsts Force TLS and HTTP Strict Transport Security (HSTS) to ensure that every request is secure. bool true no
api_healthcheck_expected_response Response to expect from a healthy endpoint. number 200 no
api_healthcheck_host Host to ping for healthcheck. Defaults to hostname. string "" no
api_healthcheck_method HTTP method to use when doing a healthcheck. string "GET" no
api_healthcheck_name Optional name for the healthcheck. string "" no
api_healthcheck_path URL to use when doing a healthcheck. string "/" no
api_hostname Hostname the service points to. string "" no
api_hsts_duration Number of seconds for the client to remember only to use HTTPS. number 31557600 no
api_name Name of the fastly service (defaults to hostname). string "" no
api_shield_region Which Fastly shield region to use (if different than main shield region). Should correspond with the shield code. string "" no
api_ssl_hostname Hostname to use for SSL verification (if different from 'hostname'). string "" no
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_port The port number on which the Backend responds. number 443 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
default_ttl The default Time-to-live (TTL) for requests. number 300 no
force_tls_hsts Force TLS and HTTP Strict Transport Security (HSTS) to ensure that every request is secure. bool true no
gzip_default_policy Whether to enable Fastly's default gzip policy bool true no
healthcheck_expected_response Response to expect from a healthy endpoint. number 200 no
healthcheck_host Host to ping for healthcheck. Defaults to hostname. string "" no
healthcheck_method HTTP method to use when doing a healthcheck. string "GET" no
healthcheck_name Optional name for the healthcheck. string "" no
healthcheck_path URL to use when doing a healthcheck. string "/" 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 31536000 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
proxy_backend_address Address to use for connecting to the backend. Can be a hostname or an IP address. string n/a yes
proxy_backend_name Optional name for the backend. string "" no
proxy_backend_port The port number on which the Backend responds. number 443 no
proxy_datadog Whether to send logging info to Datadog bool false no
proxy_datadog_service Datadog service name to use for logs string "fastly" no
proxy_default_ttl The default Time-to-live (TTL) for requests. number 300 no
proxy_force_tls_hsts Force TLS and HTTP Strict Transport Security (HSTS) to ensure that every request is secure. bool true no
proxy_healthcheck_expected_response Response to expect from a healthy endpoint. number 404 no
proxy_healthcheck_host Host to ping for healthcheck. Defaults to hostname. string "" no
proxy_healthcheck_method HTTP method to use when doing a healthcheck. string "HEAD" no
proxy_healthcheck_name Optional name for the healthcheck. string "" no
proxy_healthcheck_path URL to use when doing a healthcheck. string "/" no
proxy_hostname Hostname the service points to. string "" no
proxy_hsts_duration Number of seconds for the client to remember only to use HTTPS. number 31557600 no
proxy_name Name of the fastly service (defaults to hostname). string "" no
proxy_shield_region Which Fastly shield region to use (if different than main shield region). Should correspond with the shield code. string "" no
proxy_ssl_hostname Hostname to use for SSL verification (if different from 'hostname'). string "" 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.
api_active_version The currently active version of the Fastly Service.
api_cloned_version The latest cloned version by the provider.
api_id The ID of this resource.
cloned_version The latest cloned version by the provider.
id The ID of this resource.
proxy_active_version The currently active version of the Fastly Service.
proxy_cloned_version The latest cloned version by the provider.
proxy_id The ID of this resource.