theforeman / Puppetdb_foreman
Programming Languages
puppetdb_foreman
This is a Foreman plugin to interact with PuppetDB.
It does the following:
- Disables hosts on PuppetDB after they are deleted in 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.
Compatibility
Foreman Version | Plugin Version |
---|---|
>= 1.17 | ~> 4.0.0 |
>= 1.20 | ~> 5.0.0 |
Installation:
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
Usage:
Go to Administer > Settings > PuppetDB and set puppetdb_address
with your PuppetDB address, 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'
:ssl_ca_file: '/etc/puppetlabs/puppet/ssl/certs/ca.pem'
:ssl_certificate: '/etc/puppetlabs/puppet/ssl/certs/FQDN.pem'
:ssl_private_key: '/etc/puppetlabs/puppet/ssl/private_keys/FQDN.pem'
:api_version: 4
Copyright:
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/.