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

Renaud Chaput f54659d978 Update API healthcheck path пре 10 месеци
modules 4e4555cbb3 Add product enablement пре 11 месеци
README.md bfa48ea375 Update README пре 11 месеци
main.tf 2007c13fe1 Bugfix пре 11 месеци
outputs.tf 15b166fcef Module to create all dependent services for joinmastodon пре 1 година
variables.tf f54659d978 Update API healthcheck path пре 10 месеци
versions.tf 3d3fcd75b6 Upped provider version, added gzip compression flag, VCL optimization пре 11 месеци

README.md

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_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
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_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.