1{ getPackage, lib, ... }:
2{
3 name = "hbase-standalone";
4
5 meta = with lib.maintainers; {
6 maintainers = [ illustris ];
7 };
8
9 nodes.hbase =
10 { pkgs, ... }:
11 let
12 package = getPackage pkgs;
13 in
14 {
15 services.hbase-standalone = {
16 enable = true;
17 inherit package;
18 # Needed for standalone mode in hbase 2+
19 # This setting and standalone mode are not suitable for production
20 settings."hbase.unsafe.stream.capability.enforce" = "false";
21 };
22 environment.systemPackages = [
23 package
24 ];
25 };
26
27 testScript = ''
28 start_all()
29 hbase.wait_for_unit("hbase.service")
30 hbase.wait_until_succeeds("echo \"create 't1','f1'\" | sudo -u hbase hbase shell -n")
31 assert "NAME => 'f1'" in hbase.succeed("echo \"describe 't1'\" | sudo -u hbase hbase shell -n")
32 '';
33}