Git Product home page Git Product logo

Comments (20)

watson avatar watson commented on August 23, 2024 2

@sterchelen we also have our Discuss forums: https://discuss.elastic.co/c/apm
@ruflin Inspired by your comment, I took the liberty to create the channel #elastic-apm on Freenode. I'm a rebel, sorry 😅

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

Hi @ruflin , I'm looking to contribute to this project...
For the following point:

Use ucfg for Enabled() flag

What did you meant ? Replacing the isEnabled() function by using the ucfg package ?

from apm-server.

ruflin avatar ruflin commented on August 23, 2024

@sterchelen Happy to hear you want to contribute.

For the Enabled() part: It is exactly as you described to replace isEnabled by the internal Enabled() function from go-ucfg. But I think I tried to this quickly in the past and it actually made the code more complex instead of simpler and is the reason we went with the implementation we have now.

In general it would be great to share code between libbeat and apm-server for TLS (if possible) but never checked in detail how much we can share.

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

I can see if it's possible to share the TLS usage of beats with the apm-server.

@ruflin , sorry to ask a question of this type here but do you have a slack channel or anything else to talk more freely with the rest of the team ? I didn't see a link to a chat room on the contributing page...

Thank you.

from apm-server.

ruflin avatar ruflin commented on August 23, 2024

@sterchelen Our main communication channel is Github. Most teams also have an IRC channel: https://www.elastic.co/community But APM does not have one yet.

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

@ruflin I made an investigation to reuse the loadCertificate function in libbeat. Here is my point of view:

With this feature we can handle a certificate that is protected by a passphrase. It could, also, allows to start the "refactoring" of the TLS usage and reuse more or less the libbeat version.

I can start working on it...

from apm-server.

ruflin avatar ruflin commented on August 23, 2024

@sterchelen I like the idea. How would the config look like after this change? Could you post a yaml example?

I would like to get @jalvz opinion here before we start working on it has he did the implementation and knows best if this fits in.

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

@ruflin , here is the yaml example:

apm-server:

  host: "localhost:8200"
  read_timeout: 2s
  write_timeout: 2s
  shutdown_timeout: 5s
  concurrent_requests: 20

  tls.enabled: true
  tls.certificate: "/path/to/cert"
  tls.key: "path/to/private_key"
  tls.key_passphrase: "blabla"

ssl is the predecessor of tls so if we want to be etymologically correct we should use tls instead of ssl.
The other modification is the addition of the tls.key_passphrase.

from apm-server.

ruflin avatar ruflin commented on August 23, 2024

The config looks good to. Even though tls is more correct, we use ssl to be in sync with the rest of the elastic stack so I would keep ssl for now.

I want @jalvz to chime in here to see if we are on the right track.

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

All right ! Waiting @jalvz thoughts.

from apm-server.

jalvz avatar jalvz commented on August 23, 2024

sorry, this slipped through the cracks, but overall SGTM

if we are going to duplicate too much code from loadCertifcate / readPEMFile i think it would be better to expose those functions in libbeat, or at least extract and expose the common bits we need

looking forward to it

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

@jalvz Ok, when you say:

expose those functions in libbeat

You are meaning modifying libbeat functions inside the vendor folder ? Or creating a pull request to the beats repository ?

from apm-server.

jalvz avatar jalvz commented on August 23, 2024

The right way would be a PR in beats, yes.

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

As you want... I can create a pull request about this subject.

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

PR created --> elastic/beats#5388

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024

Hi, the PR has been merged !

Start working on loading certificate from the libbeat outputs package.

from apm-server.

jalvz avatar jalvz commented on August 23, 2024

great! 👍

from apm-server.

sterchelen avatar sterchelen commented on August 23, 2024
  • Evaluate to use libbeat cert generation --> Done
  • Evaluate to reuse load certificate from libbeat --> Done

from apm-server.

graphaelli avatar graphaelli commented on August 23, 2024

reviewing this for possible inclusion in 6.2 - #235

from apm-server.

jalvz avatar jalvz commented on August 23, 2024

i'm closing this until a requirement for more functionality comes up. PR235 is still open and can be merged when ready.

from apm-server.

Related Issues (20)

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.