Skip to main content



Terraform module for deploying Elasticsearch cluster on GCP



add_random_suffixAdd random suffix to all resources with possible duplicates if the same module is deployed multiple timesboolfalse
allowed_ipv4_subnetsIPv4 subnets allowed to communicate with ES instances.list(string)false
allowed_tagsNetwork tags allowed to communicate with ES instances.list(string)false
backend_service_timeout_secHow many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is [1, 86400].numberfalse
backup_failed_jobs_history_limitSet retention for failed jobs historynumberfalse
backup_repository_createIf GCS bucket should be created. Set to false, if you previously created bucketboolfalse
backup_repository_nameCustom name of Elasticsearch backup repository, same name is going to be used for backup bucketstringfalse
backup_scheduleBackup schedule in cron formatstringfalse
backup_storage_classThe storage class you set for an object affects the object's availability and pricing modelstringfalse
backup_successful_jobs_history_limitSet retention for successful jobs historynumberfalse
cluster_ca_certificatePublic CA certificate that is the root of trust for the GKE K8s clusterstringtrue
cluster_endpointCluster control plane endpointstringtrue
cluster_nameES cluster name.stringtrue
cluster_tokenCluster master token, keep always secret!stringtrue
custom_init_commandsAny custom commands which should be run after bootstrapping the Elasticsearch cluster after starting Elasticsearch servicestringfalse
custom_pre_start_commandsAny custom commands which should be run after bootstrapping the Elasticsearch cluster before starting Elasticsearch servicestringfalse
data_disk_sizePersistent disk size specified in GB.stringtrue
data_disk_typeType of disk used as a persistent storage.stringfalse
enable_health_check_loggingEnable health check loggingboolfalse
es_image_creation_timeoutTimeout for creating ES imagestringfalse
es_name_suffix_lengthLength of random generated suffix for ES namenumberfalse
health_check_healthy_thresholdHow many consecutive successes must occur to mark a VM instance healthy.numberfalse
health_check_interval_secHow often (in seconds) to send a health check. The default value is 5 seconds.numberfalse
health_check_timeout_secHow long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.numberfalse
health_check_unhealthy_thresholdHow many consecutive failures must occur to mark a VM instance unhealthy.numberfalse
heap_sizeHeap size setting for ES.stringfalse
instance_nameBase for GCE instances name. Must be unique within GCP projectstringtrue
load_balancer_subnetworkThe subnetwork that the load balanced IP should belong to for this Forwarding Rule. If the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified.stringfalse
machine_typeThe machine type to createstringfalse
namespaceK8s namespace used to deploy endpoints and services.stringfalse
networkGCE VPC used for compute instancesstringfalse
node_countNumber of ES nodes to deploy.numberfalse
projectName of GCP project.stringtrue
raw_image_sourceURL of tar archive containing RAW source for ES image (you can use Packer image template to generate image, as mentioned above).stringfalse
regionRegion of GCP project.stringtrue
root_disk_sizePersistent disk size specified in GB.stringfalse
writeConnectionSecretToRefThe secret which the cloud resource connection will be written towriteConnectionSecretToReffalse
zoneZone of GCP project - optional parameter, if not set, the instances will be spread across the available zones.stringfalse


nameThe secret name which the cloud resource connection will be written tostringtrue
namespaceThe secret namespace which the cloud resource connection will be written tostringfalse