elasticsearch
AckeeCZ/elasticsearch/gcp
Terraform module for deploying Elasticsearch cluster on GCP
Ackee GCE Elasticsearch Terraform module This module is primary written for provisioning of GCE instance from our ES image (https://github.com/AckeeCZ/packer-elasticsearch) It does a few things : Generates GCP IAM Service Account with Storage Admin role for backups and insert it into ES keystore Downloads RAW disk from GCS and create an image from it. (you can generate your own image with Packer using https://github.com/AckeeCZ/packer-elasticsearch) Create SSH key for instance provisioning Create (GCP) firewall rules so GKE "gateway" pods can reach GCE cluster Usage ``hcl module "elasticsearch_prod" { source = "AckeeCZ/elasticsearch/gcp" project = "my-gcp-project" region = "europe-west3" zone = "europe-west3-c" instance_name = "elasticsearch-prod" cluster_name = "elasticsearch" cluster_ipv
| Name | Type | Description | Default |
|---|---|---|---|
| cluster_endpoint | string | Cluster control plane endpoint | required |
| data_disk_size | string | Persistent disk size specified in GB. | required |
| project | string | Name of GCP project. | required |
| instance_name | string | Base for GCE instances name. Must be unique within GCP project | required |
| cluster_ca_certificate | string | Public CA certificate that is the root of trust for the GKE K8s cluster | required |
| cluster_name | string | ES cluster name. | required |
| cluster_token | string | Cluster master token, keep always secret! | required |
| region | string | Region of GCP project. | required |
| es_name_suffix_length | number | Length of random generated suffix for ES name | 8 |
| es_image_creation_timeout | string | Timeout for creating ES image | "10m" |
| add_random_suffix | bool | Add random suffix to all resources with possible duplicates if the same module i | false |
| backup_repository_create | bool | If GCS bucket should be created. Set to false, if you previously created bucket | true |
| health_check_timeout_sec | number | How long (in seconds) to wait before claiming failure. The default value is 5 se | 5 |
| data_disk_type | string | Type of disk used as a persistent storage. | "pd-ssd" |
| namespace | string | K8s namespace used to deploy endpoints and services. | "production" |
| health_check_unhealthy_threshold | number | How many consecutive failures must occur to mark a VM instance unhealthy. | 2 |
| heap_size | string | Heap size setting for ES. | "1800m" |
| backup_schedule | string | Backup schedule in cron format | "0 3 * * *" |
| health_check_interval_sec | number | How often (in seconds) to send a health check. The default value is 5 seconds. | 5 |
| backend_service_timeout_sec | number | How many seconds to wait for the backend before considering it a failed request. | 30 |
| node_roles | map(any) | Map of node roles. Index is instance number, starting at zero. If not defined, n | {} |
| root_disk_size | string | Persistent disk size specified in GB. | "10" |
| backup_storage_class | string | The storage class you set for an object affects the object's availability and pr | "STANDARD" |
| custom_init_commands | string | Any custom commands which should be run after bootstrapping the Elasticsearch cl | "" |
| backup_failed_jobs_history_limit | number | Set retention for failed jobs history | 5 |
| enable_health_check_logging | bool | Enable health check logging | false |
| zone | string | Zone of GCP project - optional parameter, if not set, the instances will be spre | null |
| network | string | GCE VPC used for compute instances | "default" |
ilb_dns — DNS name follows GCP internal rule SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT_ID.interip_address — The internal IP assigned to the regional forwarding rule.Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,