fullstorydev / terraform-google-fullstory-cloud-relay

This module creates a relay that allows you to route all captured FullStory traffic from your users’ browser directly through your own domain.

Home Page:https://www.fullstory.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

terraform-google-fullstory-cloud-relay

GitHub release

This module creates a relay that allows you to route all captured fullstory traffic from your users’ browser directly through your own domain. More information on the philosophy and script configuration can be found in this KB article.

Requirements

Name Version
terraform >= 0.13
google >= 4.32.0

Inputs

Name Description Type Default Required
cloud_dns_project_id (optional) The project in which the Cloud DNS zone lives in. Defaults to provider project. string null no
cloud_dns_zone_name (optional) The Cloud DNS zone name for placing the DNS A record. string null no
logging_enabled (optional) If enabled, logging will be active on the backend service. Defaults to false. bool false no
relay_fqdn The fully qualified domain name for the relay. Example: fsrelay.your-company.com. string n/a yes
target_fqdn (optional) The fully qualified domain name that the relay targets. Defaults to fullstory.com. string "fullstory.com" no

Outputs

Name Description
relay_ip_address The IP address of the relay load balancer.

Usage

With Cloud DNS Record Creation

module "fullstory_relay" {
  source               = "fullstorydev/fullstory-cloud-relay/google"
  relay_fqdn           = "fsrelay.your-company.com"
  cloud_dns_zone_name  = "your-company-com"
  cloud_dns_project_id = "gcp-your-company"
}

⚠️ Note: SSL Certificates can take 10-15 minutes to become active after creation. Errors may be returned during this time.

Without Cloud DNS Record Creation

By default, the module will not create a DNS record in Cloud DNS. An example of which is below.

module "fullstory_relay" {
  source     = "fullstorydev/fullstory-cloud-relay/google"
  relay_fqdn = "fsrelay.your-company.com"
}

output "relay_ip_address" {
  value = module.fullstory_relay.relay_ip_address
}

Once the resources have been successfully created, the IP address can be extracted from the Terraform state using the command below.

terraform output relay_ip_address

If the above command does not work, ensure that the output "relay_ip_address" block is present as shown in the example above.

Next, create an A DNS record that routes the relay_fqdn to the IP address found in the previous command.

Once the DNS record has been created, the SSL certificate can take up to 15 minutes to become active. The status can be checked using the command below.

gcloud compute ssl-certificates list

European Realm Target

module "fullstory_relay" {
  source      = "fullstorydev/fullstory-cloud-relay/google"
  relay_fqdn  = "fsrelay.your-company.com"
  target_fqdn = "eu1.fullstory.com"
}

Validation

Once an instance of the fullstory Relay has been successfully created, the health endpoint at https://<relay_fqdn>/healthz should return a 200 OK.

Resources

Name Type
google_compute_backend_service.fullstory_relay resource
google_compute_global_address.fullstory_relay resource
google_compute_global_forwarding_rule.fullstory_relay resource
google_compute_global_network_endpoint.fullstory_relay resource
google_compute_global_network_endpoint_group.fullstory_relay resource
google_compute_managed_ssl_certificate.fullstory_relay resource
google_compute_target_https_proxy.fullstory_relay resource
google_compute_url_map.fullstory_relay resource
google_dns_record_set.fullstory_relay resource
google_dns_managed_zone.fullstory_relay data source

Troubleshooting

This module includes a troubleshooting endpoint that can be used to debug any communications issues. The endpoint can be found out https://<relay_fqdn>/echo and returns the headers of the request.

Contributing

See CONTRIBUTING.md for best practices and instructions on setting up your dev environment.

About

This module creates a relay that allows you to route all captured FullStory traffic from your users’ browser directly through your own domain.

https://www.fullstory.com/


Languages

Language:HCL 71.6%Language:Python 26.1%Language:Shell 2.3%