Coder Social home page Coder Social logo

suzuki-shunsuke / go-graylog Goto Github PK

View Code? Open in Web Editor NEW
45.0 6.0 11.0 1.7 MB

Graylog API client for Go and terraform provider for Graylog

Home Page: https://github.com/terraform-provider-graylog/terraform-provider-graylog

License: MIT License

Go 99.26% Shell 0.74%
golang graylog terraform-provider terraform oss

go-graylog's Introduction

go-graylog

GoDoc Build Status codecov Go Report Card GitHub last commit GitHub tag License

Graylog API client for Golang and terraform provider for Graylog.

Note: Please use terraform-provider-graylog/terraform-provider-graylog

Now we released and developed terraform-provider-graylog/terraform-provider-graylog as the successor of go-graylog. Please see the following document and announcement issue.

API client

https://pkg.go.dev/github.com/suzuki-shunsuke/go-graylog/client?tab=doc#pkg-examples

If you use Graylog v3, use client.NewClientV3 instead of client.NewClient.

Terraform provider

Please see docs/README.md.

Docker Image

https://quay.io/repository/suzuki_shunsuke/terraform-graylog

Docker image which is installed terraform and terraform-provider-graylog on Alpine.

Note: Graylog API mock server has been migrated to the other repository

https://github.com/suzuki-shunsuke/graylog-mock-server (deprecated)

Contribution

See CONTRIBUTING.md .

License

MIT

go-graylog's People

Contributors

gkocur avatar luubosi avatar renovate-bot avatar suzuki-shunsuke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

go-graylog's Issues

Support StaticFields API

StaticFields : Static fields of an input Show/Hide List Operations Expand Operations Raw
POST /system/inputs/{inputId}/staticfields Add a static field to an input
DELETE /system/inputs/{inputId}/staticfields/{key} Remove static field of an input

Support ldap and Collectors

Hello, I am glad to find the tf about graylog, terrafom module about this feature, can you add the above features.

Support Plugins/Pipelines/Rules API

Plugins/Pipelines/Rules : Rules for the pipeline message processor Show/Hide List Operations Expand Operations Raw
GET /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule Get all processing rules
POST /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule Create a processing rule from source
GET /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule/functions Get function descriptors
POST /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule/multiple Retrieve the named processing rules in bulk
POST /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule/parse Parse a processing rule without saving it
GET /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule/{id} Get a processing rule
PUT /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule/{id} Modify a processing rule
DELETE /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/rule/{id} Delete a processing rule

Support Plugins/CollectorConfiguration API

#26

Plugins/CollectorConfiguration : Manage collector configurations

POST /plugins/org.graylog.plugins.collector/configurations Create new collector configuration
GET /plugins/org.graylog.plugins.collector/configurations List all collector configurations
GET /plugins/org.graylog.plugins.collector/{collectorId} Get a single collector configuration
PUT /plugins/org.graylog.plugins.collector/configurations/{id}/name Updates a collector configuration name
DELETE /plugins/org.graylog.plugins.collector/configurations/{id} Delete a collector configuration
GET /plugins/org.graylog.plugins.collector/configurations/{id} Show collector configuration details

GET /plugins/org.graylog.plugins.collector/configurations/tags List all used tags

POST /plugins/org.graylog.plugins.collector/configurations/{id}/inputs Create a configuration input
DELETE /plugins/org.graylog.plugins.collector/configurations/{id}/inputs/{inputId} Delete input form configuration
POST /plugins/org.graylog.plugins.collector/configurations/{id}/inputs/{inputId}/{name} Copy a configuration input
PUT /plugins/org.graylog.plugins.collector/configurations/{id}/inputs/{input_id} Update a configuration input

