daddy 0.3.13 → 0.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8c3c032215479d481adf8381420f51701591c21d
4
- data.tar.gz: 82bd1ebe703e78498029ebdf3a8989391892e67f
3
+ metadata.gz: 4d5150f9cbfc05fcf8b3a01de805b9f58135a8ef
4
+ data.tar.gz: c845fadd5f6d4768dfa53d9d8e9e5bc2b4a42e1e
5
5
  SHA512:
6
- metadata.gz: d6d3b97707f3701e3f3066102339109d2672c2832f285b2809e75d3d323543d71e138c1e895342d9ca1e2ceeed30bf34971ad03af8982a41953fd7e8e1f0ce9f
7
- data.tar.gz: 812c1f887c8eeb341fef965d37d1227aabfaa4bb6dd6d287e872d942a9fa7639d7560d9ea34bf214a8ae347e014e182698d94c42362c6ec0618c8807644056ca
6
+ metadata.gz: d695d73e2745db21c216b40956f66efaaaadddb70d1840303be204a9cb873469875630c04768269b673e3a34b9ab3783be294883c77e6e184ec6c6fef3c26b01
7
+ data.tar.gz: 4b15658091e9b62019324fb1456870574d4fe3ea84f6e249e80a372d5c991ae08dc5e67a82e8ddf8219ad0731a0a9e7e4e455074e8bf703102f5b1dc964a4cce
@@ -49,8 +49,8 @@ module Daddy
49
49
  end
50
50
 
51
51
  def ssl_options
52
- lib_dir = File.expand_path('../..', __FILE__)
53
- ca_path = File.join(lib_dir, 'ssl')
52
+ daddy_dir = File.expand_path('../../..', __FILE__)
53
+ ca_path = File.join(daddy_dir, 'ssl')
54
54
 
