Skip to content

pulp-ui

A community driven UI for Pulp.

How to run

backend

You can follow the pulp-oci-images quickstart, TLDR:

setup:

mkdir -p ~/pulp-backend-oci/{settings/certs,pulp_storage,pgsql,containers}
cd ~/pulp-backend-oci/
echo "
CONTENT_ORIGIN='http://$(hostname):8080'
ANSIBLE_API_HOSTNAME='http://$(hostname):8080'
ANSIBLE_CONTENT_HOSTNAME='http://$(hostname):8080/pulp/content'
" >> settings/settings.py

run:

cd ~/pulp-backend-oci/
podman run --publish 8080:80 \
           --replace --name pulp \
           --volume "$(pwd)/settings":/etc/pulp \
           --volume "$(pwd)/pulp_storage":/var/lib/pulp \
           --volume "$(pwd)/pgsql":/var/lib/pgsql \
           --volume "$(pwd)/containers":/var/lib/containers \
           docker.io/pulp/pulp

check:

curl localhost:8080/pulp/api/v3/status/ | jq

or open http://localhost:8080/pulp/api/v3/status/

change password:

podman exec -it pulp pulpcore-manager reset-admin-password --password admin
docker exec -it compose-pulp_api-1 pulpcore-manager reset-admin-password --password admin

configure pulp-cli:

pip install pulp-cli[pygments]
pulp config create --username admin --base-url http://localhost:8080 --password admin

pulp --help
pulp user list

frontend

npm install
npm run start

and open http://localhost:8002/ 🎉 :)

If your API listens elsewhere, you can use API_PROXY=http://elsewhere:12345 npm run start instead.

Misc

post-build configuration

The UI builds produced by npm run build can be further configured by serving a /pulp-ui-config.json alongside the built UI. (Note it has to be mapped at /, not just wherever index.html is served from.)

  • API_BASE_PATH - defaults to /pulp/api/v3/ - change when using domains or a different path
  • UI_BASE_PATH - defaults to /ui/ - change when only serving index in a subdirectory, or want different browser path prefix
  • UI_EXTERNAL_LOGIN_URI - defaults to nothing - set to something like /login/ when using an SSO
  • EXTRA_VERSION - an extra version string to display in about modal

Summary