POST /plugins/org.graylog.plugins.collector/configurations/{id}/outputs Create a configuration output
DELETE /plugins/org.graylog.plugins.collector/configurations/{id}/outputs/{outputId} Delete output from configuration
POST /plugins/org.graylog.plugins.collector/configurations/{id}/outputs/{outputId}/{name} Copy a configuration output
PUT /plugins/org.graylog.plugins.collector/configurations/{id}/outputs/{output_id} Update a configuration output

POST /plugins/org.graylog.plugins.collector/configurations/{id}/snippets Create a configuration snippet
DELETE /plugins/org.graylog.plugins.collector/configurations/{id}/snippets/{snippetId} Delete snippet from configuration
POST /plugins/org.graylog.plugins.collector/configurations/{id}/snippets/{snippetId}/{name} Copy a configuration snippet
PUT /plugins/org.graylog.plugins.collector/configurations/{id}/snippets/{snippet_id} Update a configuration snippet

POST /plugins/org.graylog.plugins.collector/configurations/{id}/{name} Copy a configuration

Support Plugins/Pipelines/Connections API

Plugins/Pipelines/Connections : Stream connections of processing pipelines

GET /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/connections Get all pipeline connections
POST /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/connections/to_pipeline Connect streams to a processing pipeline
POST /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/connections/to_stream Connect processing pipelines to a stream
GET /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/connections/{streamId} Get pipeline connections for the given stream

Add the field "field_type_refresh_interval" to IndexSet

In Graylog v3, it is failed to create an IndexSet because the new field "field_type_refresh_interval" is added to IndexSet and it is required.

* graylog_index_set.default: graylog API error: POST http://127.0.0.1:9000/api/system/indices/index_sets 400: Can not construct instance of org.graylog2.rest.resources.system.indexer.responses.IndexSetSummary, problem: Null fieldTypeRefreshInterval
 at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@4f8855bc; line: 1, column: 700]

Graylog v2.5

{
  "id": "000000000000000000000000",
  "title": "Default index set",
  "description": "The Graylog default index set",
  "index_prefix": "graylog",
  "shards": 4,
  "replicas": 0,
  "rotation_strategy_class": "org.graylog2.indexer.rotation.strategies.MessageCountRotationStrategy",
  "rotation_strategy": {
    "type": "org.graylog2.indexer.rotation.strategies.MessageCountRotationStrategyConfig",
    "max_docs_per_index": 20000000
  },
  "retention_strategy_class": "org.graylog2.indexer.retention.strategies.DeletionRetentionStrategy",
  "retention_strategy": {
    "type": "org.graylog2.indexer.retention.strategies.DeletionRetentionStrategyConfig",
    "max_number_of_indices": 20
  },
  "creation_date": "2018-04-02T07:20:16.227Z",
  "index_analyzer": "standard",
  "index_optimization_max_num_segments": 1,
  "index_optimization_disabled": true,
  "writable": true,
  "default": true
}

Graylog v3

{
  "id": "000000000000000000000000",
  "title": "Default index set",
  "description": "The Graylog default index set",
  "index_prefix": "graylog",
  "shards": 4,
  "replicas": 0,
  "rotation_strategy_class": "org.graylog2.indexer.rotation.strategies.MessageCountRotationStrategy",
  "rotation_strategy": {
    "type": "org.graylog2.indexer.rotation.strategies.MessageCountRotationStrategyConfig",
    "max_docs_per_index": 20000000
  },
  "retention_strategy_class": "org.graylog2.indexer.retention.strategies.DeletionRetentionStrategy",
  "retention_strategy": {
    "type": "org.graylog2.indexer.retention.strategies.DeletionRetentionStrategyConfig",
    "max_number_of_indices": 20
  },
  "creation_date": "2019-05-18T04:39:42.261Z",
  "index_analyzer": "standard",
  "index_optimization_max_num_segments": 1,
  "index_optimization_disabled": false,
  "field_type_refresh_interval": 5000,
  "writable": true,
  "default": true
}

error after terraform configuration

hi, please advice.
I have these errors after application terraform configuration and restart graylog docker container. With manual configuration after restart graylog is ok.
Please, did you test terraform code to docker imlementation? After restart is it working?
Thanks

