"The role of the "tayu" is to express the emotions and the personality of the puppets." wikipedia.
A web service to integrate PuppetDB with Rundeck.
json
sinatra
builder
rest-client
Install the gem
$ sudo gem install tayu --no-ri --no-rdoc
Run the tayu
binary.
$ sudo wget "https://raw.github.com/sirhopcount/tayu/master/tayu.init" -O "/etc/init.d/tayu"
$ sudo /etc/init.d/tayu start
Tayu has a yaml-based configuration file called tayu.yml. Depending on your gem path you can find it in the config subdirectory of your tayu installation.
The default configuration is as follows:
:puppetdb_server: localhost
:puppetdb_port: 8080
:username: rundeck
:allowed_tags:
architecture
The options pretty much speak for them selfs.
- puppetdb_server : hostname or ip address of PuppetDB server.
- puppetdb_port : Default should be good but if you have your PuppetDB running on another port you can change it here.
- username : The username passed to rundeck (used for ssh/scp connections).
- allowed_tags : Which facts should converted to tags.
Tayu gives you the ability to pass facts as tags to Rundeck. If for example you have created an custom fact called location you can pass this as an tag by adding it to the allowed_tags option.
:allowed_tags:
location
Tayu will then pass the fact as an tag to Rundeck.
<node name="exampleserver.lan"
type="Node"
description="exampleserver.lan"
osArch="Linux"
osFamily="unix"
osName="Ubuntu"
tags="amsterdam"
osVersion="12.04"
username="rundeck"
hostname="exampleserver.lan"/>
Adrian van Dongen [email protected]
Author:: Adrian van Dongen (<[email protected]>)
Copyright:: Copyright (c) 2012 Adrian van Dongen
License:: Apache License, Version 2.0
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.