Applying Settings

Pulp uses dynaconf for its settings which allows you to configure Pulp in a few ways:

By Configuration File

To configure Pulp by settings file, you must set the format and location of the config file by specifying the PULP_SETTINGS environment variable. For example, if you wanted to use Python to specify your configuration, and provide it at /etc/pulp/settings.py you could:

export PULP_SETTINGS=/etc/pulp/settings.py

Or in a systemd file you could:

Environment="PULP_SETTINGS=/etc/pulp/settings.py" as the Ansible Installer does.

Dynaconf supports settings in multiple file formats Dynaconf also support local settings file

This file should have permissions of:

  • mode: 640

  • owner: root

  • group: pulp (the group of the account that pulp runs under)

  • SELinux context: system_u:object_r:etc_t:s0

If it is in its own directory like /etc/pulp, the directory should have permissions of:

  • mode: 750

  • owner: root

  • group: pulp (the group of the account that pulp runs under)

  • SELinux context: unconfined_u:object_r:etc_t:s0

An example of a minimal settings.py file is:

SECRET_KEY='50characterslongstring'
CONTENT_ORIGIN='http://localhost:24816'
CACHE_ENABLED=True
REDIS_HOST='localhost'
REDIS_PORT=6379

Note that the single quotes are necessary.

By Environment Variables

Many users specify their Pulp settings entirely by Environment Variables. Each of the settings can be configured using Dynaconf by prepending PULP_ to the name of the setting and specifying that as an Environment Variable. For example the SECRET_KEY can be specified by exporting the PULP_SECRET_KEY variable.

When using pulp_installer

A Pulp upgrade using pulp_installer may override the original /etc/pulp/settings.py. To keep your settings through an upgrade, use the local settings file located at /etc/pulp/settings.local.py.