Skip to content

Latest commit

 

History

322 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Pulp logo

PulpUI

License: Apache 2.0 Node

PulpUI is a community driven single-page application that talks to a running pulpcore instance over its REST API, giving that content - across whichever plugins your Pulp deployment has installed - a shared, consistent web UI instead of requiring the CLI or raw API calls.

Contents

Features

Core

  • Task Management
  • User / Group / Role management
  • Content Signing Keys
  • Cross-plugin search

Plugins

  • Ansible (repositories, remotes, collections, namespaces, approvals, imports)
  • File (repositories, remotes)
  • RPM (content)
  • Container (execution environments, tags, manifests)

Requirements

  • Node.js >= 22.32.2
  • npm >= 10
  • Python 3 + pip

Quick start

1. Run a Pulp backend

Follow the pulp-oci-images quickstart

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

Change the admin password

podman exec -it pulp pulpcore-manager reset-admin-password --password admin

Configure pulp-cli (optional)

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

pulp --help
pulp user list

2. Run the frontend

Clone and install

git clone https://github.com/pulp/pulp-ui
cd pulp-ui
npm install

Start

npm run start

Open http://localhost:8002/.

If your API listens elsewhere, you can use API_PROXY=http://elsewhere:12345 npm run start. The server at elsewhere must allow CORS requests from localhost; using changeOrigin is out of scope for pulp-ui, and breaks pulp API URLs. Do NOT use the webpack proxy in production.

Configuration

A production build (npm run build) can be further configured by serving a /pulp-ui-config.json alongside the built UI, mapped at /.

Key Default Purpose
API_BASE_PATH /pulp/api/v3/ Change when using domains or a different path
UI_BASE_PATH /ui/ Change when only serving index in a subdirectory, or want different browser path prefix
UI_EXTERNAL_LOGIN_URI null Set to something like /login/ when using SSO
EXTRA_VERSION "" An extra version string to display in about modal

Contributing & Help

See the Pulp developer guide to contribute, or reach the community on Discourse / Matrix (#pulp, #pulp-dev)

License

Apache-2.0

About

a community driven UI for Pulp

Resources

Code of conduct

Contributing

Security policy

Stars

29 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages