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://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, 安全可观测性, 开源项目, 提示注入, 搜索引擎, 无状态管理, 日志审计, 流量重放, 版本控制, 自动化运维, 集群管理