elastic/terraform-provider-elasticstack

GitHub: elastic/terraform-provider-elasticstack

Elastic 官方维护的 Terraform Provider,用于以代码形式管理 Elasticsearch、Kibana 等 Elastic Stack 资源的配置。

Stars: 205 | Forks: 126

# Terraform Provider Elastic Stack [![验收状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/25e5099714095513.svg)](https://github.com/elastic/terraform-provider-elasticstack/actions/workflows/test.yml) ## Provider 的使用 Elastic Stack provider 允许你使用 `terraform` 以代码形式管理和配置 Elastic stack(Elasticsearch、Kibana 等)。 ## 快速入门 __该 provider 支持 Elastic Stack 7.x 及以上版本__ 建议至少设置最低限度的安全性,CONTRIBUTING.md 以便与 Elasticsearch 交互并能够使用 provider 的全部功能。 配置 [必需的 providers](https://www.terraform.io/docs/language/providers/requirements.html#requiring-providers): ``` terraform { required_version = ">= 1.0.0" required_providers { elasticstack = { source = "elastic/elasticstack" version = "~>0.9" } } } ``` ### 认证 Elasticstack provider 提供了几种不同的凭证认证方式。 支持以下方法: * 静态凭证 * 环境变量 #### 静态凭证 默认的静态凭证可以通过在 `elasticsearch` 块中添加 `username`、`password` 和 `endpoints` 来提供: ``` provider "elasticstack" { elasticsearch { username = "elastic" password = "changeme" endpoints = ["http://localhost:9200"] } } ``` 或者,可以指定 `api_key` 来代替 `username` 和 `password`: ``` provider "elasticstack" { elasticsearch { api_key = "base64encodedapikeyhere==" endpoints = ["http://localhost:9200"] } } ``` #### 环境变量 你可以通过 `ELASTICSEARCH_USERNAME`、`ELASTICSEARCH_PASSWORD` 和逗号分隔的列表 `ELASTICSEARCH_ENDPOINTS` 环境变量为默认连接提供凭证,它们分别代表你的用户、密码和 Elasticsearch API 端点。 或者,可以指定 `ELASTICSEARCH_API_KEY` 变量来代替 `ELASTICSEARCH_USERNAME` 和 `ELASTICSEARCH_PASSWORD`。 ``` provider "elasticstack" { elasticsearch {} } ``` ## 开发 Provider 参见 [CONTRIBUTING.md]() ## 支持 我们欢迎关于如何使用 Elastic providers 的提问。这些 providers 由 Elastic 提供支持。一般性问题、Bug 和产品问题应在相应的仓库中提出,无论是针对 Elastic Stack provider 还是 Elastic Cloud provider。问题也可以直接发到 discuss 论坛。 但是,我们不会根据客户需求修复 Bug,因为我们必须根据产品的待办事项 和发布周期来确定所有待处理 Bug 和功能特性的优先级。 ### 支持工单严重性 可以向 Elastic 提交与 Terraform provider 相关的支持工单,但由于 provider 只是底层产品 API 的客户端,我们无法将与 provider 相关的支持请求视为严重性 1(立即响应)。紧急的、与生产相关的 Terraform 问题可以通过与底层项目 API 或 UI 直接交互来解决。我们会要求客户通过这些方法来解决停机或紧急问题。
标签:API Key 认证, DNS解析, EC2, Elasticsearch, Elasticsearch 安全配置, Elastic Stack, EVTX分析, EVTX分析, IaC, Terraform Provider, 安全可观测性, 开源项目, 提示注入, 搜索引擎, 无状态管理, 日志审计, 流量重放, 版本控制, 自动化运维, 集群管理