Skip to content

betadots/foreman_hdm

ForemanHdm

License Test Release RubyGem Version RubyGem Downloads

Browse hiera data for a given Host using HDM and the HDM smart proxy plugin.

Requirement

You must have a HDM installation running. If you are running with authentication enabled, you need an API user in HDM.

Installation

See How_to_Install_a_Plugin for how to install Foreman plugins

The most simple way is installing from packages (available with Foreman 3.6 and later)

RedHat: dnf install rubygem-foreman_hdm rubygem-smart_proxy_hdm

After installation you must initialize the database: foreman-rake db:migrate

The HDM Smart Proxy must be configured:

# /etc/foreman-proxy/settings.d/hdm.yml
# HDM Smart Proxy
:enabled: https
:hdm_url: 'http://<HDM IP>:<HDM Port>'
:hdm_user: '<HDM API User Email>'
:hdm_password: '<HDM API User Password>'

Next you must restart the smart-proxy: systemctl restart foreman-proxy

Usage

Go to Foreman and Refresh the Smart Proxy features.

Within the nodes or node groups you can now set the HDM Smart Proxy.

When you now select a node, you will see an HDM tab.

TODO

Todo list here

Contributing

Fork and send a Pull Request. Thanks!

Copyright

Copyright (c) 2023 betadots GmbH

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

Release a new version

To make a new release, please do:

  • update the version in lib/foreman_hdm/version.rb
  • Install gems with bundle install --with release --path .vendor
  • generate the changelog with bundle exec rake changelog
  • Check if the new version matches the closed issues/PRs in the changelog
    • if required, add labels to unlabled PR/issues, regenerate the changelog
  • Create a PR with it
  • After it got merged, push a tag that's prefixed with v. GitHub Actions will do the actual release to Rubygems and GitHub Packages

The Foreman team packages this gem as Debian package (deb) and as RedHat package (rpm). They have a bot that will automatically propose an rpm/deb update at github.com/theforeman/foreman-packaging.