Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-pick #20580 to 7.x: libbeat/kibana: add ClientConfig.Headers #20698

Merged
merged 1 commit into from
Aug 20, 2020

Conversation

axw
Copy link
Member

@axw axw commented Aug 20, 2020

Cherry-pick of PR #20580 to 7.x branch. Original message:

What does this PR do?

Add configurable headers to include in every request sent to Kibana.

Why is it important?

This is needed in some security applications, for authenticating the Beat. Specifically, this is needed to fix elastic/apm-server#4065

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
    - [ ] I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

How to test this PR locally

  1. Run nc -l 1234
  2. Configure filebeat with setup.kibana.host: localhost:1234, and a custom header in setup.kibana.headers
  3. Run filebeat setup

Observe the custom header is logged by netcat:

GET /api/status HTTP/1.1
Host: localhost:1234
User-Agent: Go-http-client/1.1
Accept: application/json
Content-Type: application/json
Foo: bar
Kbn-Xsrf: 1
Accept-Encoding: gzip

Related issues

elastic/apm-server#4065

Use cases

Introduces a means of specifying custom HTTP headers to add to all requests sent to Kibana. As above, needed in some security use cases.

* libbeat/kibana: add ClientConfig.Headers

Add configurable headers to include in every
request sent to Kibana. This is needed in some
security applications, for authenticating the
Beat.

* Add setup.kibana.headers to config/docs

* libbeat/kibana: prevent overridding Content-Type

... and Accept, and kbn-xsrf

(cherry picked from commit 38fc1ed)
@axw axw requested review from a team as code owners August 20, 2020 01:09
@axw axw added [zube]: In Review backport Team:Integrations Label for the Integrations team Team:Services (Deprecated) Label for the former Integrations-Services team labels Aug 20, 2020
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Aug 20, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations (Team:Integrations)

@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations-services (Team:Services)

@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Aug 20, 2020
Copy link
Contributor

@ph ph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

backport LGTM

@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: [Pull request #20698 opened]

  • Start Time: 2020-08-20T01:10:27.499+0000

  • Duration: 77 min 4 sec

Test stats 🧪

Test Results
Failed 0
Passed 17989
Skipped 1853
Total 19842

Steps errors

Expand to view the steps failures

  • Name: Install Go 1.14.7
    • Description: .ci/scripts/install-go.sh

    • Duration: 1 min 33 sec

    • Start Time: 2020-08-20T01:36:27.125+0000

    • log

@axw axw merged commit 585b952 into elastic:7.x Aug 20, 2020
@axw axw deleted the backport_20580_7.x branch August 20, 2020 02:51
@zube zube bot removed the [zube]: Done label Nov 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport Team:Integrations Label for the Integrations team Team:Services (Deprecated) Label for the former Integrations-Services team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants