Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

RSS

pulp_server (4) Versions 0.2.0

Installs/Configures pulp_server

Berkshelf/Librarian
Policyfile
Knife
cookbook 'pulp_server', '~> 0.2.0'
cookbook 'pulp_server', '~> 0.2.0', :supermarket
knife cookbook site install pulp_server
knife cookbook site download pulp_server
README
Dependencies
Changelog
Quality 67%

pulp_server

Build Status Cookbook Version

This cookbook installs and configures pulp server and provides pulp repository resources.

The cookbook follows the same installation procedure as described in Pulp documentation. However, some aspects can be adjusted using attributes (for example skipping mongodb or qpid installation if you doing that with other cookbooks).

More information: - Pulp project page - Pulp documentation

Requirements

Platforms

  • CentOS 7

Chef

  • Chef 12.8+

Attributes

  • node['pulp_server']['version'] - Specifies Pulp server version. It is used to configure pulp yum repository. Default: 2.13.
  • node['pulp_server']['configure_repos'] - If true, setup yum repository for pulp server installation. Default: true.
  • node['pulp_server']['install_baseurl'] - baseurl to use in pulp server installation repository configuration. Default: https://repos.fedorapeople.org/repos/pulp/pulp/stable/2.11/$releasever/$basearch/.
  • node['pulp_server']['install_gpgkey'] - gpgkey to use in pulp server installation repository configuration. Default: https://repos.fedorapeople.org/repos/pulp/pulp/GPG-RPM-KEY-pulp-2.
  • node['pulp_server']['configure_epel'] - If true, setup yum repository for EPEL, this is required for mongodb, qpid and other dependencies. Set to false if repository is configured by other means (for example epel cookbook). Default: true.
  • node['pulp_server']['epel_mirrorlist'] - mirrorlist to use in EPEL repository configuration. Defalt: http://mirrors.fedoraproject.org/mirrorlist?repo=epel-7&arch=$basearch
  • node['pulp_server']['epel_gpgkey'] - gpgkey to use in EPEL repository configuration. Default: http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7.
  • node['pulp_server']['install_mongodb'] - If true, installs and configures mongodb. Repository for mongodb should be configured by other means if node['pulp_server']['configure_epel'] is set to false. Default: true.
  • node['pulp_server']['install_qpid'] - If true, installs and configures qpid. Repository for qpid should be configured by other means if node['pulp_server']['configure_epel'] is set to false. Default: true.
  • node['pulp_server']['enabled_modules'] - An array of pulp modules to install. Valid values are rpm, puppet and docker. Default: %w(rpm)

Server config

Admin client config

Resources

pulp_rpm_repo

The pulp_rpm_repo resource setups RPM repository on pulp server.

Actions

  • :create - Creates and/or updates a RPM repository on pulp server
  • :delete - Deletes a RPM repository on pulp server
  • :sync - Runs sync for a repository
  • :publish - Runs publish for a repository

Properties

Pulp server

The pulp server properties are used to define Pulp server on which repository action takes place.

  • pulp_server - Hostname of Pulp server. This is used to make API calls. Default: localhost.
  • pulp_user - Username to use for Pulp API. The user must have get, put and post privileges to repositories. Default: admin.
  • pulp_password - Password for user. Default: admin.
  • pulp_ca_cert - Path to CA certificate for Pulp server certificate verification. Default: nil.
  • pulp_cert_verify - If set to False certificate verification is skipped. Default: true.
Repository

