apollon 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/.gemspec +35 -0
  3. data/.gitignore +5 -0
  4. data/Gemfile +4 -0
  5. data/Gemfile.lock +87 -0
  6. data/LICENSE +21 -0
  7. data/README.md +100 -0
  8. data/Rakefile +20 -0
  9. data/TODO.md +22 -0
  10. data/Vagrantfile +92 -0
  11. data/WHATS_IN.md +55 -0
  12. data/artifacts/.gitkeepme +1 -0
  13. data/clean.sh +3 -0
  14. data/lib/apollon/app/app.rb +1 -0
  15. data/lib/apollon/core/core.rb +8 -0
  16. data/lib/apollon/helpers/helpers.rb +28 -0
  17. data/lib/{lib.rb → apollon/lib.rb} +0 -0
  18. data/lib/apollon/provisions/provisions.rb +8 -0
  19. data/lib/apollon/provisions/puppet.rb +1 -0
  20. data/lib/apollon/version.rb +5 -0
  21. data/lib/apollon.rb +1 -0
  22. data/packs/README.md +15 -0
  23. data/packs/core/README.md +3 -0
  24. data/packs/core/pack-digitalocean.sh +8 -0
  25. data/packs/core/pack-vagrant.sh +16 -0
  26. data/packs/core/packer.json +82 -0
  27. data/packs/core/provision.sh +9 -0
  28. data/packs/core/scripts/provision-digitalocean.sh +11 -0
  29. data/packs/examples/aws/pack.sh +6 -0
  30. data/packs/examples/aws/packer.json +18 -0
  31. data/packs/examples/digitalocean/data/images.json +344 -0
  32. data/packs/examples/digitalocean/data/regions.json +22 -0
  33. data/packs/examples/digitalocean/data/sizes.json +92 -0
  34. data/packs/examples/digitalocean/pack.sh +4 -0
  35. data/packs/examples/digitalocean/packer.json +18 -0
  36. data/packs/examples/virtualbox-iso/pack.sh +15 -0
  37. data/packs/examples/virtualbox-iso/packer.json +49 -0
  38. data/packs/examples/virtualbox-iso/provision.sh +3 -0
  39. data/puppet/environment.conf +7 -0
  40. data/puppet/manifests/all.pp +10 -0
  41. data/puppet/manifests/core.pp +3 -0
  42. data/puppet/manifests/db.pp +3 -0
  43. data/puppet/manifests/default.pp +3 -0
  44. data/puppet/manifests/dev.pp +3 -0
  45. data/puppet/manifests/ops.pp +3 -0
  46. data/puppet/manifests/sites/apollocrawler.com.pp +5 -0
  47. data/puppet/manifests/web.pp +5 -0
  48. data/puppet/modules/apache2/files/apache2.conf +221 -0
  49. data/puppet/modules/apache2/files/envvars +47 -0
  50. data/puppet/modules/apache2/files/magic +935 -0
  51. data/puppet/modules/apache2/files/ports.conf +15 -0
  52. data/puppet/modules/apache2/manifests/init.pp +46 -0
  53. data/puppet/modules/clang/manifests/init.pp +11 -0
  54. data/puppet/modules/cmake/manifests/init.pp +11 -0
  55. data/puppet/modules/core/files/sources.list +62 -0
  56. data/puppet/modules/core/manifests/init.pp +63 -0
  57. data/puppet/modules/couchdb/files/local.ini +98 -0
  58. data/puppet/modules/couchdb/manifests/init.pp +25 -0
  59. data/puppet/modules/db/manifests/init.pp +13 -0
  60. data/puppet/modules/dev/manifests/init.pp +20 -0
  61. data/puppet/modules/elasticsearch/files/elasticsearch.yml +377 -0
  62. data/puppet/modules/elasticsearch/files/logging.yml +56 -0
  63. data/puppet/modules/elasticsearch/manifests/init.pp +45 -0
  64. data/puppet/modules/erlang/manifests/init.pp +11 -0
  65. data/puppet/modules/ghc/manifests/init.pp +11 -0
  66. data/puppet/modules/git/manifests/init.pp +11 -0
  67. data/puppet/modules/golang/manifests/init.pp +11 -0
  68. data/puppet/modules/htop/manifests/init.pp +11 -0
  69. data/puppet/modules/java/files/accept-java-license.sh +4 -0
  70. data/puppet/modules/java/files/install-java7.sh +7 -0
  71. data/puppet/modules/java/files/install-java8.sh +7 -0
  72. data/puppet/modules/java/manifests/init.pp +86 -0
  73. data/puppet/modules/links/manifests/init.pp +11 -0
  74. data/puppet/modules/llvm/manifests/init.pp +11 -0
  75. data/puppet/modules/lynx/manifests/init.pp +11 -0
  76. data/puppet/modules/mc/manifests/init.pp +11 -0
  77. data/puppet/modules/memcache/files/memcached.conf +47 -0
  78. data/puppet/modules/memcache/manifests/init.pp +24 -0
  79. data/puppet/modules/mongodb/files/mongodb.conf +102 -0
  80. data/puppet/modules/mongodb/manifests/init.pp +24 -0
  81. data/puppet/modules/mosh/manifests/init.pp +11 -0
  82. data/puppet/modules/mysql/files/conf.d/mysqld_safe_syslog.cnf +2 -0
  83. data/puppet/modules/mysql/files/debian.cnf +12 -0
  84. data/puppet/modules/mysql/files/my.cnf +127 -0
  85. data/puppet/modules/mysql/manifests/init.pp +45 -0
  86. data/puppet/modules/nginx/manifests/init.pp +16 -0
  87. data/puppet/modules/nodejs/manifests/init.pp +41 -0
  88. data/puppet/modules/octave/manifests/init.pp +11 -0
  89. data/puppet/modules/ops/manifests/init.pp +12 -0
  90. data/puppet/modules/php5/manifests/init.pp +11 -0
  91. data/puppet/modules/postgresql/files/9.3/main/environment +7 -0
  92. data/puppet/modules/postgresql/files/9.3/main/pg_ctl.conf +5 -0
  93. data/puppet/modules/postgresql/files/9.3/main/pg_hba.conf +99 -0
  94. data/puppet/modules/postgresql/files/9.3/main/pg_ident.conf +42 -0
  95. data/puppet/modules/postgresql/files/9.3/main/postgresql.conf +598 -0
  96. data/puppet/modules/postgresql/files/9.3/main/start.conf +9 -0
  97. data/puppet/modules/postgresql/files/create-postgresql-user.sh +4 -0
  98. data/puppet/modules/postgresql/files/sql/bootstrap.sh +1 -0
  99. data/puppet/modules/postgresql/files/sql/create-extension-adminpack.sql +1 -0
  100. data/puppet/modules/postgresql/files/sql/create-extension-postgis.sql +11 -0
  101. data/puppet/modules/postgresql/manifests/init.pp +145 -0
  102. data/puppet/modules/python/manifests/init.pp +11 -0
  103. data/puppet/modules/r/manifests/init.pp +11 -0
  104. data/puppet/modules/rabbitmq/files/enable-user-management.sh +3 -0
  105. data/puppet/modules/rabbitmq/manifests/init.pp +36 -0
  106. data/puppet/modules/redis/files/memcached.conf +47 -0
  107. data/puppet/modules/redis/manifests/init.pp +19 -0
  108. data/puppet/modules/ruby/manifests/init.pp +11 -0
  109. data/puppet/modules/rvm/manifests/init.pp +33 -0
  110. data/puppet/modules/science/manifests/init.pp +8 -0
  111. data/puppet/modules/squid/manifests/init.pp +16 -0
  112. data/puppet/modules/svn/manifests/init.pp +11 -0
  113. data/puppet/modules/tomcat7/files/tomcat-users.xml +6 -0
  114. data/puppet/modules/tomcat7/manifests/init.pp +24 -0
  115. data/puppet/modules/varnish/manifests/init.pp +11 -0
  116. data/puppet/modules/web/manifests/init.pp +10 -0
  117. data/puppet/modules/zookeeper/files/conf/configuration.xsl +24 -0
  118. data/puppet/modules/zookeeper/files/conf/environment +20 -0
  119. data/puppet/modules/zookeeper/files/conf/log4j.properties +51 -0
  120. data/puppet/modules/zookeeper/files/conf/zoo.cfg +51 -0
  121. data/puppet/modules/zookeeper/manifests/init.pp +27 -0
  122. data/tmp/.gitkeepme +1 -0
  123. data/vagrant/profiles/default.json +53 -0
  124. metadata +156 -35
