Skip to content

Commit 752330e

Browse files
authored
[receiver/webhookevent] Enable component (open-telemetry#23239)
Graduate webhookeventreceiver component to Alpha
1 parent 8b10209 commit 752330e

File tree

15 files changed

+88
-7
lines changed

15 files changed

+88
-7
lines changed

.chloggen/webhookevent-enable.yaml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Use this changelog template to create an entry for release notes.
2+
# If your change doesn't affect end users, such as a test fix or a tooling change,
3+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
4+
5+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
6+
change_type: 'enhancement'
7+
8+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
9+
component: webhookeventreceiver
10+
11+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
12+
note: Mark the component as Alpha and add to `component.go`
13+
14+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
15+
issues: [18101]
16+
17+
# (Optional) One or more lines of additional information to render under the primary note.
18+
# These lines will be padded with 2 spaces and then inserted directly into the document.
19+
# Use pipe (|) for multiline entries.
20+
subtext:

cmd/configschema/go.mod

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.19
55
require (
66
github.com/fatih/structtag v1.2.0
77
github.com/google/uuid v1.3.0
8-
github.com/open-telemetry/opentelemetry-collector-contrib v0.0.0-00010101000000-000000000000
8+
github.com/open-telemetry/opentelemetry-collector-contrib v0.79.0
99
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.79.0
1010
github.com/stretchr/testify v1.8.4
1111
go.opentelemetry.io/collector v0.79.0
@@ -450,6 +450,7 @@ require (
450450
github.com/josharian/intern v1.0.0 // indirect
451451
github.com/jpillora/backoff v1.0.0 // indirect
452452
github.com/json-iterator/go v1.1.12 // indirect
453+
github.com/julienschmidt/httprouter v1.3.0 // indirect
453454
github.com/karrick/godirwalk v1.17.0 // indirect
454455
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
455456
github.com/klauspost/compress v1.16.5 // indirect
@@ -513,6 +514,7 @@ require (
513514
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/winperfcounters v0.79.0 // indirect
514515
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver v0.79.0 // indirect
515516
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver v0.79.0 // indirect
517+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.79.0 // indirect
516518
github.com/opencontainers/go-digest v1.0.0 // indirect
517519
github.com/opencontainers/image-spec v1.1.0-rc2 // indirect
518520
github.com/opencontainers/runc v1.1.5 // indirect
@@ -1044,6 +1046,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcent
10441046

10451047
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver => ../../receiver/wavefrontreceiver
10461048

1049+
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver => ../../receiver/webhookeventreceiver
1050+
10471051
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver => ../../receiver/windowseventlogreceiver
10481052

10491053
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver => ../../receiver/windowsperfcountersreceiver

cmd/configschema/go.sum

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/otelcontribcol/builder-config.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ receivers:
187187
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.79.0
188188
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.79.0
189189
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.79.0
190+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.79.0
190191
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver v0.79.0
191192
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.79.0
192193
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.79.0
@@ -401,6 +402,7 @@ replaces:
401402
- github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver => ../../receiver/cloudflarereceiver
402403
- github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusexecreceiver => ../../receiver/prometheusexecreceiver
403404
- github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver => ../../receiver/windowseventlogreceiver
405+
- github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver => ../../receiver/webhookeventreceiver
404406
- github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver => ../../extension/observer/ecsobserver
405407
# see https://github.com/mattn/go-ieproxy/issues/45
406408
- github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1

cmd/otelcontribcol/components.go

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/otelcontribcol/go.mod

+4
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ require (
176176
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.79.0
177177
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.79.0
178178
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.79.0
179+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.79.0
179180
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.79.0
180181
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.79.0
181182
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.79.0
@@ -453,6 +454,7 @@ require (
453454
github.com/josharian/intern v1.0.0 // indirect
454455
github.com/jpillora/backoff v1.0.0 // indirect
455456
github.com/json-iterator/go v1.1.12 // indirect
457+
github.com/julienschmidt/httprouter v1.3.0 // indirect
456458
github.com/karrick/godirwalk v1.17.0 // indirect
457459
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
458460
github.com/klauspost/compress v1.16.5 // indirect
@@ -1078,6 +1080,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prome
10781080

10791081
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver => ../../receiver/windowseventlogreceiver
10801082

1083+
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver => ../../receiver/webhookeventreceiver
1084+
10811085
replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver => ../../extension/observer/ecsobserver
10821086

10831087
replace github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1

cmd/otelcontribcol/go.sum

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/otelcontribcol/receivers_test.go

+9
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import (
3838
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver"
3939
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver"
4040
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver"
41+
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver"
4142
)
4243

4344
func TestDefaultReceivers(t *testing.T) {
@@ -400,6 +401,14 @@ func TestDefaultReceivers(t *testing.T) {
400401
receiver: "wavefront",
401402
skipLifecyle: true, // Depends on carbon receiver to be running correctly
402403
},
404+
{
405+
receiver: "webhookevent",
406+
getConfigFn: func() component.Config {
407+
cfg := rcvrFactories["webhookevent"].CreateDefaultConfig().(*webhookeventreceiver.Config)
408+
cfg.Endpoint = "127.0.0.1:8088"
409+
return cfg
410+
},
411+
},
403412
{
404413
receiver: "windowseventlog",
405414
skipLifecyle: true, // Requires a running windows process

go.mod

+4
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ require (
162162
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.79.0
163163
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.79.0
164164
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.79.0
165+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.79.0
165166
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.79.0
166167
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.79.0
167168
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.79.0
@@ -434,6 +435,7 @@ require (
434435
github.com/josharian/intern v1.0.0 // indirect
435436
github.com/jpillora/backoff v1.0.0 // indirect
436437
github.com/json-iterator/go v1.1.12 // indirect
438+
github.com/julienschmidt/httprouter v1.3.0 // indirect
437439
github.com/karrick/godirwalk v1.17.0 // indirect
438440
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
439441
github.com/klauspost/compress v1.16.5 // indirect
@@ -1051,6 +1053,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavef
10511053

10521054
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver => ./receiver/windowseventlogreceiver
10531055

1056+
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver => ./receiver/webhookeventreceiver
1057+
10541058
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver => ./receiver/windowsperfcountersreceiver
10551059

10561060
replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver => ./receiver/zipkinreceiver

go.sum

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/components/components.go

+2
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ import (
178178
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver"
179179
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver"
180180
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver"
181+
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver"
181182
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver"
182183
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver"
183184
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver"
@@ -291,6 +292,7 @@ func Components() (otelcol.Factories, error) {
291292
sshcheckreceiver.NewFactory(),
292293
statsdreceiver.NewFactory(),
293294
wavefrontreceiver.NewFactory(),
295+
webhookeventreceiver.NewFactory(),
294296
windowseventlogreceiver.NewFactory(),
295297
windowsperfcountersreceiver.NewFactory(),
296298
zookeeperreceiver.NewFactory(),

receiver/webhookeventreceiver/README.md

+29-3
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,37 @@
33
<!-- status autogenerated section -->
44
| Status | |
55
| ------------- |-----------|
6-
| Stability | [development]: logs |
6+
| Stability | [alpha]: logs |
77
| Distributions | [] |
88

9-
[development]: https://github.com/open-telemetry/opentelemetry-collector#development
9+
[alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha
1010
<!-- end autogenerated section -->
1111

12-
The Webhook Event receiver is meantWebhook Event to act as a generally available push based receiver for any webhook style data source.
12+
The Webhook Event Receiver is a push based event collector component meant to act as a generally available receiver for any webhook style data source. It is designed to work alongside other pipeline components
13+
like the [transform processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/transformprocessor) to allow the ingestion of generic events as logs into the opentelemetry
14+
collector.
15+
16+
## Configuration
17+
18+
The following settings are required:
19+
20+
* `endpoint` (no default): The endpoint where you may point your webhook to emit events to
21+
22+
The following settings are optional:
23+
24+
* `path` (default: '/events'): Path where the receiver instance will accept events
25+
* `health_path` (default: '/health_check'): Path available for checking receiver status
26+
* `read_timeout` (default: '500ms'): Maximum wait time while attempting to read a received event
27+
* `write_timeout` (default: '500ms'): Maximum wait time while attempting to write a response
28+
29+
Example:
30+
```yaml
31+
receivers:
32+
webhookevent:
33+
endpoint: localhost:8088
34+
read_timeout: "500ms"
35+
path: "eventsource/receiver"
36+
health_path: "eventreceiver/healthcheck"
37+
```
38+
The full list of settings exposed for this receiver are documented [here](./config.go) with a detailed sample configuration [here](./testdata/config.yaml)
1339

receiver/webhookeventreceiver/internal/metadata/generated_status.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/webhookeventreceiver/metadata.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ type: webhookevent
33
status:
44
class: receiver
55
stability:
6-
development: [logs]
7-
distributions:
6+
alpha: [logs]
7+
distributions:
88

receiver/webhookeventreceiver/receiver.go

+5
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ func (er *eventReceiver) Start(_ context.Context, host component.Host) error {
133133

134134
// Shutdown function manages receiver shutdown tasks. part of the receiver.Logs interface.
135135
func (er *eventReceiver) Shutdown(_ context.Context) error {
136+
// server must exist to be closed.
137+
if er.server == nil {
138+
return nil
139+
}
140+
136141
err := er.server.Close()
137142
er.shutdownWG.Wait()
138143
return err

0 commit comments

Comments
 (0)