All Projects → theforeman → Puppetdb_foreman

theforeman / Puppetdb_foreman

Licence: gpl-3.0
PuppetDB proxy in Foreman

Programming Languages

ruby
36898 projects - #4 most used programming language

puppetdb_foreman

Code Climate Gem Version

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/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].