2019-07-03 15:15:34,840 INFO : org.graylog2.shared.buffers.ProcessBuffer - Initialized ProcessBuffer with ring size <65536> and wait strategy <BlockingWaitStrategy>.
2019-07-03 15:15:35,094 INFO : org.graylog2.shared.buffers.ProcessBuffer - Initialized ProcessBuffer with ring size <65536> and wait strategy <BlockingWaitStrategy>.
2019-07-03 15:15:36,191 INFO : org.graylog2.shared.buffers.ProcessBuffer - Initialized ProcessBuffer with ring size <65536> and wait strategy <BlockingWaitStrategy>.
2019-07-03 15:15:36,246 INFO : org.graylog2.shared.buffers.ProcessBuffer - Initialized ProcessBuffer with ring size <65536> and wait strategy <BlockingWaitStrategy>.
2019-07-03 15:15:36,297 INFO : org.mongodb.driver.connection - Opened connection [connectionId{localValue:3, serverValue:75}] to mongo:27017
2019-07-03 15:15:36,316 INFO : org.graylog2.shared.buffers.ProcessBuffer - Initialized ProcessBuffer with ring size <65536> and wait strategy <BlockingWaitStrategy>.
2019-07-03 15:15:36,367 INFO : org.graylog2.buffers.OutputBuffer - Initialized OutputBuffer with ring size <65536> and wait strategy <BlockingWaitStrategy>.
2019-07-03 15:15:36,390 ERROR: org.graylog2.bootstrap.CmdLineTool - Guice error (more detail on log level debug): Error injecting constructor, java.lang.NullPointerException
2019-07-03 15:15:36,390 ERROR: org.graylog2.bootstrap.CmdLineTool - Guice error (more detail on log level debug): Error injecting constructor, java.lang.NullPointerException
2019-07-03 15:15:36,391 ERROR: org.graylog2.bootstrap.CmdLineTool - Guice error (more detail on log level debug): Error injecting constructor, java.lang.NullPointerException
2019-07-03 15:15:36,391 ERROR: org.graylog2.bootstrap.CmdLineTool - Guice error (more detail on log level debug): Error injecting constructor, java.lang.NullPointerException
Exception in thread "main" com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error injecting constructor, java.lang.NullPointerException
  at org.graylog2.shared.buffers.ProcessBuffer.<init>(ProcessBuffer.java:59)
  at org.graylog2.shared.bindings.GenericBindings.configure(GenericBindings.java:60)
  while locating org.graylog2.shared.buffers.ProcessBuffer
    for the 2nd parameter of org.graylog2.periodical.ThrottleStateUpdaterThread.<init>(ThrottleStateUpdaterThread.java:76)
  while locating org.graylog2.periodical.ThrottleStateUpdaterThread
  while locating org.graylog2.plugin.periodical.Periodical annotated with @com.google.inject.internal.Element(setName=,uniqueId=354, type=MULTIBINDER, keyType=)
  while locating java.util.Set<org.graylog2.plugin.periodical.Periodical>
    for the 3rd parameter of org.graylog2.shared.initializers.PeriodicalsService.<init>(PeriodicalsService.java:45)
  at org.graylog2.shared.initializers.PeriodicalsService.class(PeriodicalsService.java:36)
  while locating org.graylog2.shared.initializers.PeriodicalsService
  while locating com.google.common.util.concurrent.Service annotated with @com.google.inject.internal.Element(setName=,uniqueId=7, type=MULTIBINDER, keyType=)
  while locating java.util.Set<com.google.common.util.concurrent.Service>
    for field at org.graylog2.shared.bindings.providers.ServiceManagerProvider.services(ServiceManagerProvider.java:34)
  while locating org.graylog2.shared.bindings.providers.ServiceManagerProvider
  at org.graylog2.shared.bindings.GenericBindings.configure(GenericBindings.java:64)
  while locating com.google.common.util.concurrent.ServiceManager
