summaryrefslogtreecommitdiff
path: root/manifests/js.pp
blob: 646db027a659e3d27cb7ef6870f7b5777ad74f40 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Copyright 2015 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Class to install kibana frontend to logstash.
#
class kibana::js (
  $vhost_template              = 'kibana/dual-elasticsearch.vhost.erb',
  $vhost_aliases               = [],
  $vhost_name                  = $::fqdn,
  $vhost_proxy_timeout         = '120',
  $vhost_proxy_connect_timeout = '15',
  $elasticsearch_url           = 'http://localhost:9200',
  $elasticsearch_prefix        = '/',  # Must contain trailing /
  $git_revision                = 'v3.1.2',
) {

  $base_path = "/opt/kibana/${git_revision}"

  vcsrepo { $base_path:
    ensure   => latest,
    provider => 'git',
    source   => 'https://github.com/elasticsearch/kibana.git',
    revision => $git_revision,
    owner    => 'www-data',
  }

  file { "${base_path}/src/config.js":
    ensure    => present,
    content   => template('kibana/config.js.erb'),
    owner     => 'www-data',
    require   => Vcsrepo[$base_path],
    subscribe => Vcsrepo[$base_path],
  }

  apache::vhost { 'kibana':
    docroot       => "${base_path}/src",
    vhost_name    => $vhost_name,
    serveraliases => $vhost_aliases,
    port          => 80,
    template      => $vhost_template,
  }

}