@@ -0,0 +1,377 @@
1
+ ##################### Elasticsearch Configuration Example #####################
2
+
3
+ # This file contains an overview of various configuration settings,
4
+ # targeted at operations staff. Application developers should
5
+ # consult the guide at <http://elasticsearch.org/guide>.
6
+ #
7
+ # The installation procedure is covered at
8
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/setup.html>.
9
+ #
10
+ # Elasticsearch comes with reasonable defaults for most settings,
11
+ # so you can try it out without bothering with configuration.
12
+ #
13
+ # Most of the time, these defaults are just fine for running a production
14
+ # cluster. If you're fine-tuning your cluster, or wondering about the
15
+ # effect of certain configuration option, please _do ask_ on the
16
+ # mailing list or IRC channel [http://elasticsearch.org/community].
17
+
18
+ # Any element in the configuration can be replaced with environment variables
19
+ # by placing them in ${...} notation. For example:
20
+ #
21
+ # node.rack: ${RACK_ENV_VAR}
22
+
23
+ # For information on supported formats and syntax for the config file, see
24
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/setup-configuration.html>
25
+
26
+
27
+ ################################### Cluster ###################################
28
+
29
+ # Cluster name identifies your cluster for auto-discovery. If you're running
30
+ # multiple clusters on the same network, make sure you're using unique names.
31
+ #
32
+ # cluster.name: elasticsearch
33
+
34
+
35
+ #################################### Node #####################################
36
+
37
+ # Node names are generated dynamically on startup, so you're relieved
38
+ # from configuring them manually. You can tie this node to a specific name:
39
+ #
40
+ # node.name: "Franz Kafka"
41
+
42
+ # Every node can be configured to allow or deny being eligible as the master,
43
+ # and to allow or deny to store the data.
44
+ #
45
+ # Allow this node to be eligible as a master node (enabled by default):
46
+ #
47
+ # node.master: true
48
+ #
49
+ # Allow this node to store data (enabled by default):
50
+ #
51
+ # node.data: true
52
+
53
+ # You can exploit these settings to design advanced cluster topologies.
54
+ #
55
+ # 1. You want this node to never become a master node, only to hold data.
56
+ # This will be the "workhorse" of your cluster.
57
+ #
58
+ # node.master: false
59
+ # node.data: true
60
+ #
61
+ # 2. You want this node to only serve as a master: to not store any data and
62
+ # to have free resources. This will be the "coordinator" of your cluster.
63
+ #
64
+ # node.master: true
65
+ # node.data: false
66
+ #
67
+ # 3. You want this node to be neither master nor data node, but
68
+ # to act as a "search load balancer" (fetching data from nodes,
69
+ # aggregating results, etc.)
70
+ #
71
+ # node.master: false
72
+ # node.data: false
73
+
74
+ # Use the Cluster Health API [http://localhost:9200/_cluster/health], the
75
+ # Node Info API [http://localhost:9200/_nodes] or GUI tools
76
+ # such as <http://www.elasticsearch.org/overview/marvel/>,
77
+ # <http://github.com/karmi/elasticsearch-paramedic>,
78
+ # <http://github.com/lukas-vlcek/bigdesk> and
79
+ # <http://mobz.github.com/elasticsearch-head> to inspect the cluster state.
80
+
81
+ # A node can have generic attributes associated with it, which can later be used
82
+ # for customized shard allocation filtering, or allocation awareness. An attribute
83
+ # is a simple key value pair, similar to node.key: value, here is an example:
84
+ #
85
+ # node.rack: rack314
86
+
87
+ # By default, multiple nodes are allowed to start from the same installation location
88
+ # to disable it, set the following:
89
+ # node.max_local_storage_nodes: 1
90
+
91
+
92
+ #################################### Index ####################################
93
+
94
+ # You can set a number of options (such as shard/replica options, mapping
95
+ # or analyzer definitions, translog settings, ...) for indices globally,
96
+ # in this file.
97
+ #
98
+ # Note, that it makes more sense to configure index settings specifically for
99
+ # a certain index, either when creating it or by using the index templates API.
100
+ #
101
+ # See <http://elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html> and
102
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html>
103
+ # for more information.
104
+
105
+ # Set the number of shards (splits) of an index (5 by default):
106
+ #
107
+ # index.number_of_shards: 5
108
+
109
+ # Set the number of replicas (additional copies) of an index (1 by default):
110
+ #
111
+ # index.number_of_replicas: 1
112
+
113
+ # Note, that for development on a local machine, with small indices, it usually
114
+ # makes sense to "disable" the distributed features:
115
+ #
116
+ # index.number_of_shards: 1
117
+ # index.number_of_replicas: 0
118
+
119
+ # These settings directly affect the performance of index and search operations
120
+ # in your cluster. Assuming you have enough machines to hold shards and
121
+ # replicas, the rule of thumb is:
122
+ #
123
+ # 1. Having more *shards* enhances the _indexing_ performance and allows to
124
+ # _distribute_ a big index across machines.
125
+ # 2. Having more *replicas* enhances the _search_ performance and improves the
126
+ # cluster _availability_.
127
+ #
128
+ # The "number_of_shards" is a one-time setting for an index.
129
+ #
130
+ # The "number_of_replicas" can be increased or decreased anytime,
131
+ # by using the Index Update Settings API.
132
+ #
133
+ # Elasticsearch takes care about load balancing, relocating, gathering the
134
+ # results from nodes, etc. Experiment with different settings to fine-tune
135
+ # your setup.
136
+
137
+ # Use the Index Status API (<http://localhost:9200/A/_status>) to inspect
138
+ # the index status.
139
+
140
+
141
+ #################################### Paths ####################################
142
+
143
+ # Path to directory containing configuration (this file and logging.yml):
144
+ #
145
+ # path.conf: /path/to/conf
146
+
147
+ # Path to directory where to store index data allocated for this node.
148
+ #
149
+ # path.data: /path/to/data
150
+ #
151
+ # Can optionally include more than one location, causing data to be striped across
152
+ # the locations (a la RAID 0) on a file level, favouring locations with most free
153
+ # space on creation. For example:
154
+ #
155
+ # path.data: /path/to/data1,/path/to/data2
156
+
157
+ # Path to temporary files:
158
+ #
159
+ # path.work: /path/to/work
160
+
161
+ # Path to log files:
162
+ #
163
+ # path.logs: /path/to/logs
164
+
165
+ # Path to where plugins are installed:
166
+ #
167
+ # path.plugins: /path/to/plugins
168
+
169
+
170
+ #################################### Plugin ###################################
171
+
172
+ # If a plugin listed here is not installed for current node, the node will not start.
173
+ #
174
+ # plugin.mandatory: mapper-attachments,lang-groovy
175
+
176
+
177
+ ################################### Memory ####################################
178
+
179
+ # Elasticsearch performs poorly when JVM starts swapping: you should ensure that
180
+ # it _never_ swaps.
181
+ #
182
+ # Set this property to true to lock the memory:
183
+ #
184
+ # bootstrap.mlockall: true
185
+
186
+ # Make sure that the ES_MIN_MEM and ES_MAX_MEM environment variables are set
187
+ # to the same value, and that the machine has enough memory to allocate
188
+ # for Elasticsearch, leaving enough memory for the operating system itself.
189
+ #
190
+ # You should also make sure that the Elasticsearch process is allowed to lock
191
+ # the memory, eg. by using `ulimit -l unlimited`.
192
+
193
+
194
+ ############################## Network And HTTP ###############################
195
+
196
+ # Elasticsearch, by default, binds itself to the 0.0.0.0 address, and listens
197
+ # on port [9200-9300] for HTTP traffic and on port [9300-9400] for node-to-node
198
+ # communication. (the range means that if the port is busy, it will automatically
199
+ # try the next port).
200
+
201
+ # Set the bind address specifically (IPv4 or IPv6):
202
+ #
203
+ # network.bind_host: 192.168.0.1
204
+
205
+ # Set the address other nodes will use to communicate with this node. If not
206
+ # set, it is automatically derived. It must point to an actual IP address.
207
+ #
208
+ # network.publish_host: 192.168.0.1
209
+
210
+ # Set both 'bind_host' and 'publish_host':
211
+ #
212
+ # network.host: 192.168.0.1
213
+
214
+ # Set a custom port for the node to node communication (9300 by default):
215
+ #
216
+ # transport.tcp.port: 9300
217
+
218
+ # Enable compression for all communication between nodes (disabled by default):
219
+ #
220
+ # transport.tcp.compress: true
221
+
222
+ # Set a custom port to listen for HTTP traffic:
223
+ #
224
+ # http.port: 9200
225
+
226
+ # Set a custom allowed content length:
227
+ #
228
+ # http.max_content_length: 100mb
229
+
230
+ # Disable HTTP completely:
231
+ #
232
+ # http.enabled: false
233
+
234
+
235
+ ################################### Gateway ###################################
236
+
237
+ # The gateway allows for persisting the cluster state between full cluster
238
+ # restarts. Every change to the state (such as adding an index) will be stored
239
+ # in the gateway, and when the cluster starts up for the first time,
240
+ # it will read its state from the gateway.
241
+
242
+ # There are several types of gateway implementations. For more information, see
243
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-gateway.html>.
244
+
245
+ # The default gateway type is the "local" gateway (recommended):
246
+ #
247
+ # gateway.type: local
248
+
249
+ # Settings below control how and when to start the initial recovery process on
250
+ # a full cluster restart (to reuse as much local data as possible when using shared
251
+ # gateway).
252
+
253
+ # Allow recovery process after N nodes in a cluster are up:
254
+ #
255
+ # gateway.recover_after_nodes: 1
256
+
257
+ # Set the timeout to initiate the recovery process, once the N nodes
258
+ # from previous setting are up (accepts time value):
259
+ #
260
+ # gateway.recover_after_time: 5m
261
+
262
+ # Set how many nodes are expected in this cluster. Once these N nodes
263
+ # are up (and recover_after_nodes is met), begin recovery process immediately
264
+ # (without waiting for recover_after_time to expire):
265
+ #
266
+ # gateway.expected_nodes: 2
267
+
268
+
269
+ ############################# Recovery Throttling #############################
270
+
271
+ # These settings allow to control the process of shards allocation between
272
+ # nodes during initial recovery, replica allocation, rebalancing,
273
+ # or when adding and removing nodes.
274
+
275
+ # Set the number of concurrent recoveries happening on a node:
276
+ #
277
+ # 1. During the initial recovery
278
+ #
279
+ # cluster.routing.allocation.node_initial_primaries_recoveries: 4
280
+ #
281
+ # 2. During adding/removing nodes, rebalancing, etc
282
+ #
283
+ # cluster.routing.allocation.node_concurrent_recoveries: 2
284
+
285
+ # Set to throttle throughput when recovering (eg. 100mb, by default 20mb):
286
+ #
287
+ # indices.recovery.max_bytes_per_sec: 20mb
288
+
289
+ # Set to limit the number of open concurrent streams when
290
+ # recovering a shard from a peer:
291
+ #
292
+ # indices.recovery.concurrent_streams: 5
293
+
294
+
295
+ ################################## Discovery ##################################
296
+
297
+ # Discovery infrastructure ensures nodes can be found within a cluster
298
+ # and master node is elected. Multicast discovery is the default.
299
+
300
+ # Set to ensure a node sees N other master eligible nodes to be considered
301
+ # operational within the cluster. Its recommended to set it to a higher value
302
+ # than 1 when running more than 2 nodes in the cluster.
303
+ #
304
+ # discovery.zen.minimum_master_nodes: 1
305
+
306
+ # Set the time to wait for ping responses from other nodes when discovering.
307
+ # Set this option to a higher value on a slow or congested network
308
+ # to minimize discovery failures:
309
+ #
310
+ # discovery.zen.ping.timeout: 3s
311
+
312
+ # For more information, see
313
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-zen.html>
314
+
315
+ # Unicast discovery allows to explicitly control which nodes will be used
316
+ # to discover the cluster. It can be used when multicast is not present,
317
+ # or to restrict the cluster communication-wise.
318
+ #
319
+ # 1. Disable multicast discovery (enabled by default):
320
+ #
321
+ # discovery.zen.ping.multicast.enabled: false
322
+ #
323
+ # 2. Configure an initial list of master nodes in the cluster
324
+ # to perform discovery when new nodes (master or data) are started:
325
+ #
326
+ # discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]
327
+
328
+ # EC2 discovery allows to use AWS EC2 API in order to perform discovery.
329
+ #
330
+ # You have to install the cloud-aws plugin for enabling the EC2 discovery.
331
+ #
332
+ # For more information, see
333
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-ec2.html>
334
+ #
335
+ # See <http://elasticsearch.org/tutorials/elasticsearch-on-ec2/>
336
+ # for a step-by-step tutorial.
337
+
338
+ # GCE discovery allows to use Google Compute Engine API in order to perform discovery.
339
+ #
340
+ # You have to install the cloud-gce plugin for enabling the GCE discovery.
341
+ #
342
+ # For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-gce>.
343
+
344
+ # Azure discovery allows to use Azure API in order to perform discovery.
345
+ #
346
+ # You have to install the cloud-azure plugin for enabling the Azure discovery.
347
+ #
348
+ # For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-azure>.
349
+
350
+ ################################## Slow Log ##################################
351
+
352
+ # Shard level query and fetch threshold logging.
353
+
354
+ #index.search.slowlog.threshold.query.warn: 10s
355
+ #index.search.slowlog.threshold.query.info: 5s
356
+ #index.search.slowlog.threshold.query.debug: 2s
357
+ #index.search.slowlog.threshold.query.trace: 500ms
358
+
359
+ #index.search.slowlog.threshold.fetch.warn: 1s
360
+ #index.search.slowlog.threshold.fetch.info: 800ms
361
+ #index.search.slowlog.threshold.fetch.debug: 500ms
362
+ #index.search.slowlog.threshold.fetch.trace: 200ms
363
+
364
+ #index.indexing.slowlog.threshold.index.warn: 10s
365
+ #index.indexing.slowlog.threshold.index.info: 5s
366
+ #index.indexing.slowlog.threshold.index.debug: 2s
367
+ #index.indexing.slowlog.threshold.index.trace: 500ms
368
+
369
+ ################################## GC Logging ################################
370
+
371
+ #monitor.jvm.gc.young.warn: 1000ms
372
+ #monitor.jvm.gc.young.info: 700ms
373
+ #monitor.jvm.gc.young.debug: 400ms
374
+
375
+ #monitor.jvm.gc.old.warn: 10s
376
+ #monitor.jvm.gc.old.info: 5s
377
+ #monitor.jvm.gc.old.debug: 2s
@@ -0,0 +1,56 @@
1
+ # you can override this using by setting a system property, for example -Des.logger.level=DEBUG
2
+ es.logger.level: INFO
3
+ rootLogger: ${es.logger.level}, console, file
4
+ logger:
5
+ # log action execution errors for easier debugging
6
+ action: DEBUG
7
+ # reduce the logging for aws, too much is logged under the default INFO
8
+ com.amazonaws: WARN
9
+
10
+ # gateway
11
+ #gateway: DEBUG
12
+ #index.gateway: DEBUG
13
+
14
+ # peer shard recovery
15
+ #indices.recovery: DEBUG
16
+
17
+ # discovery
18
+ #discovery: TRACE
19
+
20
+ index.search.slowlog: TRACE, index_search_slow_log_file
21
+ index.indexing.slowlog: TRACE, index_indexing_slow_log_file
22
+
23
+ additivity:
24
+ index.search.slowlog: false
25
+ index.indexing.slowlog: false
26
+
27
+ appender:
28
+ console:
29
+ type: console
30
+ layout:
31
+ type: consolePattern
32
+ conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
33
+
34
+ file:
35
+ type: dailyRollingFile
36
+ file: ${path.logs}/${cluster.name}.log
37
+ datePattern: "'.'yyyy-MM-dd"
38
+ layout:
39
+ type: pattern
40
+ conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
41
+
42
+ index_search_slow_log_file:
43
+ type: dailyRollingFile
44
+ file: ${path.logs}/${cluster.name}_index_search_slowlog.log
45
+ datePattern: "'.'yyyy-MM-dd"
46
+ layout:
47
+ type: pattern
48
+ conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
49
+
50
+ index_indexing_slow_log_file:
51
+ type: dailyRollingFile
52
+ file: ${path.logs}/${cluster.name}_index_indexing_slowlog.log
53
+ datePattern: "'.'yyyy-MM-dd"
54
+ layout:
55
+ type: pattern
56
+ conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
@@ -0,0 +1,45 @@
1
+ # == Class: elasticsearch
2
+ #
3
+ # Installs development packages
4
+ #
5
+ class elasticsearch {
6
+ require core
7
+ require java
8
+
9
+ exec { "elasticsearch-download":
10
+ command => "/usr/bin/wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.deb"
11
+ }
12
+
13
+ exec { "elasticsearch-install":
14
+ require => Exec["elasticsearch-download"],
15
+ command => "/usr/bin/dpkg -i /home/vagrant/elasticsearch-1.1.1.deb"
16
+ }
17
+
18
+ exec { "elasticsearch-service":
19
+ require => Exec["elasticsearch-install"],
20
+ command => "/usr/sbin/update-rc.d elasticsearch defaults 95 10"
21
+ }
22
+
23
+ file { '/etc/elasticsearch/elasticsearch.yml':
24
+ owner => root,
25
+ group => root,
26
+ source => 'puppet:///modules/elasticsearch/elasticsearch.yml',
27
+ require => Exec['elasticsearch-install']
28
+ }
29
+
30
+ file { '/etc/elasticsearch/logging.yml':
31
+ owner => root,
32
+ group => root,
33
+ source => 'puppet:///modules/elasticsearch/logging.yml',
34
+ require => Exec['elasticsearch-install']
35
+ }
36
+
37
+ service { 'elasticsearch':
38
+ ensure => running,
39
+ require => [
40
+ File['/etc/elasticsearch/elasticsearch.yml'],
41
+ File['/etc/elasticsearch/logging.yml'],
42
+ Exec['elasticsearch-service']
43
+ ]
44
+ }
45
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: erlang
2
+ #
3
+ # Installs erlang.
4
+ #
5
+ class erlang {
6
+ require core
7
+
8
+ package { 'erlang':
9
+ ensure => present;
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: ghc
2
+ #
3
+ # Installs Haskell.
4
+ #
5
+ class ghc {
6
+ require core
7
+
8
+ package { 'ghc':
9
+ ensure => present;
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: git
2
+ #
3
+ # Installs Git tools.
4
+ #
5
+ class git {
6
+ require core
7
+
8
+ package { 'git':
9
+ ensure => present;
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: golang
2
+ #
3
+ # Installs Go language.
4
+ #
5
+ class golang {
6
+ require core
7
+
8
+ package { 'golang':
9
+ ensure => present;
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: htop
2
+ #
3
+ # Installs htop package
4
+ #
5
+ class htop {
6
+ require core
7
+
8
+ package { 'htop':
9
+ ensure => present;
10
+ }
11
+ }
@@ -0,0 +1,4 @@
1
+ #! /usr/bin/env bash
2
+
3
+ /bin/echo debconf shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
4
+ /bin/echo debconf shared/accepted-oracle-license-v1-1 seen true | /usr/bin/debconf-set-selections
@@ -0,0 +1,7 @@
1
+ #! /usr/bin/env bash
2
+
3
+ CMD="sudo apt-get install oracle-java7-installer"
4
+ $CMD
5
+ while [ $? -ne 0 ]; do
6
+ $CMD
7
+ done
@@ -0,0 +1,7 @@
1
+ #! /usr/bin/env bash
2
+
3
+ CMD="sudo apt-get install oracle-java8-installer"
4
+ $CMD
5
+ while [ $? -ne 0 ]; do
6
+ $CMD
7
+ done
@@ -0,0 +1,86 @@
1
+ # == Class: java
2
+ #
3
+ # Installs Oracle Java.
4
+ #
5
+ class java {
6
+ require core
7
+
8
+ # Copy script which bypass java EULA
9
+ file { '/home/vagrant/accept-java-license.sh':
10
+ owner => vagrant,
11
+ group => vagrant,
12
+ mode => 0755,
13
+ source => 'puppet:///modules/java/accept-java-license.sh';
14
+ }
15
+
16
+ # Copy script for installing java 7
17
+ file { '/home/vagrant/install-java7.sh':
18
+ owner => vagrant,
19
+ group => vagrant,
20
+ mode => 0755,
21
+ source => 'puppet:///modules/java/install-java7.sh';
22
+ }
23
+
24
+ # Copy script for installing java 8
25
+ file { '/home/vagrant/install-java8.sh':
26
+ owner => vagrant,
27
+ group => vagrant,
28
+ mode => 0755,
29
+ source => 'puppet:///modules/java/install-java8.sh';
30
+ }
31
+
32
+ # Run script for bypassing java EULA
33
+ exec { "accept-java-license":
34
+ require => File['/home/vagrant/accept-java-license.sh'],
35
+ command => "/home/vagrant/accept-java-license.sh"
36
+ }
37
+
38
+ # Install Oracle Java 7 Installer
39
+ # exec { "oracle-java7-install-script":
40
+ # require => [
41
+ # Exec['accept-java-license'],
42
+ # File['/home/vagrant/install-java7.sh']
43
+ # ],
44
+ # logoutput => true,
45
+ # command => "/home/vagrant/install-java7.sh"
46
+ # }
47
+
48
+ # Install Oracle Java 8 Installer
49
+ # exec { "oracle-java8-install-script":
50
+ # require => [
51
+ # Exec['accept-java-license'],
52
+ # File['/home/vagrant/install-java8.sh'],
53
+ # ],
54
+ # logoutput => true,
55
+ # command => "/home/vagrant/install-java8.sh"
56
+ # }
57
+
58
+ package { 'oracle-java7-installer':
59
+ require => Exec['accept-java-license'],
60
+ ensure => present,
61
+ }
62
+
63
+ package { 'oracle-java8-installer':
64
+ require => Exec['accept-java-license'],
65
+ ensure => present,
66
+ }
67
+
68
+ # package { 'openjdk-7-jdk':
69
+ # ensure => present,
70
+ # }
71
+
72
+ # package { 'openjdk-8-jdk':
73
+ # ensure => present,
74
+ # }
75
+
76
+ # Update java alternatives
77
+ exec { "updated-alternatives":
78
+ require => [
79
+ Package['oracle-java7-installer'],
80
+ Package['oracle-java8-installer'],
81
+ # Exec['oracle-java7-install-script'],
82
+ # Exec['oracle-java8-install-script'],
83
+ ],
84
+ command => "/usr/sbin/update-java-alternatives -s java-8-oracle",
85
+ }
86
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: links
2
+ #
3
+ # Installs links browser.
4
+ #
5
+ class links {
6
+ require core
7
+
8
+ package { 'links':
9
+ ensure => present;
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: llvm
2
+ #
3
+ # Installs llvm.
4
+ #
5
+ class llvm {
6
+ require core
7
+
8
+ package { 'llvm':
9
+ ensure => present;
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ # == Class: lynx
2
+ #
3
+ # Installs lynx browser.
4
+ #
5
+ class lynx {
6
+ require core
7
+
8
+ package { 'lynx':
9
+ ensure => present;
10
+ }
11
+ }