Caused by: java.lang.NullPointerException
        at org.graylog2.streams.StreamRuleMatcherFactory.build(StreamRuleMatcherFactory.java:31)
        at org.graylog2.streams.StreamRouterEngine$Rule.<init>(StreamRouterEngine.java:278)
        at org.graylog2.streams.StreamRouterEngine.<init>(StreamRouterEngine.java:98)
        at org.graylog2.streams.StreamRouterEngine$$FastClassByGuice$$c6190f39.newInstance(<generated>)
        at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
        at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050)
        at com.google.inject.assistedinject.FactoryProvider2.invoke(FactoryProvider2.java:836)
        at com.sun.proxy.$Proxy41.create(Unknown Source)
        at org.graylog2.streams.StreamRouter$StreamRouterEngineUpdater.getNewEngine(StreamRouter.java:136)
        at org.graylog2.streams.StreamRouter$StreamRouterEngineUpdater.access$000(StreamRouter.java:102)
        at org.graylog2.streams.StreamRouter.<init>(StreamRouter.java:62)
        at org.graylog2.streams.StreamRouter$$FastClassByGuice$$f9455617.newInstance(<generated>)
        at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
        at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
        at com.google.inject.internal.RealMultibinder$RealMultibinderProvider.doProvision(RealMultibinder.java:198)
        at com.google.inject.internal.RealMultibinder$RealMultibinderProvider.doProvision(RealMultibinder.java:151)
        at com.google.inject.internal.InternalProviderInstanceBindingImpl$Factory.get(InternalProviderInstanceBindingImpl.java:113)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
        at com.google.inject.i
