[WIP] Beatless initial beat (local only)#8170
[WIP] Beatless initial beat (local only)#8170ph wants to merge 29 commits intoelastic:feature-beatlessfrom ph:fix/beatless-stdin-provided
Conversation
x-pack/beatless/provider/runnable.go
Outdated
There was a problem hiding this comment.
exported type Runnable should have comment or be unexported
x-pack/beatless/provider/registry.go
Outdated
There was a problem hiding this comment.
exported type FunctionFactory should have comment or be unexported
x-pack/beatless/provider/default.go
Outdated
There was a problem hiding this comment.
exported method DefaultProvider.Name should have comment or be unexported
x-pack/beatless/provider/default.go
Outdated
There was a problem hiding this comment.
exported method DefaultProvider.Functions should have comment or be unexported
x-pack/beatless/provider/default.go
Outdated
There was a problem hiding this comment.
exported function NewDefaultProvider should have comment or be unexported
x-pack/beatless/provider/default.go
Outdated
There was a problem hiding this comment.
exported type DefaultProvider should have comment or be unexported
x-pack/beatless/provider/default.go
Outdated
There was a problem hiding this comment.
exported type Config should have comment or be unexported
libbeat/feature/registry.go
Outdated
There was a problem hiding this comment.
type name will be used as feature.FeatureRegistry by other packages, and that stutters; consider calling this Registry
libbeat/feature/registry.go
Outdated
There was a problem hiding this comment.
comment on exported type FeatureRegistry should be of the form "FeatureRegistry ..." (with optional leading article)
|
I am adding test followed by the AWS provider :) |
x-pack/beatless/beater/beatless.go
Outdated
|
I will fix the package build before merging my other branches. |
There was a problem hiding this comment.
exported method DefaultProvider.CreateFunctions should have comment or be unexported
There was a problem hiding this comment.
exported method DefaultProvider.Name should have comment or be unexported
There was a problem hiding this comment.
exported function NewDefaultProvider should have comment or be unexported
There was a problem hiding this comment.
exported type Config should have comment or be unexported
x-pack/beatless/licenser/1
Outdated
There was a problem hiding this comment.
when I have restored my laptop I forgot to add 1 to my global gitignore :(
* Beatless initial PR Add a new beat inside the x-pack folder under the Elastic License, minimal requirement changes to have a build and a test running. Main makefile exclude ASL2 for x-pack but check for Elastic. Beats can override the license in their Makefile.
In beat each data collector need to initialize his own beat.Client to
have access to the pipeline. The current pipeline implementation is
completely asynchronous, meaning when you publish something to the
queue, you don't know if it will be send or when it will be send.
Some system like aws lambda requires to be in sync, when the method
return we expect the events to be send. This PR allow to change the
behavior to have a sync publish that leverage the pipeline callbacks.
Notes: it also changes the client interface, since publish and publishAll can
return an error.
Usage:
```
sc, err := NewSyncClient(pipeline, beat.ClientConfig{})
if !assert.NoError(t, err) {
return
}
err := sc.PublishAll()
if err != nil {
...
}
sc.Wait() // block until the publish is done.
defer sc.Close() // this call will also block
```
* License manager Implements a License manager inside beats, as we development more features that depends on the licensing and the capabilities of a remote cluster we need a unique way to access that information. This commit implements the following: Add a License manager that can be started at the beginning of the beats instance initialization. The manager takes a fetcher, currently we only support Elasticsearch as the license backend but we could add support for an Logstash endpoint that could proxy the license. Notes: - By default when the manager is started, no license is available, calling `Get()` on the manager will return a license not found. - The manager will periodically retrieve the license from the fetcher. - When an error occurs on the periodic check, the license wont be invalidated right away but will enter a grace period, after this period the license will be invalidated and will replaced by the OSS license. - License and capabilities and be retrieved by calling `Get()` or registering a type implementing the `Watcher` interface.
ff6073a to
35ec7fe
Compare
|
I will take a look at the license failing. |
Addition: - This commit allows to skip files during the generating of the license notice file. In the current specific case the aws-lambda-go contains a `LICENSE-SUMMARY` file explaining what license cover what code. - Add the MIT-0 zero content to the license check - Add the updated license file. Notes: The lambda functions are licensed under a modified MIT License (MIT-0[1]) The other code is licensed under an Apache License v2.0 [1]:https://github.com/aws/mit-0
35ec7fe to
fd0a33e
Compare
NOT READY FOR REVIEW
Testing configuration.