terraform provider for Graylog.
This is sub project of go-graylog.
Motivation
http://docs.graylog.org/en/2.4/pages/users_and_roles/permission_system.html
The Graylog permission system is extremely flexible but you can't utilize this flexibility from Web UI.
By using this provider, you can utilize this flexibility and manage the infrastructure as code.
Install
Download binary and install under ~/.terraform.d/plugins
.
https://www.terraform.io/docs/configuration/providers.html#third-party-plugins
$ wget https://github.com/suzuki-shunsuke/go-graylog/releases/download/v0.1.4/terraform-provider-graylog_v0.1.4_darwin_amd64.gz
$ gzip -d terraform-provider-graylog_v0.1.4_darwin_amd64.gz
$ mkdir -p ~/.terraform.d/plugins
$ mv terraform-provider-graylog_v0.1.4_darwin_amd64 ~/.terraform.d/plugins/terraform-provider-graylog_v0.1.4
$ chmod +x ~/.terraform.d/plugins/terraform-provider-graylog_v0.1.4
Example
provider "graylog" {
web_endpoint_uri = "${var.web_endpoint_uri}"
auth_name = "${var.auth_name}"
auth_password = "${var.auth_password}"
}
// Role my-role-2
resource "graylog_role" "my-role-2" {
name = "my-role-2"
permissions = ["users:edit"]
description = "Created by terraform"
}
Variables
name |
Environment variable |
description |
web_endpoint_uri |
GRAYLOG_WEB_ENDPOINT_URI |
|
auth_name |
GRAYLOG_AUTH_NAME |
|
auth_password |
GRAYLOG_AUTH_PASSWORD |
|
Resources
Unsupported resources
We can't support these resources for some reasons.
We can't support these resources because graylog API doesn't return the created resource id (response body: no content).
The following APIs doesn't return the created resource id (response body: no content).
- POST /plugins/org.graylog.plugins.collector/configurations/{id}/inputs Create a configuration input
- POST /plugins/org.graylog.plugins.collector/configurations/{id}/outputs Create a configuration output
- POST /plugins/org.graylog.plugins.collector/configurations/{id}/snippets Create a configuration snippet