```ntern

Add static fields for inputs

Hi,
it would be great to add "static fields" for inputs.
Enhancement for graylog input.
request url:
https://ip:9000/api/system/inputs/input_id

{
"title": "input name",
"global": true,
"name": "GELF UDP",
"content_pack": null,
"created_at": "2017-05-31T08:48:06.536Z",
"type": "org.graylog2.inputs.gelf.udp.GELFUDPInput",
"creator_user_id": "admin",
"attributes": {
"override_source": null,
"recv_buffer_size": 262144,
"bind_address": "0.0.0.0",
"port": port,
"decompress_size_limit": 8388608
},
"static_fields": {
"input_field": "input_field"
},

"node": null,
"id": "id"
}

Support System/LDAP Groups API

#26

System/LDAP : LDAP settings
GET /system/ldap/groups Get the available LDAP groups
GET /system/ldap/settings/groups Get the LDAP group to Graylog role mapping
PUT /system/ldap/settings/groups Update the LDAP group to Graylog role mapping

Change Client signatures

This is breaking changes.

  • Remove Client.XXXContext
  • Add a context object to the first argument of Client methods

Build error

+ gox -output="dist/v2.6.0/graylog-mock-server_v2.6.0_{{.OS}}_{{.Arch}}" -osarch="darwin/amd64 linux/amd64 windows/amd64" ./mockserver/exec
Number of parallel builds: 47
--> windows/amd64: github.com/suzuki-shunsuke/go-graylog/mockserver/exec
--> darwin/amd64: github.com/suzuki-shunsuke/go-graylog/mockserver/exec
--> linux/amd64: github.com/suzuki-shunsuke/go-graylog/mockserver/exec
1 errors occurred:
--> windows/amd64 error: exit status 1
Stderr: go: downloading github.com/konsorten/go-windows-terminal-sequences v1.0.2
build github.com/suzuki-shunsuke/go-graylog/mockserver/exec: cannot load github.com/konsorten/go-windows-terminal-sequences: reading github.com/konsorten/go-windows-terminal-sequences/go.mod at revision v1.0.2: unknown revision v1.0.2

fork/exec error when executing terraform with linux

Hi,

I'm trying to use your terraform provider but I have a strange error when executing Terraform:

Terraform init is working:

 terraform init

Initializing provider plugins...

The following providers do not have any version constraints in configuration,
so the latest version was installed.

To prevent automatic upgrades to new major versions that may contain breaking
changes, it is recommended to add version = "..." constraints to the
corresponding provider blocks in configuration, with the constraint strings
suggested below.

* provider.graylog: version = "~> 6.1"

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

But when running terraform apply

terraform apply

Error: Error asking for user input: 1 error occurred:
	* provider.graylog: fork/exec /home/fgzx6022/.terraform.d/plugins/linux_amd64/terraform-provider-graylog_v6.1.2: no such file or directory

To install the provider, I have done this:

wget https://github.com/suzuki-shunsuke/go-graylog/releases/download/v6.1.2/terraform-provider-graylog_v6.1.2_linux_amd64.gz
gzip -d https://github.com/suzuki-shunsuke/go-graylog/releases/download/v6.1.2/terraform-provider-graylog_v6.1.2_linux_amd64.gz
mv terraform-provider-graylog_v6.1.2_linux_amd64 ~/.terraform.d/plugins/linux_amd64/terraform-provider-graylog_v6.1.2
chmod +x ~/.terraform.d/plugins/linux_amd64/terraform-provider-graylog_v6.1.2

My tf file:

provider "graylog" {
  web_endpoint_uri = "http://graylog/api"
  auth_name = "admin"
  auth_password = "password"
  api_version      = "v3"
}

resource "graylog_input" "test" {
  title = "terraform test"
  type = "org.graylog2.inputs.syslog.udp.SyslogUDPInput"
  attributes = {
    bind_address = "0.0.0.0"
    port = 514
    recv_buffer_size = 262144
  }
}

My terraform version:

terraform version
Terraform v0.11.14
+ provider.graylog v6.1.2

Did I miss someting ?

failed to import input

  • Graylog 2.5.0+ed06ce7 on 71c0acb4677c
  • go-graylog: 1.4.0

input

{
  "title": "raw_kafka",
  "global": true,
  "name": "Raw/Plaintext Kafka",
  "content_pack": null,
  "created_at": "2019-03-14T12:09:26.282Z",
  "type": "org.graylog2.inputs.raw.kafka.RawKafkaInput",
  "creator_user_id": "admin",
  "attributes": {
    "topic_filter": "test-kafka",
    "fetch_wait_max": 100,
    "offset_reset": "largest",
    "zookeeper": "127.0.0.1:2181",
    "throttling_allowed": false,
    "fetch_min_bytes": 5,
    "threads": 2,
    "override_source": null
  },
  "static_fields": {},
  "node": null,
  "id": "5c8a4476c9e77c00017790ba"
}
$ terraform import graylog_input.gelf_kafka 5c8a4476c9e77c00017790ba
graylog_input.gelf_kafka: Importing from ID "5c8a4476c9e77c00017790ba"...
graylog_input.gelf_kafka: Import complete!
  Imported graylog_input (ID: 5c8a4476c9e77c00017790ba)
graylog_input.gelf_kafka: Refreshing state... (ID: 5c8a4476c9e77c00017790ba)

Error: graylog_input.gelf_kafka (import id: 5c8a4476c9e77c00017790ba): 1 error(s) occurred:

* import graylog_input.gelf_kafka result: 5c8a4476c9e77c00017790ba: graylog_input.gelf_kafka: Invalid address to set: []string{"attributes", "0", "Data"}

terraform dry run failing after creating graylog alarm callback

Hi @suzuki-shunsuke,

Have been trying out graylog alarm callback with custom third party api as specified here.

Creating the resource itself works perfectly.

resource "graylog_alarm_callback" "pagerduty" {
  type = "org.graylog2.alarmcallbacks.pagerduty.PagerDutyAlarmCallback"
  stream_id = "${data.graylog_stream.default_stream.id}"
  title = "Test"

  general_string_configuration = {
    service_key = "<integration key>"
    incident_key_prefix = "Graylog/"
    client = "Graylog"
    client_url = "<graylog url>"
  }

  general_bool_configuration = {
    use_custom_incident_key = "true"
  }
}

However, whenever I try to rerun the terraform, the dry run always fails

Error: Error refreshing state: 1 error occurred:
--
  | * graylog_alarm_callback.pagerduty: 1 error occurred:
  | * graylog_alarm_callback.pagerduty: graylog_alarm_callback.pagerduty: general_bool_configuration.use_custom_incident_key: can only set full map

I've traced this down to the actual terraform source code here

Environment:
graylog provider version: 6.1.0
terraform version: 0.11.14
graylog version: 3.0.2+1686930

graylog provider defintion

provider "graylog" {
  web_endpoint_uri = "<url>"
  api_version      = "v3"
  auth_name        = "<user name>"
  auth_password    = "<password>"
}

Please let me know if you need any more info.

I really like what your are doing 👍

Migrate terraform AlertCondition resource

  • remove parameters
  • instead of parameters, add the following fields
    • field_content_value_parameters
    • field_value_parameters
    • message_count_parameters
    • general_int_parameters
    • general_bool_parameters
    • general_float_parameters
    • general_string_parameters

Migration Guide

In order to upgrade the terraform provider graylog, please update the terraform configuration file about the resource graylog_alertcondition.

If the alert condition type is field_content_value, rename the field parameters to field_content_value_parameters.
If the alert condition type is field_value, rename the field parameters to field_value_parameters.
If the alert condition type is message_count, rename the field parameters to message_count_parameters.

Support Extractors API

Extractors : Extractors of an input
POST /system/inputs/{inputId}/extractors Add an extractor to an input
GET /system/inputs/{inputId}/extractors List all extractors of an input
POST /system/inputs/{inputId}/extractors/order Update extractor order of an input
PUT /system/inputs/{inputId}/extractors/{extractorId} Update an extractor
DELETE /system/inputs/{inputId}/extractors/{extractorId} Delete an extractor
GET /system/inputs/{inputId}/extractors/{extractorId} Get information of a single extractor of an input

Support System/LDAP Settings API

#26

System/LDAP : LDAP settings
PUT /system/ldap/settings Update the LDAP configuration
DELETE /system/ldap/settings Remove the LDAP configuration
GET /system/ldap/settings Get the LDAP configuration if it is configured
POST /system/ldap/test Test LDAP Configuration

Support Plugins/System/Collectors API

#26

Plugins/System/Collectors : Management of Graylog Collectors.
GET /plugins/org.graylog.plugins.collector/collectors Lists all existing collector registrations
GET /plugins/org.graylog.plugins.collector/collectors/{collectorId} Returns at most one collector summary for the specified collector id
PUT /plugins/org.graylog.plugins.collector/collectors/{collectorId} Create/update a collector registration
GET /plugins/org.graylog.plugins.collector/collectors/{collectorId}/action Returns queued actions for the specified collector id
PUT /plugins/org.graylog.plugins.collector/collectors/{collectorId}/action Set a collector action

Support Plugins/Pipelines/Pipelines API

GET /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/pipeline Get all processing pipelines
POST /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/pipeline Create a processing pipeline from source
POST /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/pipeline/parse Parse a processing pipeline without saving it
GET /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/pipeline/{id} Get a processing pipeline
PUT /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/pipeline/{id} Modify a processing pipeline
DELETE /plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/pipeline/{id} Delete a processing pipeline

Add data sources

It would be really helpful if there were data sources for resources like streams and index sets so you could refer to resources managed outside of Terraform without having to manually pass resource ids as variables.

Support ValidationApiError

POST /system/outputs

{
  "type": "ValidationApiError",
  "message": "Validation failed!",
  "validation_errors": {
    "type": [
      {
        "error": "Invalid output type"
      }
    ]
  }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.