Gemfile plugin for the Pulp Project
Project description
This is the pulp_gem Plugin for Pulp Project 3.0+. This plugin adds importers and distributors for rubygems.
All REST API examples below 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.
Install pulp-gem from source
sudo -u pulp -i
source ~/pulpvenv/bin/activate
git clone https://github.com/pulp/pulp_gem.git
cd pulp_gem
python setup.py develop
pulp-manager makemigrations pulp_gem
pulp-manager migrate pulp_gem
django-admin runserver
sudo systemctl restart pulp_resource_manager
sudo systemctl restart pulp_worker@1
sudo systemctl restart pulp_worker@2
Install pulp-gem From PyPI
sudo -u pulp -i
source ~/pulpvenv/bin/activate
pip install pulp-gem
pulp-manager makemigrations pulp_gem
pulp-manager migrate pulp_gem
django-admin runserver
sudo systemctl restart pulp_resource_manager
sudo systemctl restart pulp_worker@1
sudo systemctl restart pulp_worker@2
Create a repository foo
$ http POST http://localhost:8000/api/v3/repositories/ name=foo
{
"_href": "http://localhost:8000/api/v3/repositories/8d7cd67a-9421-461f-9106-2df8e4854f5f/",
...
}
$ export REPO_HREF=$(http :8000/api/v3/repositories/ | jq -r '.results[] | select(.name == "foo") | ._href')
Add an importer to repository foo
$ http POST http://localhost:8000/api/v3/importers/gem/ name='bar' download_policy='immediate' sync_mode='mirror' feed_url='https://repos.fedorapeople.org/pulp/pulp/demo_repos/test_file_repo/PULP_MANIFEST' repository=$REPO_HREF
{
"_href": "http://localhost:8000/api/v3/importers/gem/13ac2d63-7b7b-401d-b71b-9a5af05aab3c/",
...
}
$ export IMPORTER_HREF=$(http :8000/api/v3/importers/gem/ | jq -r '.results[] | select(.name == "bar") | ._href')
Sync repository foo using importer bar
$ http POST $IMPORTER_HREF'sync/' repository=$REPO_HREF
Upload foo-0.0.1.gem to Pulp
Create an Artifact by uploading the gemfile to Pulp.
$ http --form POST http://localhost:8000/api/v3/artifacts/ file@./foo-0.0.1.gem
{
"_href": "http://localhost:8000/api/v3/artifacts/7d39e3f6-535a-4b6e-81e9-c83aa56aa19e/",
...
}
You need to upload the corresponding foo-0.0.1.gemspec.rz in the same way.
Create gem content from an Artifact
Create a file with the json below and save it as content.json.
{
"name": "foo",
"version": "0.0.1",
"artifacts": {
"gems/foo-0.0.1.gem":"http://localhost:8000/api/v3/artifacts/7d39e3f6-535a-4b6e-81e9-c83aa56aa19e/",
"quick/Marshal.4.8/foo-0.0.1.gemspec.rz":"http://localhost:8000/api/v3/artifacts/f8311baf-4f92-4625-8428-c38a1690527c/"
}
}
$ http POST http://localhost:8000/api/v3/content/gem/ < content.json
{
"_href": "http://localhost:8000/api/v3/content/gem/a9578a5f-c59f-4920-9497-8d1699c112ff/",
"artifacts": {
"gems/foo-0.0.1.gem":"http://localhost:8000/api/v3/artifacts/7d39e3f6-535a-4b6e-81e9-c83aa56aa19e/",
"quick/Marshal.4.8/foo-0.0.1.gemspec.rz":"http://localhost:8000/api/v3/artifacts/f8311baf-4f92-4625-8428-c38a1690527c/"
},
"name": "foo",
"notes": {},
"type": "gem",
"version": "0.0.1"
}
$ export CONTENT_HREF=$(http :8000/api/v3/content/gem/ | jq -r '.results[] | select(.name == "foo") | ._href')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pulp-gem-0.0.1a1.tar.gz
.
File metadata
- Download URL: pulp-gem-0.0.1a1.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 357f99b12495315c1116584b32af8223dc6b806ab5807f899b9979092b5e6c7b |
|
MD5 | 9776ff2d197e7f2a580cab534882f88c |
|
BLAKE2b-256 | 4638eecee5ccbce4c5fa88688f0b106f8f51aab7de51ea01bf62ed2d3a08c7b6 |