Add riemann-tools to nixpkgs

Adds package via bundlerEnv and service for Riemann health.

authored by Robert Pitts and Trenton Strong and committed by Robert Pitts bbb36ea0 a612e397

+663
+2
nixos/modules/misc/ids.nix
··· 221 221 skydns = 197; 222 222 ripple-rest = 198; 223 223 nix-serve = 199; 224 + riemanntools = 200; 224 225 225 226 # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! 226 227 ··· 420 421 #skydns = 197; #unused 421 422 #ripple-rest = 198; #unused 422 423 #nix-serve = 199; #unused 424 + riemanntools = 200; 423 425 424 426 # When adding a gid, make sure it doesn't match an existing 425 427 # uid. Users and groups with the same name should have equal
+1
nixos/modules/module-list.nix
··· 233 233 ./services/monitoring/nagios.nix 234 234 ./services/monitoring/riemann.nix 235 235 ./services/monitoring/riemann-dash.nix 236 + ./services/monitoring/riemann-tools.nix 236 237 ./services/monitoring/scollector.nix 237 238 ./services/monitoring/smartd.nix 238 239 ./services/monitoring/statsd.nix
+62
nixos/modules/services/monitoring/riemann-tools.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with pkgs; 4 + with lib; 5 + 6 + let 7 + 8 + cfg = config.services.riemann-tools; 9 + 10 + riemannHost = "${cfg.riemannHost}"; 11 + 12 + healthLauncher = writeScriptBin "riemann-health" '' 13 + #!/bin/sh 14 + exec ${pkgs.riemann-tools}/bin/riemann-health --host ${riemannHost} 15 + ''; 16 + 17 + 18 + in { 19 + 20 + options = { 21 + 22 + services.riemann-tools = { 23 + enableHealth = mkOption { 24 + type = types.bool; 25 + default = false; 26 + description = '' 27 + Enable the riemann-health daemon. 28 + ''; 29 + }; 30 + riemannHost = mkOption { 31 + type = types.str; 32 + default = "127.0.0.1"; 33 + description = '' 34 + Address of the host riemann node. Defaults to localhost. 35 + ''; 36 + }; 37 + }; 38 + 39 + }; 40 + 41 + config = mkIf cfg.enableHealth { 42 + 43 + users.extraGroups.riemanntools.gid = config.ids.gids.riemanntools; 44 + 45 + users.extraUsers.riemanntools = { 46 + description = "riemann-tools daemon user"; 47 + uid = config.ids.uids.riemanntools; 48 + group = "riemanntools"; 49 + }; 50 + 51 + systemd.services.riemann-health = { 52 + wantedBy = [ "multi-user.target" ]; 53 + serviceConfig = { 54 + User = "riemanntools"; 55 + ExecStart = "${healthLauncher}/bin/riemann-health"; 56 + PermissionsStartOnly = true; 57 + }; 58 + }; 59 + 60 + }; 61 + 62 + }
+3
pkgs/tools/misc/riemann-tools/Gemfile
··· 1 + source 'https://rubygems.org' 2 + 3 + gem "riemann-tools", "0.2.6"
+142
pkgs/tools/misc/riemann-tools/Gemfile.lock
··· 1 + GEM 2 + remote: https://rubygems.org/ 3 + specs: 4 + CFPropertyList (2.3.1) 5 + beefcake (1.1.0) 6 + builder (3.2.2) 7 + excon (0.45.3) 8 + faraday (0.9.1) 9 + multipart-post (>= 1.2, < 3) 10 + fission (0.5.0) 11 + CFPropertyList (~> 2.2) 12 + fog (1.31.0) 13 + fog-atmos 14 + fog-aws (~> 0.0) 15 + fog-brightbox (~> 0.4) 16 + fog-core (~> 1.30) 17 + fog-ecloud 18 + fog-google (>= 0.0.2) 19 + fog-json 20 + fog-local 21 + fog-powerdns (>= 0.1.1) 22 + fog-profitbricks 23 + fog-radosgw (>= 0.0.2) 24 + fog-riakcs 25 + fog-sakuracloud (>= 0.0.4) 26 + fog-serverlove 27 + fog-softlayer 28 + fog-storm_on_demand 29 + fog-terremark 30 + fog-vmfusion 31 + fog-voxel 32 + fog-xml (~> 0.1.1) 33 + ipaddress (~> 0.5) 34 + nokogiri (~> 1.5, >= 1.5.11) 35 + fog-atmos (0.1.0) 36 + fog-core 37 + fog-xml 38 + fog-aws (0.6.0) 39 + fog-core (~> 1.27) 40 + fog-json (~> 1.0) 41 + fog-xml (~> 0.1) 42 + ipaddress (~> 0.8) 43 + fog-brightbox (0.7.2) 44 + fog-core (~> 1.22) 45 + fog-json 46 + inflecto (~> 0.0.2) 47 + fog-core (1.31.1) 48 + builder 49 + excon (~> 0.45) 50 + formatador (~> 0.2) 51 + mime-types 52 + net-scp (~> 1.1) 53 + net-ssh (>= 2.1.3) 54 + fog-ecloud (0.3.0) 55 + fog-core 56 + fog-xml 57 + fog-google (0.0.6) 58 + fog-core 59 + fog-json 60 + fog-xml 61 + fog-json (1.0.2) 62 + fog-core (~> 1.0) 63 + multi_json (~> 1.10) 64 + fog-local (0.2.1) 65 + fog-core (~> 1.27) 66 + fog-powerdns (0.1.1) 67 + fog-core (~> 1.27) 68 + fog-json (~> 1.0) 69 + fog-xml (~> 0.1) 70 + fog-profitbricks (0.0.3) 71 + fog-core 72 + fog-xml 73 + nokogiri 74 + fog-radosgw (0.0.4) 75 + fog-core (>= 1.21.0) 76 + fog-json 77 + fog-xml (>= 0.0.1) 78 + fog-riakcs (0.1.0) 79 + fog-core 80 + fog-json 81 + fog-xml 82 + fog-sakuracloud (1.0.1) 83 + fog-core 84 + fog-json 85 + fog-serverlove (0.1.2) 86 + fog-core 87 + fog-json 88 + fog-softlayer (0.4.7) 89 + fog-core 90 + fog-json 91 + fog-storm_on_demand (0.1.1) 92 + fog-core 93 + fog-json 94 + fog-terremark (0.1.0) 95 + fog-core 96 + fog-xml 97 + fog-vmfusion (0.1.0) 98 + fission 99 + fog-core 100 + fog-voxel (0.1.0) 101 + fog-core 102 + fog-xml 103 + fog-xml (0.1.2) 104 + fog-core 105 + nokogiri (~> 1.5, >= 1.5.11) 106 + formatador (0.2.5) 107 + inflecto (0.0.2) 108 + ipaddress (0.8.0) 109 + mime-types (2.6.1) 110 + mini_portile (0.6.2) 111 + mtrc (0.0.4) 112 + multi_json (1.11.1) 113 + multipart-post (2.0.0) 114 + munin-ruby (0.2.5) 115 + net-scp (1.2.1) 116 + net-ssh (>= 2.6.5) 117 + net-ssh (2.9.2) 118 + nokogiri (1.6.6.2) 119 + mini_portile (~> 0.6.0) 120 + riemann-client (0.2.5) 121 + beefcake (>= 0.3.5) 122 + mtrc (>= 0.0.4) 123 + trollop (>= 1.16.2) 124 + riemann-tools (0.2.6) 125 + faraday (>= 0.8.5) 126 + fog (>= 1.4.0) 127 + munin-ruby (>= 0.2.1) 128 + nokogiri (>= 1.5.6) 129 + riemann-client (>= 0.2.2) 130 + trollop (>= 1.16.2) 131 + yajl-ruby (>= 1.1.0) 132 + trollop (2.1.2) 133 + yajl-ruby (1.2.1) 134 + 135 + PLATFORMS 136 + ruby 137 + 138 + DEPENDENCIES 139 + riemann-tools (= 0.2.6) 140 + 141 + BUNDLED WITH 142 + 1.10.2
+8
pkgs/tools/misc/riemann-tools/default.nix
··· 1 + { bundlerEnv }: 2 + 3 + bundlerEnv { 4 + name = "riemann-tools-0.2.6"; 5 + gemfile = ./Gemfile; 6 + lockfile = ./Gemfile.lock; 7 + gemset = ./gemset.nix; 8 + }
+444
pkgs/tools/misc/riemann-tools/gemset.nix
··· 1 + { 2 + "CFPropertyList" = { 3 + version = "2.3.1"; 4 + source = { 5 + type = "gem"; 6 + sha256 = "1wnk3gxnhfafbhgp0ic7qhzlx3lhv04v8nws2s31ii5s8135hs6k"; 7 + }; 8 + }; 9 + "beefcake" = { 10 + version = "1.1.0"; 11 + source = { 12 + type = "gem"; 13 + sha256 = "009gzy9jp81lsnxnwisinhc58cd0qljdiipj2701lzzrha5d826z"; 14 + }; 15 + }; 16 + "builder" = { 17 + version = "3.2.2"; 18 + source = { 19 + type = "gem"; 20 + sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; 21 + }; 22 + }; 23 + "excon" = { 24 + version = "0.45.3"; 25 + source = { 26 + type = "gem"; 27 + sha256 = "183kfxfjjlc97w4rxkrxjw3kis4lxm65vppmvl4bkblvlw4nq94j"; 28 + }; 29 + }; 30 + "faraday" = { 31 + version = "0.9.1"; 32 + source = { 33 + type = "gem"; 34 + sha256 = "1h33znnfzxpscgpq28i9fcqijd61h61zgs3gabpdgqfa1043axsn"; 35 + }; 36 + dependencies = [ 37 + "multipart-post" 38 + ]; 39 + }; 40 + "fission" = { 41 + version = "0.5.0"; 42 + source = { 43 + type = "gem"; 44 + sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh"; 45 + }; 46 + dependencies = [ 47 + "CFPropertyList" 48 + ]; 49 + }; 50 + "fog" = { 51 + version = "1.31.0"; 52 + source = { 53 + type = "gem"; 54 + sha256 = "0xr8xyrrkljm2hxi420x4qr5v6wqcj8d63v0qy1g6rkb3b1yhl9i"; 55 + }; 56 + dependencies = [ 57 + "fog-atmos" 58 + "fog-aws" 59 + "fog-brightbox" 60 + "fog-core" 61 + "fog-ecloud" 62 + "fog-google" 63 + "fog-json" 64 + "fog-local" 65 + "fog-powerdns" 66 + "fog-profitbricks" 67 + "fog-radosgw" 68 + "fog-riakcs" 69 + "fog-sakuracloud" 70 + "fog-serverlove" 71 + "fog-softlayer" 72 + "fog-storm_on_demand" 73 + "fog-terremark" 74 + "fog-vmfusion" 75 + "fog-voxel" 76 + "fog-xml" 77 + "ipaddress" 78 + "nokogiri" 79 + ]; 80 + }; 81 + "fog-atmos" = { 82 + version = "0.1.0"; 83 + source = { 84 + type = "gem"; 85 + sha256 = "1aaxgnw9zy96gsh4h73kszypc32sx497s6bslvhfqh32q9d1y8c9"; 86 + }; 87 + dependencies = [ 88 + "fog-core" 89 + "fog-xml" 90 + ]; 91 + }; 92 + "fog-aws" = { 93 + version = "0.6.0"; 94 + source = { 95 + type = "gem"; 96 + sha256 = "1m79s5ha6qq60pxqqxr9qs9fg8fwaz79sfxckidyhxdydcsjwx6z"; 97 + }; 98 + dependencies = [ 99 + "fog-core" 100 + "fog-json" 101 + "fog-xml" 102 + "ipaddress" 103 + ]; 104 + }; 105 + "fog-brightbox" = { 106 + version = "0.7.2"; 107 + source = { 108 + type = "gem"; 109 + sha256 = "0636sqaf2w1rh4i2hxfgs24374l4ai8dgch8a7nycqhvjk2dm0aq"; 110 + }; 111 + dependencies = [ 112 + "fog-core" 113 + "fog-json" 114 + "inflecto" 115 + ]; 116 + }; 117 + "fog-core" = { 118 + version = "1.31.1"; 119 + source = { 120 + type = "gem"; 121 + sha256 = "1bcsy4cq7vyjmdf3h2v7q6hfj64v6phn0rfvwgj5wfza7yaxnhk7"; 122 + }; 123 + dependencies = [ 124 + "builder" 125 + "excon" 126 + "formatador" 127 + "mime-types" 128 + "net-scp" 129 + "net-ssh" 130 + ]; 131 + }; 132 + "fog-ecloud" = { 133 + version = "0.3.0"; 134 + source = { 135 + type = "gem"; 136 + sha256 = "18rb4qjad9xwwqvvpj8r2h0hi9svy71pm4d3fc28cdcnfarmdi06"; 137 + }; 138 + dependencies = [ 139 + "fog-core" 140 + "fog-xml" 141 + ]; 142 + }; 143 + "fog-google" = { 144 + version = "0.0.6"; 145 + source = { 146 + type = "gem"; 147 + sha256 = "1g3ykk239nxpdsr5anhprkp8vzk106gi4q6aqjh4z8q4bii0dflm"; 148 + }; 149 + dependencies = [ 150 + "fog-core" 151 + "fog-json" 152 + "fog-xml" 153 + ]; 154 + }; 155 + "fog-json" = { 156 + version = "1.0.2"; 157 + source = { 158 + type = "gem"; 159 + sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r"; 160 + }; 161 + dependencies = [ 162 + "fog-core" 163 + "multi_json" 164 + ]; 165 + }; 166 + "fog-local" = { 167 + version = "0.2.1"; 168 + source = { 169 + type = "gem"; 170 + sha256 = "0i5hxwzmc2ag3z9nlligsaf679kp2pz39cd8n2s9cmxaamnlh2s3"; 171 + }; 172 + dependencies = [ 173 + "fog-core" 174 + ]; 175 + }; 176 + "fog-powerdns" = { 177 + version = "0.1.1"; 178 + source = { 179 + type = "gem"; 180 + sha256 = "08zavzwfkk344gz83phz4sy9nsjznsdjsmn1ifp6ja17bvydlhh7"; 181 + }; 182 + dependencies = [ 183 + "fog-core" 184 + "fog-json" 185 + "fog-xml" 186 + ]; 187 + }; 188 + "fog-profitbricks" = { 189 + version = "0.0.3"; 190 + source = { 191 + type = "gem"; 192 + sha256 = "01a3ylfkjkyagf4b4xg9x2v20pzapr3ivn9ydd92v402bjsm1nmr"; 193 + }; 194 + dependencies = [ 195 + "fog-core" 196 + "fog-xml" 197 + "nokogiri" 198 + ]; 199 + }; 200 + "fog-radosgw" = { 201 + version = "0.0.4"; 202 + source = { 203 + type = "gem"; 204 + sha256 = "1pxbvmr4dsqx4x2klwnciyhki4r5ryr9y0hi6xmm3n6fdv4ii7k3"; 205 + }; 206 + dependencies = [ 207 + "fog-core" 208 + "fog-json" 209 + "fog-xml" 210 + ]; 211 + }; 212 + "fog-riakcs" = { 213 + version = "0.1.0"; 214 + source = { 215 + type = "gem"; 216 + sha256 = "1nbxc4dky3agfwrmgm1aqmi59p6vnvfnfbhhg7xpg4c2cf41whxm"; 217 + }; 218 + dependencies = [ 219 + "fog-core" 220 + "fog-json" 221 + "fog-xml" 222 + ]; 223 + }; 224 + "fog-sakuracloud" = { 225 + version = "1.0.1"; 226 + source = { 227 + type = "gem"; 228 + sha256 = "1s16b48kh7y03hjv74ccmlfwhqqq7j7m4k6cywrgbyip8n3258n8"; 229 + }; 230 + dependencies = [ 231 + "fog-core" 232 + "fog-json" 233 + ]; 234 + }; 235 + "fog-serverlove" = { 236 + version = "0.1.2"; 237 + source = { 238 + type = "gem"; 239 + sha256 = "0hxgmwzygrw25rbsy05i6nzsyr0xl7xj5j2sjpkb9n9wli5sagci"; 240 + }; 241 + dependencies = [ 242 + "fog-core" 243 + "fog-json" 244 + ]; 245 + }; 246 + "fog-softlayer" = { 247 + version = "0.4.7"; 248 + source = { 249 + type = "gem"; 250 + sha256 = "0fgfbhqnyp8ywymvflflhvbns54d1432x57pgpnfy8k1cxvhv9b8"; 251 + }; 252 + dependencies = [ 253 + "fog-core" 254 + "fog-json" 255 + ]; 256 + }; 257 + "fog-storm_on_demand" = { 258 + version = "0.1.1"; 259 + source = { 260 + type = "gem"; 261 + sha256 = "0fif1x8ci095b2yyilf65n7x6iyvn448azrsnmwsdkriy8vxxv3y"; 262 + }; 263 + dependencies = [ 264 + "fog-core" 265 + "fog-json" 266 + ]; 267 + }; 268 + "fog-terremark" = { 269 + version = "0.1.0"; 270 + source = { 271 + type = "gem"; 272 + sha256 = "01lfkh9jppj0iknlklmwyb7ym3bfhkq58m3absb6rf5a5mcwi3lf"; 273 + }; 274 + dependencies = [ 275 + "fog-core" 276 + "fog-xml" 277 + ]; 278 + }; 279 + "fog-vmfusion" = { 280 + version = "0.1.0"; 281 + source = { 282 + type = "gem"; 283 + sha256 = "0g0l0k9ylxk1h9pzqr6h2ba98fl47lpp3j19lqv4jxw0iw1rqxn4"; 284 + }; 285 + dependencies = [ 286 + "fission" 287 + "fog-core" 288 + ]; 289 + }; 290 + "fog-voxel" = { 291 + version = "0.1.0"; 292 + source = { 293 + type = "gem"; 294 + sha256 = "10skdnj59yf4jpvq769njjrvh2l0wzaa7liva8n78qq003mvmfgx"; 295 + }; 296 + dependencies = [ 297 + "fog-core" 298 + "fog-xml" 299 + ]; 300 + }; 301 + "fog-xml" = { 302 + version = "0.1.2"; 303 + source = { 304 + type = "gem"; 305 + sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa"; 306 + }; 307 + dependencies = [ 308 + "fog-core" 309 + "nokogiri" 310 + ]; 311 + }; 312 + "formatador" = { 313 + version = "0.2.5"; 314 + source = { 315 + type = "gem"; 316 + sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; 317 + }; 318 + }; 319 + "inflecto" = { 320 + version = "0.0.2"; 321 + source = { 322 + type = "gem"; 323 + sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4"; 324 + }; 325 + }; 326 + "ipaddress" = { 327 + version = "0.8.0"; 328 + source = { 329 + type = "gem"; 330 + sha256 = "0cwy4pyd9nl2y2apazp3hvi12gccj5a3ify8mi8k3knvxi5wk2ir"; 331 + }; 332 + }; 333 + "mime-types" = { 334 + version = "2.6.1"; 335 + source = { 336 + type = "gem"; 337 + sha256 = "1vnrvf245ijfyxzjbj9dr6i1hkjbyrh4yj88865wv9bs75axc5jv"; 338 + }; 339 + }; 340 + "mini_portile" = { 341 + version = "0.6.2"; 342 + source = { 343 + type = "gem"; 344 + sha256 = "0h3xinmacscrnkczq44s6pnhrp4nqma7k056x5wv5xixvf2wsq2w"; 345 + }; 346 + }; 347 + "mtrc" = { 348 + version = "0.0.4"; 349 + source = { 350 + type = "gem"; 351 + sha256 = "0xj2pv4cpn0ad1xw38sinsxfzwhgqs6ff18hw0cwz5xmsf3zqmiz"; 352 + }; 353 + }; 354 + "multi_json" = { 355 + version = "1.11.1"; 356 + source = { 357 + type = "gem"; 358 + sha256 = "0lrmadw2scqwz7nw3j5pfdnmzqimlbaxlxi37xsydrpbbr78qf6g"; 359 + }; 360 + }; 361 + "multipart-post" = { 362 + version = "2.0.0"; 363 + source = { 364 + type = "gem"; 365 + sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; 366 + }; 367 + }; 368 + "munin-ruby" = { 369 + version = "0.2.5"; 370 + source = { 371 + type = "gem"; 372 + sha256 = "0378jyf0hdbfs2vvk7v8k7hqilzi1rfkpn271dyrqqal7g2lnjl2"; 373 + }; 374 + }; 375 + "net-scp" = { 376 + version = "1.2.1"; 377 + source = { 378 + type = "gem"; 379 + sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j"; 380 + }; 381 + dependencies = [ 382 + "net-ssh" 383 + ]; 384 + }; 385 + "net-ssh" = { 386 + version = "2.9.2"; 387 + source = { 388 + type = "gem"; 389 + sha256 = "1p0bj41zrmw5lhnxlm1pqb55zfz9y4p9fkrr9a79nrdmzrk1ph8r"; 390 + }; 391 + }; 392 + "nokogiri" = { 393 + version = "1.6.6.2"; 394 + source = { 395 + type = "gem"; 396 + sha256 = "1j4qv32qjh67dcrc1yy1h8sqjnny8siyy4s44awla8d6jk361h30"; 397 + }; 398 + dependencies = [ 399 + "mini_portile" 400 + ]; 401 + }; 402 + "riemann-client" = { 403 + version = "0.2.5"; 404 + source = { 405 + type = "gem"; 406 + sha256 = "1myhyh31f290jm1wlhhjvf331n5l8qdm7axkxyacdgjsfg4szsjc"; 407 + }; 408 + dependencies = [ 409 + "beefcake" 410 + "mtrc" 411 + "trollop" 412 + ]; 413 + }; 414 + "riemann-tools" = { 415 + version = "0.2.6"; 416 + source = { 417 + type = "gem"; 418 + sha256 = "0qjm7p55h70l5bs876hhvz3isr204663f97py9g0ajxz2z8jkzpi"; 419 + }; 420 + dependencies = [ 421 + "faraday" 422 + "fog" 423 + "munin-ruby" 424 + "nokogiri" 425 + "riemann-client" 426 + "trollop" 427 + "yajl-ruby" 428 + ]; 429 + }; 430 + "trollop" = { 431 + version = "2.1.2"; 432 + source = { 433 + type = "gem"; 434 + sha256 = "0415y63df86sqj43c0l82and65ia5h64if7n0znkbrmi6y0jwhl8"; 435 + }; 436 + }; 437 + "yajl-ruby" = { 438 + version = "1.2.1"; 439 + source = { 440 + type = "gem"; 441 + sha256 = "0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf"; 442 + }; 443 + }; 444 + }
+1
pkgs/top-level/all-packages.nix
··· 2737 2737 rhash = callPackage ../tools/security/rhash { }; 2738 2738 2739 2739 riemann_c_client = callPackage ../tools/misc/riemann-c-client { }; 2740 + riemann-tools = callPackage ../tools/misc/riemann-tools { }; 2740 2741 2741 2742 ripmime = callPackage ../tools/networking/ripmime {}; 2742 2743