Remove old couchdb config
Eelco Dolstra committed
Oct 17, 2020 at 22:42 UTC
bfee72e2e699b21dda34007997defcfa5a499e66
1 file changed
-125
delft/couchdb.nix
deleted
-125
@@ -1,125 +0,0 @@
1
-{pkgs, config, ...}:
2
-
3
-let
4
-
5
- inherit (pkgs.lib) mkOption mkIf singleton;
6
- inherit (pkgs) couchdb getopt;
7
- modprobe = config.system.sbin.modprobe;
8
-
9
- couchdbUser = "couchdb";
10
- couchdbFlags = "-a ${couchdbCfg}";
11
- couchdbCfg = pkgs.writeText "couchdb.ini" ''
12
- [Couch]
13
- ConsoleStartupMsg=Apache CouchDB is starting.
14
- DbRootDir=${config.services.couchdb.dbRootDir}
15
- Port=5984
16
- BindAddress=127.0.0.1
17
- DocumentRoot=${config.services.couchdb.documentRoot}
18
- LogFile=${config.services.couchdb.logDir}/couchdb.log
19
- UtilDriverDir=${couchdb}/lib/couchdb/erlang/lib/couch-0.8.1-incubating/priv/lib
20
- LogLevel=info
21
- [Couch Query Servers]
22
- javascript=${couchdb}/bin/couchjs ${couchdb}/share/couchdb/server/main.js
23
-
24
- ${config.services.couchdb.extraIni}
25
- '';
26
-
27
- stateDir = "/var/spool/couchdb";
28
-
29
- wrapper = pkgs.writeTextFile {
30
- name = "couchdb-wrapper";
31
- text = ''
32
- #!/bin/sh
33
- export HOME=${stateDir}
34
- export PATH=$PATH:${getopt}/bin
35
- ${couchdb}/bin/couchdb ${couchdbFlags}
36
- '';
37
- executable = true;
38
- destination = "/bin/couchdb";
39
- };
40
-
41
-in
42
-
43
-{
44
- options = {
45
- services.couchdb = {
46
- enable = mkOption {
47
- default = false;
48
- description = ''
49
- CouchDB
50
- '';
51
- };
52
-
53
- dbRootDir = mkOption {
54
- default = "/data/couchdb/rootdir";
55
- description = ''
56
- DbRootDir in CouchDB configuration file
57
- '';
58
- };
59
-
60
- documentRoot = mkOption {
61
- default = "/data/couchdb/documentroot";
62
- description = ''
63
- DocumentRoot in CouchDB configuration file
64
- '';
65
- };
66
-
67
- logDir = mkOption {
68
- default = "/data/couchdb/logs";
69
- description = ''
70
- Location of CouchDB log files
71
- '';
72
- };
73
- extraIni = mkOption {
74
- default = "";
75
- description = ''
76
- Extra text to put verbatim in ini file.
77
- '';
78
- };
79
- extraPath = mkOption {
80
- default = "";
81
- description =''
82
- Extra PATH for job
83
- '';
84
- };
85
- };
86
- };
87
-
88
- config = mkIf config.services.couchdb.enable {
89
-
90
- environment.systemPackages = [ couchdb ];
91
-
92
- users.extraUsers = singleton
93
- { name = couchdbUser;
94
- uid = 33;
95
- description = "CouchDB daemon user";
96
- home = stateDir;
97
- };
98
-
99
- jobs.couchdb =
100
- { description = "CouchDB daemon";
101
-
102
- startOn = "startup";
103
- stopOn = "shutdown";
104
-
105
- preStart =
106
- ''
107
- mkdir -m 0755 -p ${stateDir}
108
- chown ${couchdbUser} ${stateDir}
109
-
110
- mkdir -m 0755 -p ${config.services.couchdb.logDir}
111
- chown ${couchdbUser} ${config.services.couchdb.logDir}
112
-
113
- mkdir -m 0755 -p ${config.services.couchdb.dbRootDir}
114
- chown ${couchdbUser} ${config.services.couchdb.dbRootDir}
115
-
116
- mkdir -m 0755 -p ${config.services.couchdb.documentRoot}
117
- chown ${couchdbUser} ${config.services.couchdb.documentRoot}
118
- '';
119
-
120
- exec = "${wrapper}/bin/couchdb";
121
- };
122
-
123
- };
124
-
125
-}