|
1 | 1 | # == Class: influxdb::config |
2 | 2 | # More information on these settings available at: http://influxdb.org/docs/configuration.html |
| 3 | +# create config options based on a hash or hierdata that looks like: |
| 4 | +# |
| 5 | +# influxdb::configuration: |
| 6 | +# default: |
| 7 | +# bind-address: '"0.0.0.0"' |
| 8 | +# storage: |
| 9 | +# dir: '/tmp/bla' |
3 | 10 | class influxdb::config { |
4 | | - ini_setting { 'hostname': |
5 | | - section => '', |
6 | | - setting => 'hostname', |
7 | | - value => "\"${influxdb::hostname}\"", |
8 | | - } |
9 | | - |
10 | | - ini_setting { 'bind_address': |
11 | | - section => '', |
12 | | - setting => 'bind-address', |
13 | | - value => "\"${influxdb::bind_address}\"", |
14 | | - } |
15 | | - |
16 | | - # [logging] |
17 | | - ini_setting { 'logging_level': |
18 | | - section => 'logging', |
19 | | - setting => 'level', |
20 | | - value => "\"${influxdb::logging_level}\"", |
21 | | - } |
22 | | - |
23 | | - ini_setting { 'logging_file': |
24 | | - section => 'logging', |
25 | | - setting => 'file', |
26 | | - value => "\"${influxdb::logging_file}\"", |
27 | | - } |
28 | | - |
29 | | - # [admin] |
30 | | - ini_setting { 'admin_port': |
31 | | - section => 'admin', |
32 | | - setting => 'port', |
33 | | - value => $influxdb::admin_port, |
34 | | - } |
35 | | - |
36 | | - ini_setting { 'admin_assets': |
37 | | - section => 'admin', |
38 | | - setting => 'assets', |
39 | | - value => "\"${influxdb::admin_assets}\"", |
40 | | - } |
41 | | - |
42 | | - # [api] |
43 | | - ini_setting { 'api_port': |
44 | | - section => 'api', |
45 | | - setting => 'port', |
46 | | - value => $influxdb::api_port, |
47 | | - } |
48 | | - |
49 | | - ini_setting { 'api_read_timeout': |
50 | | - section => 'api', |
51 | | - setting => 'read-timeout', |
52 | | - value => "\"${influxdb::api_read_timeout}\"", |
53 | | - } |
54 | | - |
55 | | - # [raft] |
56 | | - ini_setting { 'raft_port': |
57 | | - section => 'raft', |
58 | | - setting => 'port', |
59 | | - value => $influxdb::raft_port, |
60 | | - } |
61 | | - |
62 | | - ini_setting { 'raft_dir': |
63 | | - section => 'raft', |
64 | | - setting => 'dir', |
65 | | - value => "\"${influxdb::raft_dir}\"", |
66 | | - } |
67 | | - |
68 | | - ini_setting { 'raft_election_timeout': |
69 | | - section => 'raft', |
70 | | - setting => 'election-timeout', |
71 | | - value => "\"${influxdb::raft_election_timeout}\"", |
72 | | - } |
73 | | - |
74 | | - # [storage] |
75 | | - ini_setting { 'storage_dir': |
76 | | - section => 'storage', |
77 | | - setting => 'dir', |
78 | | - value => "\"${influxdb::storage_dir}\"", |
79 | | - } |
80 | | - |
81 | | - ini_setting { 'storage_write_buffer_size': |
82 | | - section => 'storage', |
83 | | - setting => 'write-buffer-size', |
84 | | - value => $influxdb::storage_write_buffer_size, |
85 | | - } |
86 | | - |
87 | | - # [cluster] |
88 | | - ini_setting { 'cluster_seed_servers': |
89 | | - section => 'cluster', |
90 | | - setting => 'seed-servers', |
91 | | - value => $influxdb::cluster_seed_servers, |
92 | | - } |
93 | | - |
94 | | - ini_setting { 'cluster_protobuf_port': |
95 | | - section => 'cluster', |
96 | | - setting => 'protobuf_port', |
97 | | - value => $influxdb::cluster_protobuf_port, |
98 | | - } |
99 | | - |
100 | | - ini_setting { 'cluster_protobuf_timeout': |
101 | | - section => 'cluster', |
102 | | - setting => 'protobuf_timeout', |
103 | | - value => "\"${influxdb::cluster_protobuf_timeout}\"", |
104 | | - } |
105 | | - |
106 | | - ini_setting { 'cluster_protobuf_heartbeat': |
107 | | - section => 'cluster', |
108 | | - setting => 'protobuf_heartbeat', |
109 | | - value => "\"${influxdb::cluster_protobuf_heartbeat}\"", |
110 | | - } |
111 | | - |
112 | | - ini_setting { 'cluster_protobuf_min_backoff': |
113 | | - section => 'cluster', |
114 | | - setting => 'protobuf_min_backoff', |
115 | | - value => "\"${influxdb::cluster_protobuf_min_backoff}\"", |
116 | | - } |
117 | | - |
118 | | - ini_setting { 'cluster_protobuf_max_backoff': |
119 | | - section => 'cluster', |
120 | | - setting => 'protobuf_max_backoff', |
121 | | - value => "\"${influxdb::cluster_protobuf_max_backoff}\"", |
122 | | - } |
123 | | - |
124 | | - ini_setting { 'cluster_write_buffer_size': |
125 | | - section => 'cluster', |
126 | | - setting => 'write-buffer-size', |
127 | | - value => $influxdb::cluster_write_buffer_size, |
128 | | - } |
129 | | - |
130 | | - ini_setting { 'cluster_max_response_buffer_size': |
131 | | - section => 'cluster', |
132 | | - setting => 'max-response-buffer-size', |
133 | | - value => $influxdb::cluster_max_response_buffer_size, |
134 | | - } |
135 | | - |
136 | | - ini_setting { 'cluster_concurrent_shard_query_limit': |
137 | | - section => 'cluster', |
138 | | - setting => 'concurrent-shard-query-limit', |
139 | | - value => $influxdb::cluster_concurrent_shard_query_limit, |
140 | | - } |
141 | | - |
142 | | - # [leveldb] |
143 | | - ini_setting { 'leveldb_max_open_files': |
144 | | - section => 'leveldb', |
145 | | - setting => 'max-open-files', |
146 | | - value => $influxdb::leveldb_max_open_files, |
147 | | - } |
148 | | - |
149 | | - ini_setting { 'leveldb_lru_cache_size': |
150 | | - section => 'leveldb', |
151 | | - setting => 'lru-cache-size', |
152 | | - value => "\"${influxdb::leveldb_lru_cache_size}\"", |
153 | | - } |
154 | | - |
155 | | - ini_setting { 'leveldb_max_open_shards': |
156 | | - section => 'leveldb', |
157 | | - setting => 'max-open-shards', |
158 | | - value => $influxdb::leveldb_max_open_shards, |
159 | | - } |
160 | | - |
161 | | - ini_setting { 'leveldb_point_batch_size': |
162 | | - section => 'leveldb', |
163 | | - setting => 'point-batch-size', |
164 | | - value => $influxdb::leveldb_point_batch_size, |
165 | | - } |
166 | | - |
167 | | - ini_setting { 'leveldb_point_write_size': |
168 | | - section => 'leveldb', |
169 | | - setting => 'point-write-size', |
170 | | - value => $influxdb::leveldb_point_write_size, |
171 | | - } |
172 | | - |
173 | | - # [sharding] |
174 | | - |
175 | | - # [wal] |
176 | | - ini_setting { 'wal_dir': |
177 | | - section => 'wal', |
178 | | - setting => 'dir', |
179 | | - value => "\"${influxdb::wal_dir}\"", |
180 | | - } |
181 | | - |
182 | | - ini_setting { 'wal_flush_after': |
183 | | - section => 'wal', |
184 | | - setting => 'flush-after', |
185 | | - value => $influxdb::wal_flush_after, |
186 | | - } |
187 | | - |
188 | | - ini_setting { 'wal_bookmark_after': |
189 | | - section => 'wal', |
190 | | - setting => 'bookmark-after', |
191 | | - value => $influxdb::wal_bookmark_after, |
192 | | - } |
193 | | - |
194 | | - ini_setting { 'wal_index_after': |
195 | | - section => 'wal', |
196 | | - setting => 'index-after', |
197 | | - value => $influxdb::wal_index_after, |
198 | | - } |
199 | | - |
200 | | - ini_setting { 'wal_requests_per_logfile': |
201 | | - section => 'wal', |
202 | | - setting => 'requests-per-logfile', |
203 | | - value => $influxdb::wal_requests_per_logfile, |
204 | | - } |
205 | | - |
206 | | - # defaults for all settings |
207 | | - Ini_setting { |
208 | | - ensure => present, |
209 | | - path => $influxdb::config_path, |
210 | | - notify => Service['influxdb'], |
211 | | - require => Package['influxdb'], |
| 11 | + if !empty($influxdb::configuration) { |
| 12 | + $sections = keys($influxdb::configuration) |
| 13 | + influxdb::config_section{ |
| 14 | + $sections: |
| 15 | + values => $influxdb::configuration |
| 16 | + } |
212 | 17 | } |
213 | 18 | } |
0 commit comments