All Projects → voxpupuli → puppet-pkgng

voxpupuli / puppet-pkgng

Licence: Apache-2.0 license
A Puppet package provider for FreeBSD's PkgNG package manager.

Programming Languages

ruby
36898 projects - #4 most used programming language
Puppet
460 projects
Dockerfile
14818 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to puppet-pkgng

puppet-postfix
Puppet postfix module
Stars: ✭ 72 (+84.62%)
Mutual labels:  puppet, bsd-puppet-module, freebsd-puppet-module
puppet-openldap
Manage OpenLDAP with Puppet
Stars: ✭ 35 (-10.26%)
Mutual labels:  puppet, bsd-puppet-module, freebsd-puppet-module
puppet-poudriere
A Puppet module for managing Poudriere, the PkgNG build system.
Stars: ✭ 13 (-66.67%)
Mutual labels:  puppet, bsd-puppet-module, freebsd-puppet-module
puppet-snmp
Puppet module to manage Net-SNMP.
Stars: ✭ 33 (-15.38%)
Mutual labels:  puppet, bsd-puppet-module
aco-oracle java
Puppet module to install Oracle Java on Linux systems
Stars: ✭ 13 (-66.67%)
Mutual labels:  puppet
sonar-puppet
SonarQube plugin for Puppet code.
Stars: ✭ 27 (-30.77%)
Mutual labels:  puppet
puppet-logstash
Puppet module to manage Logstash
Stars: ✭ 193 (+394.87%)
Mutual labels:  puppet
puppet-archlinux-macbookretina
UNSUPPORTED - Puppet module and accompanying documentation to install/setup Arch linux on a MacBook Pro Retina 11,4
Stars: ✭ 64 (+64.1%)
Mutual labels:  puppet
polscan
Zero-setup SSH-based scanner with extensive visualizations for Debian server inventory, policy compliance and vulnerabilities
Stars: ✭ 57 (+46.15%)
Mutual labels:  puppet
grpc
gRPC Service & Protocol Buffers for Wechaty Puppet
Stars: ✭ 20 (-48.72%)
Mutual labels:  puppet
standalone-configuration-management
Basic examples of how to use each of chef, puppet, salt and ansible as standalone configuration management systems.
Stars: ✭ 14 (-64.1%)
Mutual labels:  puppet
biemond-oradb
Puppet Oracle Database Module
Stars: ✭ 59 (+51.28%)
Mutual labels:  puppet
puppet-confluent
Puppet Module for installing and configuring the Confluent Platform
Stars: ✭ 14 (-64.1%)
Mutual labels:  puppet
puppet-stash
A puppet module to install atlassian stash
Stars: ✭ 19 (-51.28%)
Mutual labels:  puppet
puppet-network
Types and providers to manage network interfaces
Stars: ✭ 69 (+76.92%)
Mutual labels:  puppet
puppet-st2
Puppet Module to install and configure StackStorm, IFTTT for Ops
Stars: ✭ 20 (-48.72%)
Mutual labels:  puppet
blogr-pve
Puppet provisioning of HA failover/cluster environment implemented in Proxmox Virtual Environment and Linux boxes.
Stars: ✭ 28 (-28.21%)
Mutual labels:  puppet
puppet-nfs
Installs and configures NFS server and clients
Stars: ✭ 14 (-64.1%)
Mutual labels:  puppet
puppet-vault
Puppet module to manage Vault (https://vaultproject.io)
Stars: ✭ 41 (+5.13%)
Mutual labels:  puppet
puppet-icinga2
Puppet module to manage Icinga 2
Stars: ✭ 61 (+56.41%)
Mutual labels:  puppet

Puppet-pkgng

Build Status Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores

The package provider that matured in this repository has been merged upstream into the core Puppet package providers. As of puppet 4.1, you can enjoy the fruits of the pkgng provider without this module. This module now remains to manage pkg.conf, extra package repositories etc.

If you are looking to build your own PkgNG packages, you may also want to look at the poudriere module.

Upgrading Requirements

To use the 1.x or newer version of this module, ensure that you are running Puppet 4.1 or higher. Any of the pkgng_* facts that were employed outside of this repository should be re-evaluated. Those facts are no longer distributed with this module.

If you are using a Package override to specify that pkgng should be used as the provider, this should no longer be required as the pkgng provider is now the default for FreeBSD.

The latest release of this module to contain the package provider is 0.4.0.

Installation

The easiest way to install is to install from the forge.

puppet module install puppet/pkgng

Then to configure your system to use PkgNG with all default settings, a simple include will do.

include pkgng

You may wish to override settings though, to do this simply use it as a class:

class { 'pkgng':
  purge_repos_d => false,
  options       => [
    'PKG_ENV : {',
    ' http_proxy: "http://proxy:3128"',
    '}',
  ],
}

By default, this module will erase user-defined repository not managed by Puppet. To disable this behaviour you can use the example above of setting purge_repos_d to false.

Disabling the FreeBSD default repository is done with:

pkgng::repo { 'FreeBSD':
  enabled => false,
}

Using specific repositories is as simple as a Puppet resource.

pkgng::repo { 'pkg.freebsd.org': }  # You'll want this one!
pkgng::repo { 'my.own.repo': }      # You can then specify more...

Installation via R10K

You can also clone this repo to somewhere in your modulepath, or use something like r10k to deploy your modules. R10k is sweet. For those not familiar, check out Finch's blog post on the subject of module deployment.

To track the git repository, a line in your Puppetfile that looks something like the following should get you started.

mod 'pkgng', :git => 'git://github.com/xaque208/puppet-pkgng.git', :ref => '1.0.0'

Installation via Librarian-Puppet

Installation via Librarian-Puppet is straight forward, simply add the following to your Puppetfile

mod 'zleslie/pkgng'

Usage

Once the module is installed, you can simply install package resources.

package { 'curl': }

With multiple repositories defined, a package can be installed from a specific repo by giving a URN locator for that repository like this.

pkgng::repo { 'my.own.repo': }

package { 'puppet':
  source => 'urn:freebsd:repo:my.own.repo',
}

If you have multiple repos providing the same package you can prefer one repo over the other by increasing the priority. The default priority is 0 and higher priorities are preferred.

pkgng::repo { 'pkg.freebsd.org': }
pkgng::repo { 'my.own.repo':
  priority => 10,
}

package {'curl': }

With the above config if the 'curl' package exists in both repositories it would be installed from my.own.repo

Contributing

Please help make this module better. Send pull request, file issues, be mindful of the tests and help improve where you can.

For any provider changes, please submit those directly to core Puppet.

Thanks

Thanks to all contributors who helped mature the provider and helped it graduate from this module into core Puppet. Its maintenance will also require community attention.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].