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.

About

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

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published