The repository properties defines various settings of Pulp rpm repository managed by this resource. Please refer to pulp rpm plugin documentation for more details: https://docs.pulpproject.org/plugins/pulp_rpm/tech-reference/yum-plugins.html

  • display_name - Short description of a repository.
  • description - Detailed description of a repository.
  • feed - URL of upstream repository to sync packages from.
  • skip - List of content type to skip.
  • require_signature - If set to true imported packages must be signed.
  • allowed_keys - Comma-separated list of allowed signature key IDs that imported packages can be signed with.
  • ssl_ca_cert - CA certificate for upstream repository certificate check.
  • ssl_validation - If set to true validates upstream repository certificate. Default: true.
  • ssl_client_cert - Client certificate to use for upstream repository.
  • ssl_client_key - Client certificate's key.
  • relative_url - Relative path at which repository is served. Default <repository_name>.
  • max_downloads - Number of thread used for repository sync.
  • max_speed - Maximum download speed bytes/sec.
  • remove_missing - If set to true, old RPMs are removed during sync.
  • retain_old_count - Number of old versions to keep in a repository.
  • download_policy - on_demand - downloads when client requests package, background - downloads after sync is completed. Default: immediate.
  • http - If set to true serves content on HTTP protocol. Default: true.
  • https - If set to true serves content on HTTPS protocol. Default: false.
  • gpgkey - GPG key used to sign RPM packages in a repository.
  • generate_sqlite - If set to true sqlite database is generated for a repository.
  • repoview - If set to true static repoview HTML files are generated for a repository.
  • updateinfo_checksum_type - Checksum type to use in updateinfo.xml.

Examples

Create a repository named pulp-2.11-stable with upstream URL set.

pulp_rpm_repo 'pulp-2.11-stable' do
  description 'Pulp 2.11 Production Releases'
  feed 'https://repos.fedorapeople.org/repos/pulp/pulp/stable/'
end

Create a repository named devel, sync and publish the repository.

pulp_rpm_repo 'devel' do
  description 'Latest packages'
  feed 'https://initech.local/devel'
  action [:create, :sync, :publish]
end

Recipes

admin

This recipe installs and configures pulp admin client. If additional modules are enabled admin extensions are installed as well.

default

This is the main recipe which should be included in a run list to have pulp server installed. It includes other recipes depending on following attributes:

  • node['pulp_server']['install_admin_client']
  • node['pulp_server']['install_mongodb']
  • node['pulp_server']['install_qpid']
  • node['pulp_server']['configure_repos']

If you have other means to configure repositories and/or install/configure mongodb, qpid, set required attribute to false.

mongodb

This recipe installs and starts mongodb server. The recipe does not configure repository from which mongodb is installed. This can be done by setting node['pulp_server']['configure_epel'] to true of by other cookbooks (for example epel cookbook).

The recipe is included from default if node['pulp_server']['install_mongodb'] is set to true.

qpid

This recipe installs and start qpid. As with mongodb, this recipe does not configure installation repository. Repository can be enabled by setting node['pulp_server']['configure_epel'] to true or by other cookbooks (for example epel).

The recipe is included from default if node['pulp_server']['install_qpid'] is set to true.

repos

This recipe configures pulp server and epel YUM repositories. EPEL repository configuration can be skipped by setting node['pulp_server']['configure_epel'] to false (for example if you have epel cookbook in your run list).

The recipe is included from default if node['pulp_server']['configure_repos'] is set to true.

License & Authors

# The MIT License (MIT)
#
# Copyright:: 2017, Liudas Baksys
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

pulp_server Cookbook CHANGELOG

All notable changes to this project will be documented in this file.

0.2.0 (2017-08-04)

Added

  • pulp_rpm_repo resource which allows to manage pulp repositories directly from cookbooks
  • TLS enabled tests

Changed

  • Default pulp server version to 2.13

0.1.2 (2017-07-18)

  • Fixes server.conf location in default recipe
  • Fixes messaging and task broker urls in default server config

0.1.1 (2017-07-14)

  • Changelog file created
  • Add travis-ci configuration (.travis.yml, .kitchen.dokkent.yml)
  • Fix EPEL gpgkey url to avoid issues with HTTP redirects

0.1.0 (2017-07-12)

  • Initial version

Collaborator Number Metric
            

0.2.0 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

0.2.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

0.2.0 passed this metric

License Metric
            

0.2.0 passed this metric

No Binaries Metric
            

0.2.0 passed this metric

Publish Metric
            

0.2.0 passed this metric

Supported Platforms Metric
            

0.2.0 passed this metric

Testing File Metric
            

0.2.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

0.2.0 passed this metric