Getting started

The Pulp 3 Ansible installer is a collection of roles to install or upgrade Pulp 3 hosted on galaxy:

Some plugins require a prerequisite role. You can find information about prerequisite roles that you require in the Roles area of the Pulp page on Ansible Galaxy:


The recommended installation is from ansible-galaxy:

ansible-galaxy collection install pulp.pulp_installer

Using the example playbook

Some of the roles used in the playbook use root privileges on the managed node, so when prompted, you will need to provide the password for the managed node user.

ansible-playbook playbooks/example-use/playbook.yml -u <managed_node_username> --ask-become-pass

To configure a custom installation, you will need to set configuration variables. In the simplest case, they can be set in the playbook. See the Ansible docs for more flexible idiomatic alternatives.

Example Playbook for Installing Plugins

As an example, we are going to write a playbook for installing pulp_container and pulp_rpm. You can learn more about the variables on the roles section

1 - Install the pulp_installer collection:

ansible-galaxy collection install pulp.pulp_installer

2 - Install the geerlingguy.postgresql role:

ansible-galaxy install geerlingguy.postgresql

3 - Write the following playbook:

vim install.yml

- hosts: all
      secret_key: << YOUR SECRET HERE >>
      content_origin: "https://{{ ansible_fqdn }}"
    pulp_default_admin_password: << YOUR PASSWORD HERE >>
      # galaxy-ng: {}
      # pulp-ansible: {}
      # pulp-certguard: {}
      pulp-container: {}
      # pulp-cookbook: {}
      # pulp-deb: {}
      # pulp-file: {}
      # pulp-gem: {}
      # pulp-maven: {}
      # pulp-npm: {}
      # pulp-python: {}
      pulp-rpm: {}
    - pulp.pulp_installer.pulp_all_services
4 - Run the playbook:
ansible-playbook install.yml -u <managed_node_username> --ask-become-pass