Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
- Puppet >= 5.5.8 < 7.0.0
- ,
Start using this module
Add this module to your Puppetfile:
mod 'theforeman-pulpcore', '1.1.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-pulpcore
Puppet module for setting up Pulp 3 as part of Katello installation
Pulpcore 3.2
We are adding a few new settings to make the installer compatible with pulpcore 3.2. These settings are not available in releases prior to 3.2 and should not be used in earlier versions.
ALLOWED_IMPORT_PATHS : This setting whitelists paths that can be used for repository sync with file protocol. Katello uses the path /var/lib/pulp/sync_imports/ to run tests. For more information on this, see https://docs.pulpproject.org/settings.html#allowed-import-paths.
AUTHENTICATION_BACKENDS , REST_FRAMEWORK__DEFAULT_AUTHENTICATION_CLASSES : The defaults that katello uses are defined in templates/settings.py.erb. For more information on these authentication settings, see https://docs.pulpproject.org/installation/authentication.html
Reference
Table of Contents
Classes
Public Classes
pulpcore
: Manage your next generation Pulp serverpulpcore::plugin::certguard
: Pulp Certguard pluginpulpcore::plugin::container
: Pulp Container pluginpulpcore::plugin::file
: Pulp File pluginpulpcore::plugin::migration
: Pulp 2 to Pulp 3 Migration Pluginpulpcore::plugin::rpm
: Pulp RPM plugin
Private Classes
pulpcore::apache
: Configure an Apache vhostpulpcore::config
: Configures pulp3pulpcore::database
: Set up the PostgreSQL and Redis databasespulpcore::install
: Install pulpcore packages, configure user and grouppulpcore::service
: configure, enable, and start pulpcore services
Defined types
pulpcore::admin
: Run a python3-django-admin commandpulpcore::plugin
: Install a plugin
Classes
pulpcore
Manage your next generation Pulp server
Examples
include pulpcore
Parameters
The following parameters are available in the pulpcore
class.
cache_dir
Data type: Stdlib::Absolutepath
Pulp cache directory
Default value: '/var/lib/pulp/tmp'
config_dir
Data type: Stdlib::Absolutepath
Pulp configuration directory
Default value: '/etc/pulp'
user
Data type: String
Pulp user
Default value: 'pulp'
group
Data type: String
Pulp user group
Default value: 'pulp'
user_home
Data type: Stdlib::Absolutepath
Pulp user home directory
Default value: '/var/lib/pulp'
manage_apache
Data type: Boolean
Deploy a separate apache vhost for pulp3
Default value: true
api_host
Data type: Stdlib::Host
API service host
Default value: '127.0.0.1'
api_port
Data type: Stdlib::Port
API service port
Default value: 24817
content_host
Data type: Stdlib::Host
Content service host
Default value: '127.0.0.1'
content_port
Data type: Stdlib::Port
Content service port
Default value: 24816
webserver_static_dir
Data type: Stdlib::Absolutepath
Directory for Pulp webserver static content
Default value: '/var/lib/pulp/docroot'
pulp_static_root
Data type: Stdlib::Absolutepath
Root directory for collected static content
Default value: '/var/lib/pulp/assets'
postgresql_db_name
Data type: String
Name of Pulp PostgreSQL database
Default value: 'pulpcore'
postgresql_db_user
Data type: String
Pulp PostgreSQL database user
Default value: 'pulp'
postgresql_db_password
Data type: String
Password of Pulp PostgreSQL database
Default value: extlib::cache_data('pulpcore_cache_data', 'db_password', extlib::random_password(32))
postgresql_db_host
Data type: Stdlib::Host
Host to connect to Pulp PostgreSQL database
Default value: 'localhost'
postgresql_db_port
Data type: Stdlib::Port
Port to connect to Pulp PostgreSQL database
Default value: 5432
postgresql_manage_db
Data type: Boolean
Whether or not to manage the PostgreSQL installation. If false, a database at the specified host and port is expected to exist and the user should have sufficient permissions.
Default value: true
postgresql_db_ssl
Data type: Boolean
Whether to configure SSL connection for PostgresQL database. The configuration is only applied if the PostgresQL database is unmanaged.
Default value: false
postgresql_db_ssl_require
Data type: Optional[Boolean]
Specifies whether pulpcore is configured to require an encrypted connection to the unmanaged PostgreSQL database server.
Default value: undef
postgresql_db_ssl_cert
Data type: Optional[Stdlib::Absolutepath]
Path to the SSL certificate to be used for the SSL connection to PostgreSQL.
Default value: undef
postgresql_db_ssl_key
Data type: Optional[Stdlib::Absolutepath]
Path to the key to be used for the SSL connection to PostgreSQL.
Default value: undef
postgresql_db_ssl_root_ca
Data type: Optional[Stdlib::Absolutepath]
Path to the root certificate authority to validate the certificate supplied by the PostgreSQL database server.
Default value: undef
django_secret_key
Data type: String
SECRET_KEY for Django
Default value: extlib::cache_data('pulpcore_cache_data', 'secret_key', extlib::random_password(32))
redis_db
Data type: Integer[0]
Redis DB number to use. By default, Redis supports a DB number of 0 through 15.
Default value: 8
servername
Data type: Stdlib::Fqdn
Server name of the VirtualHost in the webserver
Default value: $facts['networking']['fqdn']
remote_user_environ_name
Data type: Optional[String]
Django remote user environment variable
Default value: undef
allowed_import_path
Data type: Array[Stdlib::Absolutepath]
Allowed paths that pulp can sync from using file:// protocol
Default value: ['/var/lib/pulp/sync_imports']
pulpcore::plugin::certguard
Pulp Certguard plugin
pulpcore::plugin::container
Pulp Container plugin
pulpcore::plugin::file
Pulp File plugin
pulpcore::plugin::migration
Pulp 2 to Pulp 3 Migration Plugin
Parameters
The following parameters are available in the pulpcore::plugin::migration
class.
mongo_db_name
Data type: String
MongoDB database name for Pulp2. Used for migrating Pulp2 content
Default value: 'pulp_database'
mongo_db_seeds
Data type: String
MongoDB seeds. Used for migrating Pulp2 content
Default value: 'localhost:27017'
mongo_db_username
Data type: Optional[String]
MongoDB username for Pulp2
Default value: undef
mongo_db_password
Data type: Optional[String]
Password of MongoDB user
Default value: undef
mongo_db_replica_set
Data type: Optional[String]
MongoDB Replica Set
Default value: undef
mongo_db_ssl
Data type: Boolean
Use SSL for MongoDB connection
Default value: false
mongo_db_ssl_keyfile
Data type: Optional[Stdlib::Absolutepath]
SSL Keyfile for MongoDB
Default value: undef
mongo_db_ssl_certfile
Data type: Optional[Stdlib::Absolutepath]
SSL Certfile for MongoDB
Default value: undef
mongo_db_verify_ssl
Data type: Boolean
Whether SSL verification is required for MongoDB
Default value: true
mongo_db_ca_path
Data type: Stdlib::Absolutepath
CA bundle path to use for MongoDB SSL connection
Default value: '/etc/pki/tls/certs/ca-bundle.crt'
pulpcore::plugin::rpm
Pulp RPM plugin
Defined types
pulpcore::admin
Run a python3-django-admin command
- See also exec
Parameters
The following parameters are available in the pulpcore::admin
defined type.
command
Data type: String
The command to run
Default value: $title
refreshonly
Data type: Boolean
The command should only be run as a refresh mechanism for when a dependent object is changed.
Default value: false
unless
Data type: Optional[String]
A test command that checks the state of the target system and restricts when the exec can run.
Default value: undef
path
Data type: Array[Stdlib::Absolutepath]
The path to look for commands.
Default value: ['/usr/bin']
pulp_settings
Data type: Stdlib::Absolutepath
The pulp settings file to use
Default value: $pulpcore::settings_file
static_root
Data type: Stdlib::Absolutepath
Root directory for static content
Default value: $pulpcore::pulp_static_root
pulpcore::plugin
Install a plugin
Parameters
The following parameters are available in the pulpcore::plugin
defined type.
package_name
Data type: String
The package name to install
Default value: "python3-pulp-${title}"
config
Data type: Optional[String]
An optional config in the Pulp settings file
Default value: undef
Changelog
1.1.0 (2020-06-30)
Implemented enhancements:
- Use the non-deprecated namedspaced pg function #106 (ekohl)
- Fixes #30059 - Add certguard plugin #99 (sjha4)
- Fixes #29075 - add pulp_rpm plugin #89 (wbclark)
Fixed bugs:
- Refs #30133 - Unconditionally install RHSM for certguard #103 (ekohl)
- Fixes #30133 - Install python3-subscription-manager-rhsm #101 (sjha4)
Merged pull requests:
1.0.0 (2020-05-14)
Breaking changes:
Implemented enhancements:
- Allow puppet/redis 6.x #95 (ekohl)
- Revert "Pin Facter to \< 4" #86 (ekohl)
- Create admin user #85 (sjha4)
- Allow extlib 5.x #84 (mmoll)
- Fixes #29190 - Support EL8 #77 (wbclark)
Fixed bugs:
Changelog
0.2.0 (2020-03-19)
Implemented enhancements:
- Fixes #29069 - Apply selinux labels to pulpcore ports #72 (wbclark)
- Refs #28901 - Support SSL connection for external postgresql database #71 (wbclark)
Merged pull requests:
- Pin Facter to \< 4 #81 (ekohl)
- enable httpd_can_network_connect selinux boolean #76 (wbclark)
- Prepare acceptance tests for EL8 #75 (ekohl)
- Fixes #28996 - Set PULP_STATIC_ROOT #69 (wbclark)
0.1.0 (2020-02-13)
Closed issues:
- package installation in plugin.pp should be option #59
- configurable REMOTE_USER_ENVIRON_NAME #58
- Pulp 2 and 3 API calls through Apache don't play nice #49
- Add smoke tests to nightly installer pipelines #42
- Check on pulpcore-resource-manager naming and configuration form latest ansible-pulp #36
- Update CONTENT_ORIGIN to match proper value ansible-pulp #35
- Make PULP2 mongodb settings configurable #33
- Add database migration command #23
- Allow disabling management of Apache via a paramter #11
- Support external postgresql #10
- Allow specification of externally managed PostgreSQl instance #4
- Update to use django-admin solution for pulpcore #39
- Update Redis database number to '8' #34
- Drop Ansible settings #32
- Secret key handling #31
- pulp-api fails to start due to permission denied on key #22
- The 'gunicorn' command is located at /usr/bin #20
- The 'rq' command is located at /usr/bin #19
- Manage of user_home "/var/lib/pulp" clashes with dependency in Katello #17
- Drop settings PostgreSQL globals #16
- Install from RPM repos rather than PyPI #9
- Allow using Redis configured by Foreman #7
- Deploy Apache configurations to Foreman vhost #5
Merged pull requests:
- Refs #28901 - add setting postgresql_db_user #67 (wbclark)
- Refs #28720 - Fixup migration variables and template #66 (wbclark)
- Verify everything to have documented parameters #65 (ekohl)
- Fixes #28901 - support external postgresql #64 (wbclark)
- Refs #28720 - move migration params into migration plugin #63 (wbclark)
- Fixes #28904 - make REMOTE_USER_ENVIRON_NAME configurable #61 (synkd)
- Fixes #28812 - fix permissions to allow pulp2 access #60 (jlsherrill)
- Fixes #28720 - connect to mongo for content migrations #57 (wbclark)
- Fixes #28654 - support client cert auth with pulp3 #56 (wbclark)
- Run acceptance tests with SCL redis #54 (ekohl)
- Update pulpcore worker systemd naming #53 (ianballou)
- use puppet-redis > 5.0.0 #52 (wbclark)
- Specify /pulp/api/v3 #50 (wbclark)
- Use koji in acceptance tests and use python3-django-admin #48 (wbclark)
- make servername configurable #45 (wbclark)
- Improve settings. #44 (wbclark)
- Introduce a pulpcore::admin define #43 (ekohl)
- Refresh collectstatic on the settings file #29 (ekohl)
- collectstatic needs --noinput to avoid waiting on user input #28 (ehelms)
- fixes #16: Drop postgresql globals #26 (ehelms)
- fixes #23: Only run database migrations if they are any pending #25 (ehelms)
- Install pulpcore from RPM packages + chaining + pg client #24 (ekohl)
- remove redundant reverse proxy declarations #15 (wbclark)
- don't enable software collections #14 (wbclark)
- improve declaration of api and content urls #13 (wbclark)
- apache vhost can be externally managed #12 (wbclark)
- fixed default params #8 (wbclark)
- Creation of initial classes #2 (wbclark)
- initial setup via modulesync #1 (wbclark)
- Add file and container plugins #30 (ekohl)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/concat (>= 4.0.0 < 7.0.0)
- puppetlabs/stdlib (>= 4.25.0 < 7.0.0)
- puppet/redis (>= 5.0.0 < 7.0.0)
- puppetlabs/apache (>= 5.0.0 < 6.0.0)
- puppetlabs/postgresql (>= 6.5.0 < 7.0.0)
- camptocamp/systemd (>= 2.2.0 < 3.0.0)
- puppet/extlib (>= 3.0.0 < 6.0.0)
- puppet/selinux (>= 3.1.0 < 4.0.0)