Skip to content

Flaconi/terraform-aws-opensearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform Module for OpenSearch

License

Providers

Name Version
aws >= 5

Requirements

Name Version
terraform >= 1.0
aws >= 5

Required Inputs

The following input variables are required:

Description: The hosted zone name of the OpenSearch cluster.

Type: string

Optional Inputs

The following input variables are optional (have default values):

Description: The name of the OpenSearch cluster.

Type: string

Default: "opensearch"

Description: The version of OpenSearch to deploy.

Type: string

Default: "1.0"

Description: Indicates whether to create records in a private (true) or public (false) zone

Type: bool

Default: false

Description: Indicates whether to create the service-linked role. See https://docs.aws.amazon.com/opensearch-service/latest/developerguide/slr.html

Type: bool

Default: true

Description: The master user of the cluster.

Type: string

Default: ""

Description: The master password of the cluster.

Type: string

Default: ""

Description: Indicates whether dedicated master nodes are enabled for the cluster.

Type: bool

Default: true

Description: The type of EC2 instances to run for each master node. A list of available instance types can you find at https://aws.amazon.com/en/opensearch-service/pricing/#On-Demand_instance_pricing

Type: string

Default: "r6gd.large.search"

Description: The number of dedicated master nodes in the cluster.

Type: number

Default: 3

Description: The type of EC2 instances to run for each hot node. A list of available instance types can you find at https://aws.amazon.com/en/opensearch-service/pricing/#On-Demand_instance_pricing

Type: string

Default: "r6gd.4xlarge.search"

Description: The number of dedicated hot nodes in the cluster.

Type: number

Default: 3

Description: Indicates whether ultrawarm nodes are enabled for the cluster.

Type: bool

Default: true

Description: The type of EC2 instances to run for each warm node. A list of available instance types can you find at https://aws.amazon.com/en/elasticsearch-service/pricing/#UltraWarm_pricing

Type: string

Default: "ultrawarm1.large.search"

Description: The number of dedicated warm nodes in the cluster.

Type: number

Default: 3

Description: The number of availability zones for the OpenSearch cluster. Valid values: 1, 2 or 3.

Type: number

Default: 3

Description: Indicates whether attach EBS volumes to the data nodes.

Type: bool

Default: false

Description: The size of EBS volumes attached to data nodes (in GiB).

Type: number

Default: 10

Description: The type of EBS volumes attached to data nodes.

Type: string

Default: "gp3"

Description: The throughput (in MiB/s) of the EBS volumes attached to data nodes. Valid values are between 125 and 1000.

Type: number

Default: 125

Description: The baseline input/output (I/O) performance of EBS volumes attached to data nodes.

Type: number

Default: 3000

Description: The KMS key ID to encrypt the OpenSearch cluster with. If not specified, then it defaults to using the AWS OpenSearch Service KMS key.

Type: string

Default: ""

Description: Indicates whether to configure SAML for the OpenSearch dashboard.

Type: bool

Default: true

Description: Element of the SAML assertion to use for username.

Type: string

Default: ""

Description: Element of the SAML assertion to use for backend roles.

Type: string

Default: ""

Description: The unique Entity ID of the application in SAML Identity Provider.

Type: string

Default: ""

Description: The metadata of the SAML application in xml format.

Type: string

Default: ""

Description: Duration of a session in minutes after a user logs in. Default is 60. Maximum value is 1,440.

Type: number

Default: 60

Description: This backend role receives full permissions to the cluster, equivalent to a new master role, but can only use those permissions within Dashboards.

Type: string

Default: null

Description: This username receives full permissions to the cluster, equivalent to a new master user, but can only use those permissions within Dashboards.

Type: string

Default: null

Description: A map of tags to add to all resources.

Type: map(string)

Default: {}

Description: Fully qualified domain for your custom endpoint. If not specified, then it defaults to <cluster_name>.<cluster_domain>

Type: string

Default: null

Description: The ARN of the custom ACM certificate.

Type: string

Default: ""

Description: Key-value string pairs to specify advanced configuration options.

Type: map(string)

Default: {}

Description: Whether advanced security is enabled.

Type: bool

Default: true

Description: Whether to enable or not internal Kibana user database for ELK OpenDistro security plugin

Type: bool

Default: true

Description: IAM policy document specifying the access policies for the domain.

Type: string

Default: null

Outputs

Name Description
cluster_endpoint The endpoint URL of the OpenSearch cluster.
cluster_name The name of the OpenSearch cluster.
cluster_version The version of the OpenSearch cluster.
kibana_endpoint The endpoint URL of the OpenSearch dashboards.

License

MIT License

Copyright (c) 2022 Flaconi GmbH