ForemanProbing
A plugin enabling Foreman to detect machines on the network and make the show up as Hosts.
Installation
The installation is split into four parts. General prerequisites and installing Foreman, Smart Proxy and Smart Proxy Dynflow Core plugins
Prerequisites
- Install nmap
- This assumes the following directory structure
$PROJECT_ROOT
+- foreman
+- foreman_probing
+- smart-proxy-probing
+- smart_proxy_dynflow
`- smart-proxy
Installing the Foreman plugin
- Clone this repository
- Tell Foreman to load the gem
# In Foreman's checkout
cat <<-END > bundler.d/foreman_probing.rb
gem 'foreman_probing', :path => '../foreman_probing'
END
- Run
bundle install
- Run the migrations and seeds
bundle exec rake db:migrate
bundle exec rake db:seed
Installing the Smart Proxy plugin
- Clone the
smart-proxy-probing
repository - Enable the plugin
# In smart-proxy checkout
cat <<-END > config/settings.d/probing.yml
---
:enabled: true
END
cat <<-END > bundler.d/smart-proxy-probing.rb
gem 'smart-proxy-probing', :path => '../smart-proxy-probing'
END
- Run
bundle install
Installing the Smart Proxy Dynflow Core plugin
- Clone this repository
- Enable the plugin
# in smart_proxy_dynflow
cat <<-END > bundler.d/foreman_probing_core.rb
gem 'foreman_probing_core', :path => '../foreman_probing'
END
Usage
- Navigate to Monitor > Network scans
- Click Run Scan
- Fill out the form
- Run the scan
- Wait for it to finish
- Observe Hosts created for the scanned machines
- Use Remote Execution or Ansible to manage the hosts
- (optional) Use Remote Execution or Ansible to deploy agents (Puppet, Katello, Chef, Salt minion...)
Ansible roles
Some of the roles need foreman_url
parameter to be set. It would be probably best to set this parameter as global and be done with it.
Contributing
Fork and send a Pull Request. Thanks!
Copyright
Copyright (c) 2017 Adam Ruzicka
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/.