
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
This plugin aims to enable repository synconrinzation and managament in Foreman. It is of alpha quality right now and currently handles only yum/rpm repositories ;)
Require the gem in Foreman by creating bundler.d/Gemfile.local.rb
with the
following:
gem 'foreman_content'
Update & Restart Foreman:
bundle update
rake db:migrate
touch tmp/restart.txt (if using passeger)
You would need to allow foreman to communicate with pulp, under More -> Settings -> Content, you would need to enable pulp, and set the pulp url and oauth creds, for example:
You would see in the UI under More, a new sub menu called content, in it:
If you are planning to sync non OS packages (e.g. 3rd party yum repo), you should first create a product, e.g. Foreman 1.2-stable, afterwards, you can add repositories to it.
Under Content -> Repository create a new repo
Once created, the repo would automatically be synced but not yet visible for end users, for that you would need to create a Content View.
Content Views, are a collection of immutibal repositories, these repositories are cloned from the synced repository and allow you to have multiple repositories definitions per Operation Systems, Custom yum repos, and Hostgroups.
You would first need to create a content view per Product / Operation system.
In your hostgroup definiton, you can select the operation system and the custom products you are interested in.
next under the content view, you can create a new hostgroup content view, and select the releavnt content view you would like to consume within your hostgroup.
You could also define the puppet environment(s) in which the content view is used.
Once a kickstart repo has been assigned to an OS, it would automatically prefer that repo as an install media, so if that is all you want to do, its done automatically.
if you wish to add more yum type repos during KS, you may add the following snippet to your provisioning template.
<% @repos.each do |repo| %>
repo --name=<%= repo[:name] %> --baseurl=<%= repo[:baseurl] %>
<% end %>
Assuming you are using puppet with ENC functionality, its pretty simple to let puppet manage the repositories, Foreman would expose all repository information via the ENC as a global parameter, you can later on simply consume it with create resources, e.g:
if $::repositories {
create_resources('yumrepo', $::repositories)
}
Pulp can notify foreman when events happen (e.g. repo sync is finished etc), in order to configure it run on your pulp server:
pulp-admin event listener http create --event-type '*' --url https://foreman.example.com/api/repositories/events
foreman_content plugin Copyright (c) 2013 Red Hat Inc.
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/.
FAQs
Unknown package
We found that foreman_content demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.