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
Add elastic beat shippers #23227
Add elastic beat shippers #23227
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if we can just compile these packages? They're open source after all. 😄
homepage = https://www.elastic.co/products/beats; | ||
license = stdenv.lib.licenses.asl20; | ||
maintainers = [ stdenv.lib.maintainers.fadenb ]; | ||
platforms = stdenv.lib.platforms.all; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only "linux-x86_64"
is supported.
homepage = https://www.elastic.co/products/beats; | ||
license = stdenv.lib.licenses.asl20; | ||
maintainers = [ stdenv.lib.maintainers.fadenb ]; | ||
platforms = stdenv.lib.platforms.all; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only "linux-x86_64"
is supported.
homepage = https://www.elastic.co/products/beats; | ||
license = stdenv.lib.licenses.asl20; | ||
maintainers = [ stdenv.lib.maintainers.fadenb ]; | ||
platforms = stdenv.lib.platforms.all; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only "linux-x86_64"
is supported.
homepage = https://www.elastic.co/products/beats; | ||
license = stdenv.lib.licenses.asl20; | ||
maintainers = [ stdenv.lib.maintainers.fadenb ]; | ||
platforms = stdenv.lib.platforms.all; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only "linux-x86_64"
is supported.
# need to patch interpreter to be able to run on NixOS | ||
patchPhase = '' | ||
patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) metricbeat | ||
''; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does this package need this but not the others? Shouldn't the default fixupPhase
take care of that?
9dd6b7c
to
850ffdc
Compare
Last time I tried building the beats from source I failed so this was the next best thing to get them working on NixOS ;) Regarding the patchelf command: |
Last time I tried Filebeat, this compiled and was runnable:
Unfortunately it propagates src into derivation, so requires polishing. |
Though I can't offer much help I'm a light -1 on introducing more binary installs, even if that's a bit more effort. Source installs allow us to track the real build dependencies, and to apply patches or overrides later. It's also useful for reproducible builds. For some packages we don't have a functioning build tool yet, e.g. bazel & tensorflow, or some maven packages. In this specific instance though I think all that's needed is a bit of fiddling. E.g. I run a go project with a custom Makefile and my installer looks like this:
|
Motivation for this change
Packages 4 of the Elastic Beats shippers
https://www.elastic.co/products/beats
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)