terraform module for creating an opinionated internal application load balancer
project_id- gcp project idregion- gcp regionstatic_ip_name- global load balancer namename_prefix- prefix-name used for lb proxy and forwarding rulecreate_address- toggle external static IP creationcreate_load_balancer- toggle load balaner creationurl_map_name- toggle url map namecustom_labels_https_fwd_rule- map of custom labels to apply to the resourcesssl_cert_name- creates a unique name beginning with the specified prefixcertificate_map- certificate map to attach to load balancerport_range- HTTPS Port numberenable_ssl- enable SSL supporthttps_redirect- enable HTTPS redirectdefault_custom_error_response_policy- Default custom error response policyservices- map cloud run service metadatabuckets- map of gcs bucket metadata
module "example-lb" {
source = "github.com/brandlive1941/terraform-module-backend-serverless?ref=v1.0.1"
project_id = var.project_id
region = var.region
environment = var.environment
static_ip_name = var.static_ip_name
certificate_map = var.certificate_map
services = var.services
buckets = var.buckets
}load_balancer_ip_address: IP address of the Cloud Load Balancer
backend_services: backend derived values from inputs
Because Terrraform does not allow you to reference and object inside of an object I utilized submodules to make sub-object elements available downstream. If more configuration variables are added to the primary object data it's likely they will be need to be passed into the backend modules, then made available as outputs to be used elsewhere.
This project uses Commitizen.
Use the following command to stage a release after adding files with git commit
git czThis will guide you through a series of prompts to format your commit message correctly.
This only needs to be done once per PR