cloud-run

garbetjie/cloud-run/google

Terraform Module HCL GOOGLE

Terraform module to simplify the creation & management of Cloud Run services on GCP.

Install
module "cloud-run" {
source = "garbetjie/cloud-run/google"
version = "3.0.0"
}
⭐ Source on GitHub 📦 Registry page
README

Terraform Module: Google Cloud Run ================================== A Terraform module for the Google Cloud Platform that simplifies the creation & configuration of a Cloud Run (Fully Managed) service. Table of contents Introduction Requirements Usage Secrets & Volumes Inputs Required Optional Outputs Changelog Roadmap Introduction This module is wrapper around the creation & configuration of Google Cloud Run (Fully managed) services, and provides sensible defaults for many of the options. It attempts to be as complete as possible, and expose as much functionality as is available. As a result, some functionality might only be provided as part of BETA releases. Google's SLA support for this level of functionality is often not as solid as with Generally-Available releases. If you require a

Inputs (28)
NameTypeDescriptionDefault
locationstringLocation of the service. required
namestringName of the service. required
imagestringDocker image name. required
allow_public_accessboolAllow unauthenticated access to the service.true
map_domainsset(string)Domain names to map to the service.[]
portnumberPort on which the container is listening for incoming HTTP requests.8080
projectstringGoogle Cloud project in which to create resources.null
argslist(string)Arguments to pass to the entrypoint.[]
cpu_throttlingboolConfigure CPU throttling outside of request processing.true
execution_environmentstringExecution environment to run container instances under."gen1"
http2boolEnable use of HTTP/2 end-to-end.false
volumesset(object({ path = string, seVolumes to be mounted & populated from secrets.[]
vpc_accessobject({ connector = optional(Control VPC access for the service.{ "connector": null, "egress": null
vpc_connector_namestringVPC connector to apply to this service (Deprecated - use `var.vpc_access.connectnull
concurrencynumberMaximum allowed concurrent requests per container for this revision.null
entrypointlist(string)Entrypoint command. Defaults to the image's ENTRYPOINT if not provided.[]
envset( object({ key = Environment variables to inject into container instances.[]
ingressstringIngress settings for the service. Allowed values: [`"all"`, `"internal"`, `"inte"all"
timeoutnumberMaximum duration (in seconds) allowed for responding to requests.60
max_instancesnumberMaximum number of container instances allowed to start.1000
vpc_access_egressstringSpecify whether to divert all outbound traffic through the VPC, or private range"private-ranges-only"
memorynumberMemory (in Mi) to allocate to containers. Minimum of 512Mi is required when `exe256
min_instancesnumberMinimum number of container instances to keep running.0
Outputs (33)
cpus — Number of CPUs allocated per container.
map_domains — Domain names mapped to the service.
latest_ready_revision_name — Latest revision ready for use.
image — Docker image name.
cloudsql_connections — Cloud SQL connections attached to container instances.
memory — Memory (in Mi) allocated to container instances.
allow_public_access — Allow unauthenticated access to the service.
http2 — Status of HTTP/2 end-to-end handling.
volumes — Secrets mounted as volumes into the service.
dns — DNS records to populate for mapped domains. Keys are the domains that are mapped.
args — Arguments passed to the entrypoint.
cpu_throttling — Configuration for CPU throttling outside of request processing.
entrypoint — Entrypoint command used in the service.
min_instances — Minimum number of container instances to keep running.
concurrency — Maximum allowed concurrent requests per container for the created revision.
execution_environment — Execution environment container instances are running under.
project — Google Cloud project in which resources were created.
timeout — Maximum duration (in seconds) allowed for responding to requests.
url — URL at which the service is available.
name — Name of the service.
location — Location of the service.
env — Environment variables injected into container instances.
labels — Labels applied to the service.
memory_suffixed — Memory allocated to containers instances, with the relevant suffix (eg: "256Mi" if `var.memory` is 2
cpus_suffixed — CPUs allocated per container, specified with the millicpu suffix (eg: "1000m" if `var.cpus` is 1).
vpc_access — VPC access configuration.
id — ID of the created service.
latest_created_revision_name — Last revision created.
ingress — Ingress settings applied to the service.
max_instances — Maximum number of container instances allowed to start.
… and 3 more outputs
Resources (3)
google_cloud_run_domain_mappinggoogle_cloud_run_servicegoogle_cloud_run_service_iam_member
Details
FrameworkTerraform Module
LanguageHCL
Version3.0.0
Cloud GOOGLE
★ Stars49
Forks29
Total downloads95.2k
Inputs28
Outputs33
Resources3
LicenseMIT
Namespacegarbetjie
Updated