New composable service: Sensu
authorMartin Mágr <mmagr@redhat.com>
Mon, 23 May 2016 11:15:42 +0000 (13:15 +0200)
committerMartin Mágr <mmagr@redhat.com>
Mon, 8 Aug 2016 12:16:51 +0000 (12:16 +0000)
Depends-On: Ic095cd1248cc2ffcef363893b20ff57f7befd6fc
Change-Id: Ia09d14fa9db07595d2e904bd9918e5645ea590c7

manifests/profile/base/monitoring/rabbitmq.pp [new file with mode: 0644]
manifests/profile/base/monitoring/sensu.pp [new file with mode: 0644]
manifests/profile/base/monitoring/uchiwa.pp [new file with mode: 0644]
metadata.json

diff --git a/manifests/profile/base/monitoring/rabbitmq.pp b/manifests/profile/base/monitoring/rabbitmq.pp
new file mode 100644 (file)
index 0000000..4c5ad41
--- /dev/null
@@ -0,0 +1,54 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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: tripleo::profile::base::sensu::rabbitmq
+#
+# RabbitMQ configuration for Sensu stack for TripleO
+#
+# === Parameters
+#
+# [*vhost*]
+#   (Optional) String. RabbitMQ vhost to be used by Sensu
+#   Defaults to '/sensu'
+#
+# [*user*]
+#   (Optional) String. Username to connect to RabbitMQ server
+#   Defaults to hiera('rabbit_username', 'sensu')
+#
+# [*password*]
+#   (Optional) String. Password to connect to RabbitMQ server
+#   Defaults to hiera('rabbit_password', undef)
+#
+class tripleo::profile::base::monitoring::rabbitmq (
+  $vhost    = hiera('monitoring_rabbitmq_vhost', '/sensu'),
+  $user     = hiera('monitoring_rabbitmq_username', 'sensu'),
+  $password = hiera('monitoring_rabbitmq_password', undef),
+) {
+  rabbitmq_vhost { 'sensu-rabbit-vhost':
+    ensure => present,
+    name   => $vhost
+  }
+
+  rabbitmq_user { 'sensu-rabbit-user':
+    name     => $user,
+    password => $password,
+    tags     => ['monitoring']
+  }
+
+  rabbitmq_user_permissions { "${user}@${vhost}":
+    configure_permission => '.*',
+    read_permission      => '.*',
+    write_permission     => '.*',
+  }
+}
diff --git a/manifests/profile/base/monitoring/sensu.pp b/manifests/profile/base/monitoring/sensu.pp
new file mode 100644 (file)
index 0000000..af09059
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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: tripleo::profile::base::monitoring::sensu
+#
+# Sensu configuration for TripleO
+#
+# === Parameters
+#
+# [*step*]
+#   (Optional) String. The current step of the deployment
+#   Defaults to hiera('step')
+#
+class tripleo::profile::base::monitoring::sensu (
+  $step = hiera('step', undef),
+) {
+
+  if $step == undef or $step >= 3 {
+    include ::sensu
+
+    package { 'osops-tools-monitoring-oschecks':
+      ensure => 'present'
+    }
+  }
+}
diff --git a/manifests/profile/base/monitoring/uchiwa.pp b/manifests/profile/base/monitoring/uchiwa.pp
new file mode 100644 (file)
index 0000000..7c61f3e
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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: tripleo::profile::base::monitoring::uchiwa
+#
+# Monitoring dashboards for TripleO
+#
+# === Parameters
+#
+# [*step*]
+#   (Optional) String. The current step of the deployment
+#   Defaults to hiera('step')
+#
+class tripleo::profile::base::monitoring::uchiwa (
+  $step = hiera('step', undef),
+) {
+
+  if $step == undef or $step >= 3 {
+    include ::uchiwa
+  }
+}
index 457f86e..8d38b3f 100644 (file)
@@ -23,6 +23,8 @@
     }
   ],
   "dependencies": [
-    { "name": "puppetlabs/stdlib", "version_requirement": ">= 3.2.0 < 5.0.0" }
+    { "name": "puppetlabs/stdlib", "version_requirement": ">= 3.2.0 < 5.0.0" },
+    { "name": "sensu/sensu" },
+    { "name": "yelp/uchiwa" }
   ]
 }