Merge pull request #9539 from benley/funwithgodeps

prometheus-*: fixes to deal with goPackages multiple-outputs changes

+301 -423
-54
pkgs/servers/monitoring/prometheus/alertmanager/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub, protobuf, vim }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-alertmanager-${rev}"; 5 - rev = "0.0.4"; 6 - goPackagePath = "github.com/prometheus/alertmanager"; 7 - 8 - src = fetchFromGitHub { 9 - owner = "prometheus"; 10 - repo = "alertmanager"; 11 - inherit rev; 12 - sha256 = "0g656rzal7m284mihqdrw23vhs7yr65ax19nvi70jl51wdallv15"; 13 - }; 14 - 15 - buildInputs = [ 16 - goPackages.protobuf 17 - goPackages.fsnotify.v0 18 - goPackages.httprouter 19 - goPackages.prometheus.client_golang 20 - goPackages.prometheus.log 21 - goPackages.pushover 22 - protobuf 23 - vim 24 - ]; 25 - 26 - buildFlagsArray = '' 27 - -ldflags= 28 - -X main.buildVersion ${rev} 29 - -X main.buildBranch master 30 - -X main.buildUser nix@nixpkgs 31 - -X main.buildDate 20150101-00:00:00 32 - -X main.goVersion ${lib.getVersion goPackages.go} 33 - ''; 34 - 35 - preBuild = '' 36 - ( 37 - cd "go/src/$goPackagePath" 38 - protoc --proto_path=./config \ 39 - --go_out=./config/generated/ \ 40 - ./config/config.proto 41 - cd web 42 - ${stdenv.shell} blob/embed-static.sh static templates \ 43 - | gofmt > blob/files.go 44 - ) 45 - ''; 46 - 47 - meta = with lib; { 48 - description = "Alerting dispather for the Prometheus monitoring system"; 49 - homepage = "https://github.com/prometheus/alertmanager"; 50 - license = licenses.asl20; 51 - maintainers = with maintainers; [ benley ]; 52 - platforms = platforms.unix; 53 - }; 54 - }
-27
pkgs/servers/monitoring/prometheus/cli/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-cli-${rev}"; 5 - rev = "0.3.0"; 6 - goPackagePath = "github.com/prometheus/prometheus_cli"; 7 - 8 - src = fetchFromGitHub { 9 - owner = "prometheus"; 10 - repo = "prometheus_cli"; 11 - inherit rev; 12 - sha256 = "1qxqrcbd0d4mrjrgqz882jh7069nn5gz1b84rq7d7z1f1dqhczxn"; 13 - }; 14 - 15 - buildInputs = [ 16 - goPackages.prometheus.client_model 17 - goPackages.prometheus.client_golang 18 - ]; 19 - 20 - meta = with lib; { 21 - description = "Command line tool for querying the Prometheus HTTP API"; 22 - homepage = https://github.com/prometheus/prometheus_cli; 23 - license = licenses.asl20; 24 - maintainers = with maintainers; [ benley ]; 25 - platforms = platforms.unix; 26 - }; 27 - }
-24
pkgs/servers/monitoring/prometheus/collectd_exporter/default.nix
··· 1 - { goPackages, lib, fetchFromGitHub }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-collectd-exporter-${rev}"; 5 - rev = "0.1.0"; 6 - goPackagePath = "github.com/prometheus/collectd_exporter"; 7 - 8 - src = fetchFromGitHub { 9 - owner = "prometheus"; 10 - repo = "collectd_exporter"; 11 - inherit rev; 12 - sha256 = "165zsdn0lffb6fvxz75szmm152a6wmia5skb96k1mv59qbmn9fi1"; 13 - }; 14 - 15 - buildInputs = [ goPackages.prometheus.client_golang ]; 16 - 17 - meta = with lib; { 18 - description = "Relay server for exporting metrics from collectd to Prometheus"; 19 - homepage = "https://github.com/prometheus/alertmanager"; 20 - license = licenses.asl20; 21 - maintainers = with maintainers; [ benley ]; 22 - platforms = platforms.unix; 23 - }; 24 - }
-49
pkgs/servers/monitoring/prometheus/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub, vim }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-${version}"; 5 - version = "0.15.1"; 6 - goPackagePath = "github.com/prometheus/prometheus"; 7 - rev = "64349aade284846cb194be184b1b180fca629a7c"; 8 - 9 - src = fetchFromGitHub { 10 - inherit rev; 11 - owner = "prometheus"; 12 - repo = "prometheus"; 13 - sha256 = "0gljpwnlip1fnmhbc96hji2rc56xncy97qccm7v1z5j1nhc5fam2"; 14 - }; 15 - 16 - buildInputs = with goPackages; [ 17 - consul 18 - dns 19 - fsnotify.v1 20 - go-zookeeper 21 - goleveldb 22 - httprouter 23 - logrus 24 - net 25 - prometheus.client_golang 26 - prometheus.log 27 - yaml-v2 28 - ]; 29 - 30 - # Metadata that gets embedded into the binary 31 - buildFlagsArray = let t = "${goPackagePath}/version"; in 32 - '' 33 - -ldflags= 34 - -X ${t}.Version=${version} 35 - -X ${t}.Revision=${builtins.substring 0 6 rev} 36 - -X ${t}.Branch=master 37 - -X ${t}.BuildUser=nix@nixpkgs 38 - -X ${t}.BuildDate=20150101-00:00:00 39 - -X ${t}.GoVersion=${lib.getVersion goPackages.go} 40 - ''; 41 - 42 - meta = with lib; { 43 - description = "Service monitoring system and time series database"; 44 - homepage = http://prometheus.io; 45 - license = licenses.asl20; 46 - maintainers = with maintainers; [ benley ]; 47 - platforms = platforms.unix; 48 - }; 49 - }
-23
pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub, }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-haproxy-exporter-0.4.0"; 5 - goPackagePath = "github.com/prometheus/haproxy_exporter"; 6 - 7 - src = fetchFromGitHub { 8 - owner = "prometheus"; 9 - repo = "haproxy_exporter"; 10 - rev = "6ee6d1df3e68ed73df37c9794332b2594e4da45d"; 11 - sha256 = "0lbwv6jsdfjd9ihiky3lq7d5rkxqjh7xfaziw8i3w34a38japlpr"; 12 - }; 13 - 14 - buildInputs = [ goPackages.prometheus.client_golang ]; 15 - 16 - meta = with lib; { 17 - description = "HAProxy Exporter for the Prometheus monitoring system"; 18 - homepage = https://github.com/prometheus/haproxy_exporter; 19 - license = licenses.asl20; 20 - maintainers = with maintainers; [ benley ]; 21 - platforms = platforms.unix; 22 - }; 23 - }
-28
pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-mesos-exporter-${rev}"; 5 - rev = "0.1.0"; 6 - goPackagePath = "github.com/prometheus/mesos_exporter"; 7 - 8 - src = fetchFromGitHub { 9 - inherit rev; 10 - owner = "prometheus"; 11 - repo = "mesos_exporter"; 12 - sha256 = "059az73j717gd960g4jigrxnvqrjh9jw1c324xpwaafa0bf10llm"; 13 - }; 14 - 15 - buildInputs = [ 16 - goPackages.mesos-stats 17 - goPackages.prometheus.client_golang 18 - goPackages.glog 19 - ]; 20 - 21 - meta = with lib; { 22 - description = "Export Mesos metrics to Prometheus"; 23 - homepage = https://github.com/prometheus/mesos_exporter; 24 - license = licenses.asl20; 25 - maintainers = with maintainers; [ benley ]; 26 - platforms = platforms.unix; 27 - }; 28 - }
-27
pkgs/servers/monitoring/prometheus/mysqld_exporter/default.nix
··· 1 - { goPackages, lib, fetchFromGitHub }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-mysqld-exporter-${rev}"; 5 - rev = "0.1.0"; 6 - goPackagePath = "github.com/prometheus/mysqld_exporter"; 7 - 8 - src = fetchFromGitHub { 9 - owner = "prometheus"; 10 - repo = "mysqld_exporter"; 11 - inherit rev; 12 - sha256 = "10xnyxyb6saz8pq3ijp424hxy59cvm1b5c9zcbw7ddzzkh1f6jd9"; 13 - }; 14 - 15 - buildInputs = with goPackages; [ 16 - mysql 17 - prometheus.client_golang 18 - ]; 19 - 20 - meta = with lib; { 21 - description = "Prometheus exporter for MySQL server metrics"; 22 - homepage = https://github.com/prometheus/mysqld_exporter; 23 - license = licenses.asl20; 24 - maintainers = with maintainers; [ benley ]; 25 - platforms = platforms.unix; 26 - }; 27 - }
-27
pkgs/servers/monitoring/prometheus/nginx_exporter/default.nix
··· 1 - { lib, goPackages, fetchFromGitHub }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-nginx-exporter-${version}"; 5 - version = "git-2015-06-01"; 6 - goPackagePath = "github.com/discordianfish/nginx_exporter"; 7 - 8 - src = fetchFromGitHub { 9 - owner = "discordianfish"; 10 - repo = "nginx_exporter"; 11 - rev = "2cf16441591f6b6e58a8c0439dcaf344057aea2b"; 12 - sha256 = "0p9j0bbr2lr734980x2p8d67lcify21glwc5k3i3j4ri4vadpxvc"; 13 - }; 14 - 15 - buildInputs = [ 16 - goPackages.prometheus.client_golang 17 - goPackages.prometheus.log 18 - ]; 19 - 20 - meta = with lib; { 21 - description = "Metrics relay from nginx stats to Prometheus"; 22 - homepage = https://github.com/discordianfish/nginx_exporter; 23 - license = licenses.asl20; 24 - maintainers = with maintainers; [ benley ]; 25 - platforms = platforms.unix; 26 - }; 27 - }
-33
pkgs/servers/monitoring/prometheus/node_exporter/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub }: 2 - 3 - with goPackages; 4 - 5 - buildGoPackage rec { 6 - name = "prometheus-node-exporter-${rev}"; 7 - rev = "0.10.0"; 8 - goPackagePath = "github.com/prometheus/node_exporter"; 9 - 10 - src = fetchFromGitHub { 11 - owner = "prometheus"; 12 - repo = "node_exporter"; 13 - inherit rev; 14 - sha256 = "0dmczav52v9vi0kxl8gd2s7x7c94g0vzazhyvlq1h3729is2nf0p"; 15 - }; 16 - 17 - buildInputs = [ 18 - go-runit 19 - ntp 20 - prometheus.client_golang 21 - prometheus.client_model 22 - prometheus.log 23 - protobuf 24 - ]; 25 - 26 - meta = with lib; { 27 - description = "Prometheus exporter for machine metrics"; 28 - homepage = https://github.com/prometheus/node_exporter; 29 - license = licenses.asl20; 30 - maintainers = with maintainers; [ benley ]; 31 - platforms = platforms.unix; 32 - }; 33 - }
-28
pkgs/servers/monitoring/prometheus/prom2json/default.nix
··· 1 - { goPackages, lib, fetchFromGitHub }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prom2json-${rev}"; 5 - rev = "0.1.0"; 6 - goPackagePath = "github.com/prometheus/prom2json"; 7 - 8 - src = fetchFromGitHub { 9 - owner = "prometheus"; 10 - repo = "prom2json"; 11 - inherit rev; 12 - sha256 = "0wwh3mz7z81fwh8n78sshvj46akcgjhxapjgfic5afc4nv926zdl"; 13 - }; 14 - 15 - buildInputs = with goPackages; [ 16 - golang_protobuf_extensions 17 - prometheus.client_golang 18 - protobuf 19 - ]; 20 - 21 - meta = with lib; { 22 - description = "A tool to scrape a Prometheus client and dump the result as JSON"; 23 - homepage = https://github.com/prometheus/prom2json; 24 - license = licenses.asl20; 25 - maintainers = with maintainers; [ benley ]; 26 - platforms = platforms.unix; 27 - }; 28 - }
-50
pkgs/servers/monitoring/prometheus/pushgateway/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub }: 2 - 3 - with goPackages; 4 - 5 - buildGoPackage rec { 6 - name = "prometheus-pushgateway-${rev}"; 7 - rev = "0.1.1"; 8 - goPackagePath = "github.com/prometheus/pushgateway"; 9 - 10 - src = fetchFromGitHub { 11 - inherit rev; 12 - owner = "prometheus"; 13 - repo = "pushgateway"; 14 - sha256 = "17q5z9msip46wh3vxcsq9lvvhbxg75akjjcr2b29zrky8bp2m230"; 15 - }; 16 - 17 - buildInputs = [ 18 - go-bindata 19 - protobuf 20 - httprouter 21 - golang_protobuf_extensions 22 - prometheus.client_golang 23 - ]; 24 - 25 - buildFlagsArray = '' 26 - -ldflags= 27 - -X main.buildVersion ${rev} 28 - -X main.buildRev ${rev} 29 - -X main.buildBranch master 30 - -X main.buildUser nix@nixpkgs 31 - -X main.buildDate 20150101-00:00:00 32 - -X main.goVersion ${lib.getVersion go} 33 - ''; 34 - 35 - preBuild = '' 36 - ( 37 - cd "go/src/$goPackagePath" 38 - go-bindata ./resources/ 39 - ) 40 - ''; 41 - 42 - meta = with lib; { 43 - description = 44 - "Allows ephemeral and batch jobs to expose metrics to Prometheus"; 45 - homepage = https://github.com/prometheus/pushgateway; 46 - license = licenses.asl20; 47 - maintainers = with maintainers; [ benley ]; 48 - platforms = platforms.unix; 49 - }; 50 - }
-27
pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix
··· 1 - { stdenv, lib, goPackages, fetchFromGitHub }: 2 - 3 - goPackages.buildGoPackage rec { 4 - name = "prometheus-statsd-bridge-${version}"; 5 - version = "0.1.0"; 6 - goPackagePath = "github.com/prometheus/statsd_bridge"; 7 - 8 - src = fetchFromGitHub { 9 - rev = version; 10 - owner = "prometheus"; 11 - repo = "statsd_bridge"; 12 - sha256 = "1fndpmd1k0a3ar6f7zpisijzc60f2dng5399nld1i1cbmd8jybjr"; 13 - }; 14 - 15 - buildInputs = with goPackages; [ 16 - fsnotify.v0 17 - prometheus.client_golang 18 - ]; 19 - 20 - meta = with lib; { 21 - description = "Receives StatsD-style metrics and exports them to Prometheus"; 22 - homepage = https://github.com/prometheus/statsd_bridge; 23 - license = licenses.asl20; 24 - maintainers = with maintainers; [ benley ]; 25 - platforms = platforms.unix; 26 - }; 27 - }
+12 -22
pkgs/top-level/all-packages.nix
··· 9196 9196 9197 9197 postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; 9198 9198 9199 - prom2json = callPackage ../servers/monitoring/prometheus/prom2json { }; 9200 - prometheus = callPackage ../servers/monitoring/prometheus { }; 9201 - prometheus-alertmanager = 9202 - callPackage ../servers/monitoring/prometheus/alertmanager { }; 9203 - prometheus-cli = 9204 - callPackage ../servers/monitoring/prometheus/cli { }; 9205 - prometheus-collectd-exporter = 9206 - callPackage ../servers/monitoring/prometheus/collectd_exporter { }; 9207 - prometheus-haproxy-exporter = 9208 - callPackage ../servers/monitoring/prometheus/haproxy_exporter { }; 9209 - prometheus-mesos-exporter = 9210 - callPackage ../servers/monitoring/prometheus/mesos_exporter { }; 9211 - prometheus-mysqld-exporter = 9212 - callPackage ../servers/monitoring/prometheus/mysqld_exporter { }; 9213 - prometheus-nginx-exporter = 9214 - callPackage ../servers/monitoring/prometheus/nginx_exporter { }; 9215 - prometheus-node-exporter = 9216 - callPackage ../servers/monitoring/prometheus/node_exporter { }; 9217 - prometheus-pushgateway = 9218 - callPackage ../servers/monitoring/prometheus/pushgateway { }; 9219 - prometheus-statsd-bridge = 9220 - callPackage ../servers/monitoring/prometheus/statsd_bridge { }; 9199 + prom2json = goPackages.prometheus.prom2json.bin; 9200 + prometheus = goPackages.prometheus.prometheus.bin; 9201 + prometheus-alertmanager = goPackages.prometheus.alertmanager.bin; 9202 + prometheus-cli = goPackages.prometheus.cli.bin; 9203 + prometheus-collectd-exporter = goPackages.prometheus.collectd-exporter.bin; 9204 + prometheus-haproxy-exporter = goPackages.prometheus.haproxy-exporter.bin; 9205 + prometheus-mesos-exporter = goPackages.prometheus.mesos-exporter.bin; 9206 + prometheus-mysqld-exporter = goPackages.prometheus.mysqld-exporter.bin; 9207 + prometheus-nginx-exporter = goPackages.prometheus.nginx-exporter.bin; 9208 + prometheus-node-exporter = goPackages.prometheus.node-exporter.bin; 9209 + prometheus-pushgateway = goPackages.prometheus.pushgateway.bin; 9210 + prometheus-statsd-bridge = goPackages.prometheus.statsd-bridge.bin; 9221 9211 9222 9212 psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; 9223 9213
+289 -4
pkgs/top-level/go-packages.nix
··· 384 384 385 385 consul = buildFromGitHub rec { 386 386 rev = "v0.5.2"; 387 - date = rev; 388 387 owner = "hashicorp"; 389 388 repo = "consul"; 390 389 sha256 = "0p3lc1p346a5ipvkf15l94gn1ml3m7zz6bx0viark3hsv0a7iij7"; ··· 1591 1590 1592 1591 logrus = buildFromGitHub rec { 1593 1592 rev = "v0.8.6"; 1594 - date = rev; # Trick buildFromGitHub into keeping the version number. 1595 1593 owner = "Sirupsen"; 1596 1594 repo = "logrus"; 1597 1595 sha256 = "1v2qcjy6w24jgdm7kk0f8lqpa25qxzll2x6ycqwidd3pzjhrkifa"; ··· 1956 1954 propagatedBuildInputs = [ kr.text ]; 1957 1955 }; 1958 1956 1959 - prometheus.client_golang = buildFromGitHub rec { 1957 + prometheus.alertmanager = buildGoPackage rec { 1958 + name = "prometheus-alertmanager-${rev}"; 1959 + rev = "0.0.4"; 1960 + goPackagePath = "github.com/prometheus/alertmanager"; 1961 + 1962 + src = fetchFromGitHub { 1963 + owner = "prometheus"; 1964 + repo = "alertmanager"; 1965 + inherit rev; 1966 + sha256 = "0g656rzal7m284mihqdrw23vhs7yr65ax19nvi70jl51wdallv15"; 1967 + }; 1968 + 1969 + buildInputs = [ 1970 + fsnotify.v0 1971 + httprouter 1972 + prometheus.client_golang 1973 + prometheus.log 1974 + pushover 1975 + ]; 1976 + 1977 + buildFlagsArray = '' 1978 + -ldflags= 1979 + -X main.buildVersion=${rev} 1980 + -X main.buildBranch=master 1981 + -X main.buildUser=nix@nixpkgs 1982 + -X main.buildDate=20150101-00:00:00 1983 + -X main.goVersion=${stdenv.lib.getVersion go} 1984 + ''; 1985 + 1986 + meta = with stdenv.lib; { 1987 + description = "Alert dispatcher for the Prometheus monitoring system"; 1988 + homepage = https://github.com/prometheus/alertmanager; 1989 + license = licenses.asl20; 1990 + maintainers = with maintainers; [ benley ]; 1991 + platforms = platforms.unix; 1992 + }; 1993 + }; 1994 + 1995 + prometheus.client_golang = buildFromGitHub { 1960 1996 rev = "0.7.0"; 1961 - date = rev; # Trick buildFromGitHub into keeping the version number 1962 1997 owner = "prometheus"; 1963 1998 repo = "client_golang"; 1964 1999 sha256 = "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"; ··· 1972 2007 ]; 1973 2008 }; 1974 2009 2010 + prometheus.cli = buildFromGitHub { 2011 + rev = "0.3.0"; 2012 + owner = "prometheus"; 2013 + repo = "prometheus_cli"; 2014 + sha256 = "1qxqrcbd0d4mrjrgqz882jh7069nn5gz1b84rq7d7z1f1dqhczxn"; 2015 + 2016 + buildInputs = [ 2017 + prometheus.client_model 2018 + prometheus.client_golang 2019 + ]; 2020 + 2021 + meta = with stdenv.lib; { 2022 + description = "Command line tool for querying the Prometheus HTTP API"; 2023 + homepage = https://github.com/prometheus/prometheus_cli; 2024 + license = licenses.asl20; 2025 + maintainers = with maintainers; [ benley ]; 2026 + platforms = platforms.unix; 2027 + }; 2028 + }; 2029 + 1975 2030 prometheus.client_model = buildFromGitHub { 1976 2031 rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6"; 1977 2032 date = "2015-02-12"; ··· 1981 2036 buildInputs = [ protobuf ]; 1982 2037 }; 1983 2038 2039 + prometheus.collectd-exporter = buildFromGitHub { 2040 + rev = "0.1.0"; 2041 + owner = "prometheus"; 2042 + repo = "collectd_exporter"; 2043 + sha256 = "165zsdn0lffb6fvxz75szmm152a6wmia5skb96k1mv59qbmn9fi1"; 2044 + buildInputs = [ prometheus.client_golang ]; 2045 + meta = with stdenv.lib; { 2046 + description = "Relay server for exporting metrics from collectd to Prometheus"; 2047 + homepage = https://github.com/prometheus/alertmanager; 2048 + license = licenses.asl20; 2049 + maintainers = with maintainers; [ benley ]; 2050 + platforms = platforms.unix; 2051 + }; 2052 + }; 2053 + 2054 + prometheus.haproxy-exporter = buildFromGitHub { 2055 + rev = "0.4.0"; 2056 + owner = "prometheus"; 2057 + repo = "haproxy_exporter"; 2058 + sha256 = "0cwls1d4hmzjkwc50mjkxjb4sa4q6yq581wlc5sg9mdvl6g91zxr"; 2059 + buildInputs = [ prometheus.client_golang ]; 2060 + meta = with stdenv.lib; { 2061 + description = "HAProxy Exporter for the Prometheus monitoring system"; 2062 + homepage = https://github.com/prometheus/haproxy_exporter; 2063 + license = licenses.asl20; 2064 + maintainers = with maintainers; [ benley ]; 2065 + platforms = platforms.unix; 2066 + }; 2067 + }; 2068 + 1984 2069 prometheus.log = buildFromGitHub { 1985 2070 rev = "439e5db48fbb50ebbaf2c816030473a62f505f55"; 1986 2071 date = "2015-05-29"; ··· 1990 2075 propagatedBuildInputs = [ logrus ]; 1991 2076 }; 1992 2077 2078 + prometheus.mesos-exporter = buildFromGitHub { 2079 + rev = "0.1.0"; 2080 + owner = "prometheus"; 2081 + repo = "mesos_exporter"; 2082 + sha256 = "059az73j717gd960g4jigrxnvqrjh9jw1c324xpwaafa0bf10llm"; 2083 + buildInputs = [ mesos-stats prometheus.client_golang glog ]; 2084 + meta = with stdenv.lib; { 2085 + description = "Export Mesos metrics to Prometheus"; 2086 + homepage = https://github.com/prometheus/mesos_exporter; 2087 + license = licenses.asl20; 2088 + maintainers = with maintainers; [ benley ]; 2089 + platforms = platforms.unix; 2090 + }; 2091 + }; 2092 + 2093 + prometheus.mysqld-exporter = buildFromGitHub { 2094 + rev = "0.1.0"; 2095 + owner = "prometheus"; 2096 + repo = "mysqld_exporter"; 2097 + sha256 = "10xnyxyb6saz8pq3ijp424hxy59cvm1b5c9zcbw7ddzzkh1f6jd9"; 2098 + buildInputs = [ mysql prometheus.client_golang ]; 2099 + meta = with stdenv.lib; { 2100 + description = "Prometheus exporter for MySQL server metrics"; 2101 + homepage = https://github.com/prometheus/mysqld_exporter; 2102 + license = licenses.asl20; 2103 + maintainers = with maintainers; [ benley ]; 2104 + platforms = platforms.unix; 2105 + }; 2106 + }; 2107 + 2108 + prometheus.nginx-exporter = buildFromGitHub { 2109 + rev = "2cf16441591f6b6e58a8c0439dcaf344057aea2b"; 2110 + date = "2015-06-01"; 2111 + owner = "discordianfish"; 2112 + repo = "nginx_exporter"; 2113 + sha256 = "0p9j0bbr2lr734980x2p8d67lcify21glwc5k3i3j4ri4vadpxvc"; 2114 + buildInputs = [ prometheus.client_golang prometheus.log ]; 2115 + meta = with stdenv.lib; { 2116 + description = "Metrics relay from nginx stats to Prometheus"; 2117 + homepage = https://github.com/discordianfish/nginx_exporter; 2118 + license = licenses.asl20; 2119 + maintainers = with maintainers; [ benley ]; 2120 + platforms = platforms.unix; 2121 + }; 2122 + }; 2123 + 2124 + prometheus.node-exporter = buildFromGitHub { 2125 + rev = "0.10.0"; 2126 + owner = "prometheus"; 2127 + repo = "node_exporter"; 2128 + sha256 = "0dmczav52v9vi0kxl8gd2s7x7c94g0vzazhyvlq1h3729is2nf0p"; 2129 + 2130 + buildInputs = [ 2131 + go-runit 2132 + ntp 2133 + prometheus.client_golang 2134 + prometheus.client_model 2135 + prometheus.log 2136 + protobuf 2137 + ]; 2138 + 2139 + meta = with stdenv.lib; { 2140 + description = "Prometheus exporter for machine metrics"; 2141 + homepage = https://github.com/prometheus/node_exporter; 2142 + license = licenses.asl20; 2143 + maintainers = with maintainers; [ benley ]; 2144 + platforms = platforms.unix; 2145 + }; 2146 + }; 2147 + 1993 2148 prometheus.procfs = buildFromGitHub { 1994 2149 rev = "c91d8eefde16bd047416409eb56353ea84a186e4"; 1995 2150 date = "2015-06-16"; 1996 2151 owner = "prometheus"; 1997 2152 repo = "procfs"; 1998 2153 sha256 = "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"; 2154 + }; 2155 + 2156 + prometheus.prom2json = buildFromGitHub { 2157 + rev = "0.1.0"; 2158 + owner = "prometheus"; 2159 + repo = "prom2json"; 2160 + sha256 = "0wwh3mz7z81fwh8n78sshvj46akcgjhxapjgfic5afc4nv926zdl"; 2161 + 2162 + buildInputs = [ 2163 + golang_protobuf_extensions 2164 + prometheus.client_golang 2165 + protobuf 2166 + ]; 2167 + 2168 + meta = with stdenv.lib; { 2169 + description = "Tool to scrape a Prometheus client and dump the result as JSON"; 2170 + homepage = https://github.com/prometheus/prom2json; 2171 + license = licenses.asl20; 2172 + maintainers = with maintainers; [ benley ]; 2173 + platforms = platforms.unix; 2174 + }; 2175 + }; 2176 + 2177 + prometheus.prometheus = buildGoPackage rec { 2178 + name = "prometheus-${version}"; 2179 + version = "0.15.1"; 2180 + goPackagePath = "github.com/prometheus/prometheus"; 2181 + rev = "64349aade284846cb194be184b1b180fca629a7c"; 2182 + 2183 + src = fetchFromGitHub { 2184 + inherit rev; 2185 + owner = "prometheus"; 2186 + repo = "prometheus"; 2187 + sha256 = "0gljpwnlip1fnmhbc96hji2rc56xncy97qccm7v1z5j1nhc5fam2"; 2188 + }; 2189 + 2190 + buildInputs = [ 2191 + consul 2192 + dns 2193 + fsnotify.v1 2194 + go-zookeeper 2195 + goleveldb 2196 + httprouter 2197 + logrus 2198 + net 2199 + prometheus.client_golang 2200 + prometheus.log 2201 + yaml-v2 2202 + ]; 2203 + 2204 + preInstall = '' 2205 + mkdir -p "$bin/share/doc/prometheus" "$bin/etc/prometheus" 2206 + cp -a $src/documentation/* $bin/share/doc/prometheus 2207 + cp -a $src/console_libraries $src/consoles $bin/etc/prometheus 2208 + ''; 2209 + 2210 + # Metadata that gets embedded into the binary 2211 + buildFlagsArray = let t = "${goPackagePath}/version"; in 2212 + '' 2213 + -ldflags= 2214 + -X ${t}.Version=${version} 2215 + -X ${t}.Revision=${builtins.substring 0 6 rev} 2216 + -X ${t}.Branch=master 2217 + -X ${t}.BuildUser=nix@nixpkgs 2218 + -X ${t}.BuildDate=20150101-00:00:00 2219 + -X ${t}.GoVersion=${stdenv.lib.getVersion go} 2220 + ''; 2221 + 2222 + meta = with stdenv.lib; { 2223 + description = "Service monitoring system and time series database"; 2224 + homepage = http://prometheus.io; 2225 + license = licenses.asl20; 2226 + maintainers = with maintainers; [ benley ]; 2227 + platforms = platforms.unix; 2228 + }; 2229 + }; 2230 + 2231 + prometheus.pushgateway = buildFromGitHub rec { 2232 + rev = "0.1.1"; 2233 + owner = "prometheus"; 2234 + repo = "pushgateway"; 2235 + sha256 = "17q5z9msip46wh3vxcsq9lvvhbxg75akjjcr2b29zrky8bp2m230"; 2236 + 2237 + buildInputs = [ 2238 + protobuf 2239 + httprouter 2240 + golang_protobuf_extensions 2241 + prometheus.client_golang 2242 + ]; 2243 + 2244 + nativeBuildInputs = [ go-bindata.bin ]; 2245 + preBuild = '' 2246 + ( 2247 + cd "go/src/$goPackagePath" 2248 + go-bindata ./resources/ 2249 + ) 2250 + ''; 2251 + 2252 + buildFlagsArray = '' 2253 + -ldflags= 2254 + -X main.buildVersion=${rev} 2255 + -X main.buildRev=${rev} 2256 + -X main.buildBranch=master 2257 + -X main.buildUser=nix@nixpkgs 2258 + -X main.buildDate=20150101-00:00:00 2259 + -X main.goVersion=${stdenv.lib.getVersion go} 2260 + ''; 2261 + 2262 + meta = with stdenv.lib; { 2263 + description = "Allows ephemeral and batch jobs to expose metrics to Prometheus"; 2264 + homepage = https://github.com/prometheus/pushgateway; 2265 + license = licenses.asl20; 2266 + maintainers = with maintainers; [ benley ]; 2267 + platforms = platforms.unix; 2268 + }; 2269 + }; 2270 + 2271 + prometheus.statsd-bridge = buildFromGitHub { 2272 + rev = "0.1.0"; 2273 + owner = "prometheus"; 2274 + repo = "statsd_bridge"; 2275 + sha256 = "1fndpmd1k0a3ar6f7zpisijzc60f2dng5399nld1i1cbmd8jybjr"; 2276 + buildInputs = [ fsnotify.v0 prometheus.client_golang ]; 2277 + meta = with stdenv.lib; { 2278 + description = "Receives StatsD-style metrics and exports them to Prometheus"; 2279 + homepage = https://github.com/prometheus/statsd_bridge; 2280 + license = licenses.asl20; 2281 + maintainers = with maintainers; [ benley ]; 2282 + platforms = platforms.unix; 2283 + }; 1999 2284 }; 2000 2285 2001 2286 pty = buildFromGitHub {