This is a Foreman plugin to interact with PuppetDB.
It does the following:
- Disables hosts on PuppetDB after they are deleted in Foreman.
- Proxies the PuppetDB Performance Dashboard for access through Foreman.
- Compares nodes in PuppetDB to Hosts in Foreman.
- Creates Hosts in Foreman from PuppetDB facts.
Feel free to raise issues, ask for features, anything, in the github repository or #theforeman IRC channel in Freenode.
From packages
Set up the appropriate repository by following these instructions
RPM users can install the tfm-rubygem-puppetdb_foreman
(el7) or rubygem-puppetdb_foreman
(f24) packages.
deb users can install the ruby-puppetdb-foreman
package.
From Rubygems
Add to bundler.d/Gemfile.local.rb as:
gem 'puppetdb_foreman'
then update & restart Foreman:
bundle update
service restart foreman or equivalent
Versioning
puppetdb_foreman uses Semantic Versioning 2.0.0
Go to Administer > Settings > PuppetDB and set puppetdb_address
with your PuppetDB address, puppetdb_dashboard_address
(optional) to proxy the dashboard, puppetdb_enabled
to either true or false if you want to enable or disable PuppetDB integration. Obviously you will need a PuppetDB instance at the address you provide.
Alternatively you can put your settings in config/settings.yaml
. Please keep in mind these will be overwritten if changed in the application, and if the application is rebooted, YAML rules will overwrite again your manually changed settings. Hence passing your settings in this format is discouraged, but allowed.
for PuppetDB 4
:puppetdb:
:enabled: true
:address: 'https://puppetdb:8081/pdb/cmd/v1'
:dashboard_address: 'http://puppetdb:8080/pdb/dashboard'
:puppetdb_ssl_ca_file: '/etc/puppetlabs/puppet/ssl/certs/ca.pem'
:puppetdb_ssl_certificate: '/etc/puppetlabs/puppet/ssl/certs/FQDN.pem'
:puppetdb_ssl_private_key: '/etc/puppetlabs/puppet/ssl/private_keys/FQDN.pem'
You can find the dashboard under Monitor > PuppetDB dashboard. Only administrators and users with a role view_puppetdb_dashboard
will be able to access it. Aside from convenience, the PuppetDB dashboard cannot be served over HTTPS, you can restrict your dashboard requests to only Foreman boxes and serve it securely to your users through HTTPS in Foreman.
Copyright 2013 CERN, Switzerland and various authors
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.