55
55
  ret = {
56
56
  :ca_path => ca_path,
@@ -1,3 +1,3 @@
1
1
  module Daddy
2
- VERSION = '0.3.13'.freeze
2
+ VERSION = '0.3.14'.freeze
3
3
  end
@@ -0,0 +1,23 @@
1
+ require_relative 'task_helper'
2
+
3
+ namespace :dad do
4
+ namespace :es do
5
+
6
+ desc "Elasticsearchをインストールします。"
7
+ task :install do
8
+ @options = {
9
+ :path_data => ask('path.data', :default => '/opt/elasticsearch/data')
10
+ }
11
+
12
+ template = File.join(File.dirname(__FILE__), 'elasticsearch', 'elasticsearch.yml.erb')
13
+ render(template, :to => File.join('tmp', 'elasticsearch.yml'))
14
+
15
+ template = File.join(File.dirname(__FILE__), 'elasticsearch', 'elasticsearch.conf.erb')
16
+ render(template, :to => File.join('tmp', 'elasticsearch.conf'))
17
+
18
+ script = File.join(File.dirname(__FILE__), 'elasticsearch', 'install.sh')
19
+ run "bash -ex #{script}"
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,128 @@
1
+ set.default.ES_HOME=/opt/elasticsearch
2
+ set.default.ES_HEAP_SIZE=1024
3
+
4
+ #********************************************************************
5
+ # Wrapper Timeout Properties
6
+ #********************************************************************
7
+ # How long to wait for the JVM to start (in seconds)
8
+ wrapper.startup.timeout=300
9
+ # How long to wait for the JVM to stop (in seconds)
10
+ wrapper.shutdown.timeout=300
11
+ # When a ping will timeout to consider the JVM hung (in seconds)
12
+ wrapper.ping.timeout=300
13
+
14
+ #********************************************************************
15
+ # Wrapper Java Properties
16
+ #********************************************************************
17
+ # Java Application
18
+ wrapper.java.command=java
19
+
20
+ # Tell the Wrapper to log the full generated Java command line.
21
+ #wrapper.java.command.loglevel=INFO
22
+
23
+ wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
24
+
25
+ wrapper.working.dir=%ES_HOME%
26
+
27
+ # Java Classpath (include wrapper.jar) Add class path elements as
28
+ # needed starting from 1
29
+ wrapper.java.classpath.1=%ES_HOME%/bin/service/lib/wrapper.jar
30
+ wrapper.java.classpath.2=%ES_HOME%/lib/elasticsearch*.jar
31
+ wrapper.java.classpath.3=%ES_HOME%/lib/*.jar
32
+ wrapper.java.classpath.4=%ES_HOME%/lib/sigar/*.jar
33
+
34
+ # Java Library Path (location of Wrapper.DLL or libwrapper.so)
35
+ wrapper.java.library.path.1=%ES_HOME%/bin/service/lib
36
+
37
+ # Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
38
+ wrapper.java.additional.auto_bits=TRUE
39
+
40
+ # Java Additional Parameters
41
+ wrapper.java.additional.1=-Delasticsearch-service
42
+ wrapper.java.additional.2=-Des.path.home=%ES_HOME%
43
+ wrapper.java.additional.3=-Xss256k
44
+ wrapper.java.additional.4=-XX:+UseParNewGC
45
+ wrapper.java.additional.5=-XX:+UseConcMarkSweepGC
46
+ wrapper.java.additional.6=-XX:CMSInitiatingOccupancyFraction=75
47
+ wrapper.java.additional.7=-XX:+UseCMSInitiatingOccupancyOnly
48
+ wrapper.java.additional.8=-XX:+HeapDumpOnOutOfMemoryError
49
+ wrapper.java.additional.9=-Djava.awt.headless=true
50
+
51
+ # Initial Java Heap Size (in MB)
52
+ wrapper.java.initmemory=%ES_HEAP_SIZE%
53
+
54
+ # Maximum Java Heap Size (in MB)
55
+ wrapper.java.maxmemory=%ES_HEAP_SIZE%
56
+
57
+ # Application parameters. Add parameters as needed starting from 1
58
+ wrapper.app.parameter.1=org.elasticsearch.bootstrap.ElasticsearchF
59
+
60
+ #********************************************************************
61
+ # Wrapper Logging Properties
62
+ #********************************************************************
63
+ # Enables Debug output from the Wrapper.
64
+ # wrapper.debug=TRUE
65
+
66
+ # Format of output for the console. (See docs for formats)
67
+ wrapper.console.format=PM
68
+
69
+ # Log Level for console output. (See docs for log levels)
70
+ wrapper.console.loglevel=INFO
71
+
72
+ # Log file to use for wrapper output logging.
73
+ wrapper.logfile=%ES_HOME%/logs/service.log
74
+
75
+ # Format of output for the log file. (See docs for formats)
76
+ wrapper.logfile.format=LPTM
77
+
78
+ # Log Level for log file output. (See docs for log levels)
79
+ wrapper.logfile.loglevel=INFO
80
+
81
+ # Maximum size that the log file will be allowed to grow to before
82
+ # the log is rolled. Size is specified in bytes. The default value
83
+ # of 0, disables log rolling. May abbreviate with the 'k' (kb) or
84
+ # 'm' (mb) suffix. For example: 10m = 10 megabytes.
85
+ wrapper.logfile.maxsize=0
86
+
87
+ # Maximum number of rolled log files which will be allowed before old
88
+ # files are deleted. The default value of 0 implies no limit.
89
+ wrapper.logfile.maxfiles=0
90
+
91
+ # Log Level for sys/event log output. (See docs for log levels)
92
+ wrapper.syslog.loglevel=NONE
93
+
94
+ #********************************************************************
95
+ # Wrapper General Properties
96
+ #********************************************************************
97
+ # Allow for the use of non-contiguous numbered properties
98
+ wrapper.ignore_sequence_gaps=TRUE
99
+
100
+ # Title to use when running as a console
101
+ wrapper.console.title=Elasticsearch
102
+
103
+ #********************************************************************
104
+ # Wrapper Windows NT/2000/XP Service Properties
105
+ #********************************************************************
106
+ # WARNING - Do not modify any of these properties when an application
107
+ # using this configuration file has been installed as a service.
108
+ # Please uninstall the service before modifying this section. The
109
+ # service can then be reinstalled.
110
+
111
+ # Name of the service
112
+ wrapper.name=Elasticsearch
113
+
114
+ # Display name of the service
115
+ wrapper.displayname=Elasticsearch
116
+
117
+ # Description of the service
118
+ wrapper.description=Open Source, Distributed, RESTful Search Engine
119
+
120
+ # Service dependencies. Add dependencies as needed starting from 1
121
+ wrapper.ntservice.dependency.1=
122
+
123
+ # Mode in which the service is installed. AUTO_START, DELAY_START or DEMAND_START
124
+ wrapper.ntservice.starttype=AUTO_START
125
+
126
+ # Allow the service to interact with the desktop.
127
+ wrapper.ntservice.interactive=false
128
+
@@ -0,0 +1,388 @@
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
+ <%- unless @options[:path_data].empty? -%>
157
+ path.data: <%= @options[:path_data] %>
158
+ <%- end -%>
159
+
160
+ # Path to temporary files:
161
+ #
162
+ #path.work: /path/to/work
163
+
164
+ # Path to log files:
165
+ #
166
+ #path.logs: /path/to/logs
167
+
168
+ # Path to where plugins are installed:
169
+ #
170
+ #path.plugins: /path/to/plugins
171
+
172
+
173
+ #################################### Plugin ###################################
174
+
175
+ # If a plugin listed here is not installed for current node, the node will not start.
176
+ #
177
+ #plugin.mandatory: mapper-attachments,lang-groovy
178
+
179
+
180
+ ################################### Memory ####################################
181
+
182
+ # Elasticsearch performs poorly when JVM starts swapping: you should ensure that
183
+ # it _never_ swaps.
184
+ #
185
+ # Set this property to true to lock the memory:
186
+ #
187
+ #bootstrap.mlockall: true
188
+
189
+ # Make sure that the ES_MIN_MEM and ES_MAX_MEM environment variables are set
190
+ # to the same value, and that the machine has enough memory to allocate
191
+ # for Elasticsearch, leaving enough memory for the operating system itself.
192
+ #
193
+ # You should also make sure that the Elasticsearch process is allowed to lock
194
+ # the memory, eg. by using `ulimit -l unlimited`.
195
+
196
+
197
+ ############################## Network And HTTP ###############################
198
+
199
+ # Elasticsearch, by default, binds itself to the 0.0.0.0 address, and listens
200
+ # on port [9200-9300] for HTTP traffic and on port [9300-9400] for node-to-node
201
+ # communication. (the range means that if the port is busy, it will automatically
202
+ # try the next port).
203
+
204
+ # Set the bind address specifically (IPv4 or IPv6):
205
+ #
206
+ #network.bind_host: 192.168.0.1
207
+
208
+ # Set the address other nodes will use to communicate with this node. If not
209
+ # set, it is automatically derived. It must point to an actual IP address.
210
+ #
211
+ #network.publish_host: 192.168.0.1
212
+
213
+ # Set both 'bind_host' and 'publish_host':
214
+ #
215
+ #network.host: 192.168.0.1
216
+
217
+ # Set a custom port for the node to node communication (9300 by default):
218
+ #
219
+ #transport.tcp.port: 9300
220
+
221
+ # Enable compression for all communication between nodes (disabled by default):
222
+ #
223
+ #transport.tcp.compress: true
224
+
225
+ # Set a custom port to listen for HTTP traffic:
226
+ #
227
+ #http.port: 9200
228
+
229
+ # Set a custom allowed content length:
230
+ #
231
+ #http.max_content_length: 100mb
232
+
233
+ # Disable HTTP completely:
234
+ #
235
+ #http.enabled: false
236
+
237
+
238
+ ################################### Gateway ###################################
239
+
240
+ # The gateway allows for persisting the cluster state between full cluster
241
+ # restarts. Every change to the state (such as adding an index) will be stored
242
+ # in the gateway, and when the cluster starts up for the first time,
243
+ # it will read its state from the gateway.
244
+
245
+ # There are several types of gateway implementations. For more information, see
246
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-gateway.html>.
247
+
248
+ # The default gateway type is the "local" gateway (recommended):
249
+ #
250
+ #gateway.type: local
251
+
252
+ # Settings below control how and when to start the initial recovery process on
253
+ # a full cluster restart (to reuse as much local data as possible when using shared
254
+ # gateway).
255
+
256
+ # Allow recovery process after N nodes in a cluster are up:
257
+ #
258
+ #gateway.recover_after_nodes: 1
259
+
260
+ # Set the timeout to initiate the recovery process, once the N nodes
261
+ # from previous setting are up (accepts time value):
262
+ #
263
+ #gateway.recover_after_time: 5m
264
+
265
+ # Set how many nodes are expected in this cluster. Once these N nodes
266
+ # are up (and recover_after_nodes is met), begin recovery process immediately
267
+ # (without waiting for recover_after_time to expire):
268
+ #
269
+ #gateway.expected_nodes: 2
270
+
271
+
272
+ ############################# Recovery Throttling #############################
273
+
274
+ # These settings allow to control the process of shards allocation between
275
+ # nodes during initial recovery, replica allocation, rebalancing,
276
+ # or when adding and removing nodes.
277
+
278
+ # Set the number of concurrent recoveries happening on a node:
279
+ #
280
+ # 1. During the initial recovery
281
+ #
282
+ #cluster.routing.allocation.node_initial_primaries_recoveries: 4
283
+ #
284
+ # 2. During adding/removing nodes, rebalancing, etc
285
+ #
286
+ #cluster.routing.allocation.node_concurrent_recoveries: 2
287
+
288
+ # Set to throttle throughput when recovering (eg. 100mb, by default 20mb):
289
+ #
290
+ #indices.recovery.max_bytes_per_sec: 20mb
291
+
292
+ # Set to limit the number of open concurrent streams when
293
+ # recovering a shard from a peer:
294
+ #
295
+ #indices.recovery.concurrent_streams: 5
296
+
297
+
298
+ ################################## Discovery ##################################
299
+
300
+ # Discovery infrastructure ensures nodes can be found within a cluster
301
+ # and master node is elected. Multicast discovery is the default.
302
+
303
+ # Set to ensure a node sees N other master eligible nodes to be considered
304
+ # operational within the cluster. This should be set to a quorum/majority of
305
+ # the master-eligible nodes in the cluster.
306
+ #
307
+ #discovery.zen.minimum_master_nodes: 1
308
+
309
+ # Set the time to wait for ping responses from other nodes when discovering.
310
+ # Set this option to a higher value on a slow or congested network
311
+ # to minimize discovery failures:
312
+ #
313
+ #discovery.zen.ping.timeout: 3s
314
+
315
+ # For more information, see
316
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-zen.html>
317
+
318
+ # Unicast discovery allows to explicitly control which nodes will be used
319
+ # to discover the cluster. It can be used when multicast is not present,
320
+ # or to restrict the cluster communication-wise.
321
+ #
322
+ # 1. Disable multicast discovery (enabled by default):
323
+ #
324
+ #discovery.zen.ping.multicast.enabled: false
325
+ #
326
+ # 2. Configure an initial list of master nodes in the cluster
327
+ # to perform discovery when new nodes (master or data) are started:
328
+ #
329
+ #discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]
330
+
331
+ # EC2 discovery allows to use AWS EC2 API in order to perform discovery.
332
+ #
333
+ # You have to install the cloud-aws plugin for enabling the EC2 discovery.
334
+ #
335
+ # For more information, see
336
+ # <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-ec2.html>
337
+ #
338
+ # See <http://elasticsearch.org/tutorials/elasticsearch-on-ec2/>
339
+ # for a step-by-step tutorial.
340
+
341
+ # GCE discovery allows to use Google Compute Engine API in order to perform discovery.
342
+ #
343
+ # You have to install the cloud-gce plugin for enabling the GCE discovery.
344
+ #
345
+ # For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-gce>.
346
+
347
+ # Azure discovery allows to use Azure API in order to perform discovery.
348
+ #
349
+ # You have to install the cloud-azure plugin for enabling the Azure discovery.
350
+ #
351
+ # For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-azure>.
352
+
353
+ ################################## Slow Log ##################################
354
+
355
+ # Shard level query and fetch threshold logging.
356
+
357
+ #index.search.slowlog.threshold.query.warn: 10s
358
+ #index.search.slowlog.threshold.query.info: 5s
359
+ #index.search.slowlog.threshold.query.debug: 2s
360
+ #index.search.slowlog.threshold.query.trace: 500ms
361
+
362
+ #index.search.slowlog.threshold.fetch.warn: 1s
363
+ #index.search.slowlog.threshold.fetch.info: 800ms
364
+ #index.search.slowlog.threshold.fetch.debug: 500ms
365
+ #index.search.slowlog.threshold.fetch.trace: 200ms
366
+
367
+ #index.indexing.slowlog.threshold.index.warn: 10s
368
+ #index.indexing.slowlog.threshold.index.info: 5s
369
+ #index.indexing.slowlog.threshold.index.debug: 2s
370
+ #index.indexing.slowlog.threshold.index.trace: 500ms
371
+
372
+ ################################## GC Logging ################################
373
+
374
+ #monitor.jvm.gc.young.warn: 1000ms
375
+ #monitor.jvm.gc.young.info: 700ms
376
+ #monitor.jvm.gc.young.debug: 400ms
377
+
378
+ #monitor.jvm.gc.old.warn: 10s
379
+ #monitor.jvm.gc.old.info: 5s
380
+ #monitor.jvm.gc.old.debug: 2s
381
+
382
+ ################################## Security ################################
383
+
384
+ # Uncomment if you want to enable JSONP as a valid return transport on the
385
+ # http server. With this enabled, it may pose a security risk, so disabling
386
+ # it unless you need it is recommended (it is disabled by default).
387
+ #
388
+ #http.jsonp.enable: true
@@ -0,0 +1,36 @@
1
+ #!/bin/bash
2
+
3
+ SCRIPT_BASE=`dirname $0`
4
+ VERSION="1.4.0"
5
+ URL=https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-${VERSION}.tar.gz
6
+ URL_SW=https://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master
7
+
8
+ mkdir -p tmp
9
+ pushd tmp
10
+ if [ -e elasticsearch-${VERSION}.tar.gz ]; then
11
+ echo "elasticsearch-${VERSION}.tar.gz はダウンロード済みです。"
12
+ else
13
+ wget ${URL}
14
+ fi
15
+
16
+ if [ -e elasticsearch-servicewrapper.tar.gz ]; then
17
+ echo "elasticsearch-servicewrapper.tar.gz はダウンロード済みです。"
18
+ else
19
+ wget ${URL_SW} -O elasticsearch-servicewrapper.tar.gz
20
+ fi
21
+
22
+ rm -Rf elasticsearch-${VERSION}
23
+ tar zxf elasticsearch-${VERSION}.tar.gz
24
+ sudo rm -Rf /opt/elasticsearch-${VERSION}
25
+ sudo mv elasticsearch-${VERSION} /opt/
26
+ sudo ln -snf /opt/elasticsearch-${VERSION} /opt/elasticsearch
27
+ sudo cp -f elasticsearch.yml /opt/elasticsearch/config/
28
+
29
+ rm -Rf elasticsearch-elasticsearch-servicewrapper*
30
+ tar zxf elasticsearch-servicewrapper.tar.gz
31
+ sudo mv elasticsearch-elasticsearch-servicewrapper*/service /opt/elasticsearch/bin/
32
+ sudo cp -f elasticsearch.conf /opt/elasticsearch/bin/service
33
+ sudo /opt/elasticsearch/bin/service/elasticsearch remove
34
+ sudo /opt/elasticsearch/bin/service/elasticsearch install
35
+ sudo chkconfig elasticsearch on
36
+ popd
@@ -1,6 +1,3 @@
1
- # coding: UTF-8
2
-
3
- require 'rake'
4
1
  require_relative 'task_helper'
5
2
 
6
3
  namespace :dad do
@@ -1,4 +1,3 @@
1
- require 'rake'
2
1
  require_relative 'task_helper'
3
2
 
4
3
  namespace :dad do
@@ -6,10 +5,15 @@ namespace :dad do
6
5
 
7
6
  desc "Kibanaをインストールします。"
8
7
  task :install do
9
- FileUtils.mkdir_p(File.join(rails_root, 'tmp'))
8
+ @options = {
9
+ :version => ask('version', :default => '3.1.2'),
10
+ :server => ask('server', :default => 'localhost')
11
+ }
12
+ render(task_file('kibana', 'config.js.erb'), :to => 'tmp/config.js')
13
+ render(task_file('kibana', 'nginx.conf.erb'), :to => 'tmp/nginx/kibana.conf')
10
14
 
11
- script = File.join(File.dirname(__FILE__), 'kibana', 'install.sh')
12
- fail unless system("bash -x #{script}")
15
+ run "bash -ex #{task_file('kibana', 'configure.sh')} #{@options[:version]}"
16
+ run "bash -ex #{task_file('kibana', 'install.sh')} #{@options[:version]}" unless ENV['DRY_RUN']
13
17
  end
14
18
 
15
19
  end
@@ -6,7 +6,7 @@
6
6
  */
7
7
  define(['settings'],
8
8
  function (Settings) {
9
- "use strict";
9
+
10
10
 
11
11
  /** @scratch /configuration/config.js/2
12
12
  *
@@ -29,7 +29,7 @@ function (Settings) {
29
29
  * +elasticsearch: {server: "http://localhost:9200", withCredentials: true}+
30
30
  *
31
31
  */
32
- elasticsearch: "https://"+window.location.hostname,
32
+ elasticsearch: "https://<%= @options[:server] %>",
33
33
 
34
34
  /** @scratch /configuration/config.js/5
35
35
  *
@@ -77,4 +77,4 @@ function (Settings) {
77
77
  'sparklines'
78
78
  ]
79
79
  });
80
- });
80
+ });
@@ -0,0 +1,16 @@
1
+ #!/bin/bash
2
+
3
+ SCRIPT_BASE=`dirname $0`
4
+ VERSION=$1
5
+
6
+ mkdir -p tmp
7
+ pushd tmp
8
+ if [ -e kibana-${VERSION}.tar.gz ]; then
9
+ echo "kibana-${VERSION}.tar.gz はダウンロード済みです。"
10
+ else
11
+ wget https://download.elasticsearch.org/kibana/kibana/kibana-${VERSION}.tar.gz
12
+ fi
13
+
14
+ rm -Rf kibana-${VERSION}
15
+ tar zxf kibana-${VERSION}.tar.gz
16
+ popd
@@ -1,20 +1,11 @@
1
1
  #!/bin/bash
2
2
 
3
3
  SCRIPT_BASE=`dirname $0`
4
- VERSION="3.1.0"
4
+ VERSION=$1
5
5
 
6
- mkdir -p tmp
7
- pushd tmp
8
- if [ -e kibana-${VERSION}.tar.gz ]; then
9
- echo "kibana-${VERSION}.tar.gz はダウンロード済みです。"
10
- else
11
- wget https://download.elasticsearch.org/kibana/kibana/kibana-${VERSION}.tar.gz
12
- fi
6
+ sudo rm -Rf /opt/kibana-${VERSION}
7
+ sudo mv tmp/kibana-${VERSION} /opt/
8
+ sudo ln -snf /opt/kibana-${VERSION} /opt/kibana
13
9
 
14
- tar zxf kibana-${VERSION}.tar.gz
15
- sudo rm -Rf /opt/kibana-${VERSION}
16
- sudo mv kibana-${VERSION} /opt/
17
- sudo ln -snf /opt/kibana-${VERSION} /opt/kibana
18
- popd
19
-
20
- cp -f ${SCRIPT_BASE}/config.js /opt/kibana/
10
+ cp -f tmp/config.js /opt/kibana/
11
+ sudo cp -f tmp/nginx/kibana.conf /etc/nginx/conf.d/servers/
@@ -0,0 +1,57 @@
1
+ #
2
+ # Nginx proxy for Elasticsearch + Kibana
3
+ #
4
+ # In this setup, we are password protecting the saving of dashboards. You may
5
+ # wish to extend the password protection to all paths.
6
+ #
7
+ # Even though these paths are being called as the result of an ajax request, the
8
+ # browser will prompt for a username/password on the first request
9
+ #
10
+ # If you use this, you'll want to point config.js at http://FQDN:80/ instead of
11
+ # http://FQDN:9200
12
+ #
13
+ server {
14
+ listen 443;
15
+ server_name <%= @options[:server] %>;
16
+ #access_log /var/log/nginx/kibana.access.log ltsv;
17
+ ssl_certificate /etc/pki/tls/certs/nginx.pem;
18
+ ssl_certificate_key /etc/pki/tls/certs/nginx.pem;
19
+
20
+ auth_basic "<%= @options[:server] %>";
21
+ auth_basic_user_file conf.d/.htpasswd;
22
+
23
+ location / {
24
+ root /opt/kibana;
25
+ index index.html index.htm;
26
+ }
27
+
28
+ location ~ ^/_aliases$ {
29
+ proxy_pass http://127.0.0.1:9200;
30
+ proxy_read_timeout 90;
31
+ }
32
+ location ~ ^/.*/_aliases$ {
33
+ proxy_pass http://127.0.0.1:9200;
34
+ proxy_read_timeout 90;
35
+ }
36
+ location ~ ^/_nodes$ {
37
+ proxy_pass http://127.0.0.1:9200;
38
+ proxy_read_timeout 90;
39
+ }
40
+ location ~ ^/.*/_search$ {
41
+ proxy_pass http://127.0.0.1:9200;
42
+ proxy_read_timeout 90;
43
+ }
44
+ location ~ ^/.*/_mapping {
45
+ proxy_pass http://127.0.0.1:9200;
46
+ proxy_read_timeout 90;
47
+ }
48
+
49
+ location ~ ^/kibana-int/dashboard/.*$ {
50
+ proxy_pass http://127.0.0.1:9200;
51
+ proxy_read_timeout 90;
52
+ }
53
+ location ~ ^/kibana-int/temp.*$ {
54
+ proxy_pass http://127.0.0.1:9200;
55
+ proxy_read_timeout 90;
56
+ }
57
+ }
@@ -18,13 +18,18 @@ def self.template_dir
18
18
  File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'templates')
19
19
  end
20
20
 
21
+ def self.task_file(*path)
22
+ File.join(File.dirname(__FILE__), *path)
23
+ end
24
+
21
25
  def self.render(template, options = {})
26
+ FileUtils.mkdir_p(File.dirname(options[:to]))
22
27
  File.write(options[:to], ERB.new(File.read(template), 0, '-').result)
23
28
  end
24
29
 
25
30
  def self.ask(prompt, options = {})
26
31
  if options[:default]
27
- print prompt + "[#{options[:default]}]: "
32
+ print prompt + " [#{options[:default]}]: "
28
33
  else
29
34
  print prompt + ": "
30
35
  end
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daddy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.13
4
+ version: 0.3.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichy
@@ -313,7 +313,6 @@ files:
313
313
  - lib/daddy/version.rb
314
314
  - lib/prefecture.rb
315
315
  - lib/sql_builder.rb
316
- - lib/ssl/cert.pem
317
316
  - lib/tasks/app_base_dir.rake
318
317
  - lib/tasks/cucumber.rake
319
318
  - lib/tasks/cucumber_install.rake
@@ -324,6 +323,10 @@ files:
324
323
  - lib/tasks/db_create.rake
325
324
  - lib/tasks/db_fixtures.rake
326
325
  - lib/tasks/diary.rake
326
+ - lib/tasks/elasticsearch.rake
327
+ - lib/tasks/elasticsearch/elasticsearch.conf.erb
328
+ - lib/tasks/elasticsearch/elasticsearch.yml.erb
329
+ - lib/tasks/elasticsearch/install.sh
327
330
  - lib/tasks/fluentd.conf
328
331
  - lib/tasks/fluentd.rake
329
332
  - lib/tasks/fluentd.repo
@@ -340,8 +343,10 @@ files:
340
343
  - lib/tasks/jenkins/jenkins
341
344
  - lib/tasks/jenkins/nginx.conf.erb
342
345
  - lib/tasks/kibana.rake
343
- - lib/tasks/kibana/config.js
346
+ - lib/tasks/kibana/config.js.erb
347
+ - lib/tasks/kibana/configure.sh
344
348
  - lib/tasks/kibana/install.sh
349
+ - lib/tasks/kibana/nginx.conf.erb
345
350
  - lib/tasks/nginx.app.conf.erb
346
351
  - lib/tasks/nginx.rake
347
352
  - lib/tasks/nginx/nginx.conf.erb
@@ -358,6 +363,7 @@ files:
358
363
  - lib/tasks/unicorn.erb
359
364
  - lib/tasks/unicorn.rake
360
365
  - lib/tasks/unicorn.rb.erb
366
+ - ssl/cert.pem
361
367
  - templates/Gemfile.erb
362
368
  - templates/app/controllers/controller.rb.erb
363
369
  - templates/app/views/_form.html.erb