kibana: update default version to v6

Changed files
+50 -130
nixos
modules
services
search
pkgs
development
tools
misc
top-level
+1 -37
nixos/modules/services/search/kibana.nix
···
let
cfg = config.services.kibana;
-
atLeast54 = versionAtLeast (builtins.parseDrvName cfg.package.name).version "5.4";
-
-
cfgFile = if atLeast54 then cfgFile5 else cfgFile4;
-
-
cfgFile4 = pkgs.writeText "kibana.json" (builtins.toJSON (
-
(filterAttrsRecursive (n: v: v != null) ({
-
host = cfg.listenAddress;
-
port = cfg.port;
-
ssl_cert_file = cfg.cert;
-
ssl_key_file = cfg.key;
-
-
kibana_index = cfg.index;
-
default_app_id = cfg.defaultAppId;
-
-
elasticsearch_url = cfg.elasticsearch.url;
-
kibana_elasticsearch_username = cfg.elasticsearch.username;
-
kibana_elasticsearch_password = cfg.elasticsearch.password;
-
kibana_elasticsearch_cert = cfg.elasticsearch.cert;
-
kibana_elasticsearch_key = cfg.elasticsearch.key;
-
ca = cfg.elasticsearch.ca;
-
-
bundled_plugin_ids = [
-
"plugins/dashboard/index"
-
"plugins/discover/index"
-
"plugins/doc/index"
-
"plugins/kibana/index"
-
"plugins/markdown_vis/index"
-
"plugins/metric_vis/index"
-
"plugins/settings/index"
-
"plugins/table_vis/index"
-
"plugins/vis_types/index"
-
"plugins/visualize/index"
-
];
-
} // cfg.extraConf)
-
)));
-
-
cfgFile5 = pkgs.writeText "kibana.json" (builtins.toJSON (
+
cfgFile = pkgs.writeText "kibana.json" (builtins.toJSON (
(filterAttrsRecursive (n: v: v != null) ({
server.host = cfg.listenAddress;
server.port = cfg.port;
-75
pkgs/development/tools/misc/kibana/6.x.nix
···
-
{ elk6Version
-
, enableUnfree ? true
-
, stdenv
-
, makeWrapper
-
, fetchzip
-
, fetchurl
-
, nodejs
-
, coreutils
-
, which
-
}:
-
-
with stdenv.lib;
-
let
-
inherit (builtins) elemAt;
-
info = splitString "-" stdenv.system;
-
arch = elemAt info 0;
-
plat = elemAt info 1;
-
shas =
-
if enableUnfree
-
then {
-
"x86_64-linux" = "1kk97ggpzmblhqm6cfd2sv5940f58h323xcyg6rba1njj7lzanv0";
-
"x86_64-darwin" = "1xvwffk8d8br92h0laf4b1m76kvki6cj0pbgcvirfcj1r70vk6c3";
-
}
-
else {
-
"x86_64-linux" = "0m81ki1v61gpwb3s6zf84azqrirlm9pdfx65g3xmvdp3d3wii5ly";
-
"x86_64-darwin" = "0zh9p6vsq1d0gh6ks7z6bh8sbhn6rm4jshjcfp3c9k7n2qa8vv9b";
-
};
-
-
# For the correct phantomjs version see:
-
# https://github.com/elastic/kibana/blob/master/x-pack/plugins/reporting/server/browsers/phantom/paths.js
-
phantomjs = rec {
-
name = "phantomjs-${version}-linux-x86_64";
-
version = "2.1.1";
-
src = fetchzip {
-
inherit name;
-
url = "https://github.com/Medium/phantomjs/releases/download/v${version}/${name}.tar.bz2";
-
sha256 = "0g2dqjzr2daz6rkd6shj6rrlw55z4167vqh7bxadl8jl6jk7zbfv";
-
};
-
};
-
-
in stdenv.mkDerivation rec {
-
name = "kibana-${optionalString (!enableUnfree) "oss-"}${version}";
-
version = elk6Version;
-
-
src = fetchurl {
-
url = "https://artifacts.elastic.co/downloads/kibana/${name}-${plat}-${arch}.tar.gz";
-
sha256 = shas."${stdenv.system}" or (throw "Unknown architecture");
-
};
-
-
buildInputs = [ makeWrapper ];
-
-
installPhase = ''
-
mkdir -p $out/libexec/kibana $out/bin
-
mv * $out/libexec/kibana/
-
rm -r $out/libexec/kibana/node
-
makeWrapper $out/libexec/kibana/bin/kibana $out/bin/kibana \
-
--prefix PATH : "${stdenv.lib.makeBinPath [ nodejs coreutils which ]}"
-
sed -i 's@NODE=.*@NODE=${nodejs}/bin/node@' $out/libexec/kibana/bin/kibana
-
'' +
-
# phantomjs is needed in the unfree version. When phantomjs doesn't exist in
-
# $out/libexec/kibana/data kibana will try to download and unpack it during
-
# runtime which will fail because the nix store is read-only. So we make sure
-
# it already exist in the nix store.
-
optionalString enableUnfree ''
-
ln -s ${phantomjs.src} $out/libexec/kibana/data/${phantomjs.name}
-
'';
-
-
meta = {
-
description = "Visualize logs and time-stamped data";
-
homepage = http://www.elasticsearch.org/overview/kibana;
-
license = if enableUnfree then licenses.elastic else licenses.asl20;
-
maintainers = with maintainers; [ offline rickynils basvandijk ];
-
platforms = with platforms; unix;
-
};
-
}
+45 -15
pkgs/development/tools/misc/kibana/default.nix
···
-
{ stdenv, makeWrapper, fetchurl, nodejs, coreutils, which }:
+
{ elk6Version
+
, enableUnfree ? true
+
, stdenv
+
, makeWrapper
+
, fetchzip
+
, fetchurl
+
, nodejs
+
, coreutils
+
, which
+
}:
with stdenv.lib;
let
inherit (builtins) elemAt;
-
archOverrides = {
-
"i686" = "x86";
-
};
info = splitString "-" stdenv.system;
-
arch = (elemAt info 0);
-
elasticArch = archOverrides."${arch}" or arch;
+
arch = elemAt info 0;
plat = elemAt info 1;
-
shas = {
-
"x86_64-linux" = "1wnnrhhpgc58s09p99cmi8r2jmwsd5lmh2inb0k8nmizz5v1sjz0";
-
"i686-linux" = "0sdx59jlfrf7r9793xpn2vxaxjdczgn3qfw8yny03dcs6fjaxi2y";
-
"x86_64-darwin" = "0rmp536kn001g52lxngpj6x6d0j3qj0r11d4djbz7h6s5ml03kza";
+
shas =
+
if enableUnfree
+
then {
+
"x86_64-linux" = "1kk97ggpzmblhqm6cfd2sv5940f58h323xcyg6rba1njj7lzanv0";
+
"x86_64-darwin" = "1xvwffk8d8br92h0laf4b1m76kvki6cj0pbgcvirfcj1r70vk6c3";
+
}
+
else {
+
"x86_64-linux" = "0m81ki1v61gpwb3s6zf84azqrirlm9pdfx65g3xmvdp3d3wii5ly";
+
"x86_64-darwin" = "0zh9p6vsq1d0gh6ks7z6bh8sbhn6rm4jshjcfp3c9k7n2qa8vv9b";
+
};
+
+
# For the correct phantomjs version see:
+
# https://github.com/elastic/kibana/blob/master/x-pack/plugins/reporting/server/browsers/phantom/paths.js
+
phantomjs = rec {
+
name = "phantomjs-${version}-linux-x86_64";
+
version = "2.1.1";
+
src = fetchzip {
+
inherit name;
+
url = "https://github.com/Medium/phantomjs/releases/download/v${version}/${name}.tar.bz2";
+
sha256 = "0g2dqjzr2daz6rkd6shj6rrlw55z4167vqh7bxadl8jl6jk7zbfv";
+
};
};
+
in stdenv.mkDerivation rec {
-
name = "kibana-${version}";
-
version = "4.6.5";
+
name = "kibana-${optionalString (!enableUnfree) "oss-"}${version}";
+
version = elk6Version;
src = fetchurl {
-
url = "https://download.elastic.co/kibana/kibana/${name}-${plat}-${elasticArch}.tar.gz";
+
url = "https://artifacts.elastic.co/downloads/kibana/${name}-${plat}-${arch}.tar.gz";
sha256 = shas."${stdenv.system}" or (throw "Unknown architecture");
};
···
makeWrapper $out/libexec/kibana/bin/kibana $out/bin/kibana \
--prefix PATH : "${stdenv.lib.makeBinPath [ nodejs coreutils which ]}"
sed -i 's@NODE=.*@NODE=${nodejs}/bin/node@' $out/libexec/kibana/bin/kibana
+
'' +
+
# phantomjs is needed in the unfree version. When phantomjs doesn't exist in
+
# $out/libexec/kibana/data kibana will try to download and unpack it during
+
# runtime which will fail because the nix store is read-only. So we make sure
+
# it already exist in the nix store.
+
optionalString enableUnfree ''
+
ln -s ${phantomjs.src} $out/libexec/kibana/data/${phantomjs.name}
'';
meta = {
description = "Visualize logs and time-stamped data";
homepage = http://www.elasticsearch.org/overview/kibana;
-
license = licenses.asl20;
-
maintainers = with maintainers; [ offline rickynils ];
+
license = if enableUnfree then licenses.elastic else licenses.asl20;
+
maintainers = with maintainers; [ offline rickynils basvandijk ];
platforms = with platforms; unix;
};
}
+4 -3
pkgs/top-level/all-packages.nix
···
keyfuzz = callPackage ../tools/inputmethods/keyfuzz { };
-
kibana = callPackage ../development/tools/misc/kibana { };
kibana5 = callPackage ../development/tools/misc/kibana/5.x.nix { };
-
kibana6 = callPackage ../development/tools/misc/kibana/6.x.nix { };
-
kibana6-oss = callPackage ../development/tools/misc/kibana/6.x.nix {
+
kibana6 = callPackage ../development/tools/misc/kibana/default.nix { };
+
kibana6-oss = callPackage ../development/tools/misc/kibana/default.nix {
enableUnfree = false;
};
+
kibana = kibana6;
+
kibana-oss = kibana6-oss;
kismet = callPackage ../applications/networking/sniffers/kismet { };