Skip to main content

pulp-maven plugin for the Pulp Project

Project description

This is the pulp_maven Plugin for Pulp Project 3.0+. This plugin let’s users use Pulp as a pull-through cache for Maven repositories.

All REST API examples bellow use httpie to perform the requests. The httpie commands below assume that the user executing the commands has a .netrc file in the home directory. The .netrc should have the following configuration:

machine localhost
login admin
password admin

If you configured the admin user with a different password, adjust the configuration accordingly. If you prefer to specify the username and password with each request, please see httpie documentation on how to do that.

This documentation makes use of the jq library to parse the json received from requests, in order to get the unique urls generated when objects are created. To follow this documentation as-is please install the jq library with:

$ sudo dnf install jq

Install pulpcore

Follow the installation instructions provided with pulpcore.

Users should install from either PyPI or source.

Install pulp-maven from source

sudo -u pulp -i
source ~/pulpvenv/bin/activate
git clone https://github.com/pulp/pulp_maven.git
cd pulp_maven
pip install -e .

Install pulp-maven From PyPI

sudo -u pulp -i
source ~/pulpvenv/bin/activate
pip install pulp-maven

Make and Run Migrations

export DJANGO_SETTINGS_MODULE=pulpcore.app.settings
django-admin makemigrations maven
django-admin migrate maven

Run Services

django-admin runserver 24817
gunicorn pulpcore.content:server --bind 'localhost:24816' --worker-class 'aiohttp.GunicornWebWorker' -w 2
sudo systemctl restart pulpcore-resource-manager
sudo systemctl restart pulpcore-worker@1
sudo systemctl restart pulpcore-worker@2

Create a new Maven remote bar

$ http POST http://localhost:24817/pulp/api/v3/remotes/maven/maven/ name='bar' url='https://repo1.maven.org/maven2/'

{
    "pulp_href": "/pulp/api/v3/remotes/maven/maven/2668a20c-3908-4767-b134-531e5145d7b7/",
    ...
}

$ export REMOTE_HREF=$(http :24817/pulp/api/v3/remotes/maven/maven/ | jq -r '.results[] | select(.name == "bar") | .pulp_href')

Create a Maven Distribution for the Maven Remote

$ http POST http://localhost:24817/pulp/api/v3/distributions/maven/maven/ name='baz' base_path='my/local/maven' remote=$REMOTE_HREF

{
    "pulp_href": "/pulp/api/v3/distributions/67baa17e-0a9f-4302-b04a-dbf324d139de/",
   ...
}

Add Pulp as mirror for Maven

<settings>
  <mirrors>
    <mirror>
      <id>pulp-maven-central</id>
      <name>Local Maven Central mirror </name>
      <url>http://localhost:24816/pulp/content/my/local/maven</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulp-maven-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

pulp_maven-0.1.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file pulp-maven-0.1.0.tar.gz.

File metadata

  • Download URL: pulp-maven-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

File hashes

Hashes for pulp-maven-0.1.0.tar.gz
Algorithm Hash digest
SHA256 da0db87e46bff6aca6b1568ba2940a7003b3e359c5af3e11f685fa8c8e375b41
MD5 4ed52010a7f9731616138aa6d5c1dabf
BLAKE2b-256 26509084eb9a5e12e30fb2b8b1df7c32aa6a2e33abe98761fb9f0efef4c37fd0

See more details on using hashes here.

File details

Details for the file pulp_maven-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pulp_maven-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

File hashes

Hashes for pulp_maven-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 197f3184ca12d965f9c8cc551779c6cfb1d5e28c5f04836dcefd0d76390a08c5
MD5 f7ae09f4fc0ed0b43cef30cb83f3b6bc
BLAKE2b-256 c6aa4f93cb12809d6c384ff7b2e75fcd6f5467cf98bfd7276a2a1557c65b7950

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page