aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/services/cluster/hadoop/conf.nix
blob: 38db10406b9a0d62847ecaad7354d129e1837cd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ hadoop, pkgs }:
let
  propertyXml = name: value: ''
    <property>
      <name>${name}</name>
      <value>${builtins.toString value}</value>
    </property>
  '';
  siteXml = fileName: properties: pkgs.writeTextDir fileName ''
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!-- generated by NixOS -->
    <configuration>
      ${builtins.concatStringsSep "\n" (pkgs.lib.mapAttrsToList propertyXml properties)}
    </configuration>
  '';
  userFunctions = ''
    hadoop_verify_logdir() {
      echo Skipping verification of log directory
    }
  '';
in
pkgs.buildEnv {
  name = "hadoop-conf";
  paths = [
    (siteXml "core-site.xml" hadoop.coreSite)
    (siteXml "hdfs-site.xml" hadoop.hdfsSite)
    (siteXml "mapred-site.xml" hadoop.mapredSite)
    (siteXml "yarn-site.xml" hadoop.yarnSite)
    (pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions)
  ];
}