reprepro
: Configures reprepro on a server
reprepro::distribution
: Adds a "Distribution" to manage.reprepro::filterlist
: Adds a FilterList Packages list have the same syntax as the output of dpkg --get-selectionsreprepro::key
: Import a PGP key into the local keyring of the reprepro userreprepro::pull
: Add a repository pull rule.reprepro::repository
: Adds a packages repository.reprepro::update
: Adds a packages repository.
Configures reprepro on a server
The following parameters are available in the reprepro
class:
basedir
homedir
manage_user
user_name
group_name
keys
key_defaults
repositories
repositories_defaults
package_ensure
package_name
distributions_defaults
always_recurse
Data type: String
The base directory to house the repository.
Default value: '/var/packages'
Data type: String
The home directory of the reprepro user.
Default value: '/var/packages'
Data type: Boolean
if true, creates the user $user_name
Default value: true
Data type: String
user_name who own reprepro
Default value: 'reprepro'
Data type: String
group of user who own reprepro
Default value: 'reprepro'
Data type: Hash
hash to create reprepro::key resources.
Default value: {}
Data type: Hash
hash with defaults for keys creation.
Default value: {}
Data type: Hash
hash to create reprepro::repository resources.
Default value: {}
Data type: Hash
hash with defaults for reporitories creation.
Default value: {}
Data type: String
what to ensure for packages
Default value: 'present'
Data type: String
name of the package to install
Default value: 'reprepro'
Data type: Hash
defaults to use for all distributions. they may got overwritten from the repositories distribution_defaults
Default value: {}
Data type: Boolean
default value for always_recurse in the define reprepro::repository since recursing folders can be time consuming you can avoid in normal runs and only recurse for ensure => 'absent' repositories. Default is to recurse always
Default value: true
Adds a "Distribution" to manage.
reprepro::distribution {"lenny":
repository => "my-repository",
origin => "Camptocamp",
label => "Camptocamp",
suite => "stable",
architectures => "i386 amd64 source",
components => "main contrib non-free",
description => "A simple example of repository distribution",
sign_with => "[email protected]",
}
The following parameters are available in the reprepro::distribution
defined type:
repository
version
origin
label
suite
architectures
components
description
sign_with
codename
fakecomponentprefix
udebcomponents
deb_indices
dsc_indices
update
pull
uploaders
snapshots
install_cron
not_automatic
but_automatic_upgrades
log
create_pull
create_update
create_filterlist
Data type: String
the name of the repository to attach this distribution to.
Data type: Optional[String]
distribution version
Default value: undef
Data type: Optional[String]
package origin
Default value: undef
Data type: Optional[String]
package label
Default value: undef
Data type: Optional[String]
package suite
Default value: undef
Data type: String
available architectures
Data type: String
available components
Data type: Optional[String]
a short description
Default value: undef
Data type: String
email of the gpg key
Default value: ''
Data type: String
codename (defaults to $title)
Default value: $title
Data type: Optional[String]
fakecomponentprefix
Default value: undef
Data type: String
udebcomponents
Default value: $components
Data type: String
file name and compression
Default value: 'Packages Release .gz .bz2'
Data type: String
file name and compression
Default value: 'Sources Release .gz .bz2'
Data type: String
update policy name
Default value: ''
Data type: String
pull policy name
Default value: ''
Data type: String
who is allowed to upload packages
Default value: ''
Data type: Boolean
create a reprepro snapshot on each update
Default value: false
Data type: Boolean
install cron job to automatically include new packages
Default value: true
Data type: String
automatic pined to 1 by using NotAutomatic, value are "yes" or "no"
Default value: ''
Data type: String
set ButAutomaticUpgrades, value are "yes" or "no"
Default value: 'no'
Data type: String
log
Default value: ''
Data type: Hash
hash to create reprepro::pull resource the name will be appended to $pull
Default value: {}
Data type: Hash
hash to create reprepro::update resource the name will be appended to $update
Default value: {}
Data type: Hash
hash to create reprerpo::filterlist resource
Default value: {}
Adds a FilterList
Packages list have the same syntax as the output of dpkg --get-selections
reprepro::filterlist {"lenny-backports":
ensure => present,
repository => "dev",
packages => [
"git install",
"git-email install",
"gitk install",
],
}
The following parameters are available in the reprepro::filterlist
defined type:
Data type: String
name of the filter list
Default value: $title
Data type: String
present/absent, defaults to present
Default value: 'present'
Data type: String
the name of the repository
Data type: Array
a list of packages, if the list is empty, the file content won't be managed by puppet
Default value: []
Import a PGP key into the local keyring of the reprepro user
The following parameters are available in the reprepro::key
defined type:
Data type: String
name of the key
Default value: $title
Data type: Optional[String]
Path to the key in gpg --export format. This is used as the source parameter in a puppet File resource.
Default value: undef
Data type: Optional[String]
define the key content instead of pointing to a source file
Default value: undef
Add a repository pull rule.
reprepro::pull {'lenny-backports':
repository => 'localpkgs',
from => 'dev',
filter_name => 'lenny-backports',
}
The following parameters are available in the reprepro::pull
defined type:
name
repository
from
components
architectures
udebcomponents
filter_action
filter_name
filter_src_name
filter_formula
the name of the pull rule to use in the Pull field in conf/distributions
Data type: String
the local repository to pull to
Data type: String
The codename of the distribution to pull packages from.
Data type: String
The components of the distribution to get from.
Default value: ''
Data type: String
The architectures to update.
Default value: ''
Data type: String
Like Components but for the udebs.
Default value: ''
Data type: String
default action when something is not found in the list
Default value: ''
Data type: String
a list of filenames in the format of dpkg --get-selections
Default value: ''
Data type: String
FilterSrcList parameter
Default value: ''
Data type: String
FilterFormula
Default value: ''
Adds a packages repository.
reprepro::repository { 'localpkgs':
ensure => present,
options => ['verbose', 'basedir .'],
}
The following parameters are available in the reprepro::repository
defined type:
repo_name
ensure
incoming_name
incoming_dir
incoming_tmpdir
incoming_allow
options
createsymlinks
documentroot
max_files
always_recurse
distributions
distributions_defaults
Data type: String
the name of the repository
Default value: $title
Data type: String
present/absent, defaults to present
Default value: 'present'
Data type: String
the name of the rule-set, used as argument
Default value: 'incoming'
Data type: String
the name of the directory to scan for .changes files
Default value: 'incoming'
Data type: String
directory where the files are copied into before they are read
Default value: 'tmp'
Data type: Optional[Variant[String, Array]]
allowed distributions
Default value: undef
Data type: Array
reprepro options
Default value: ['verbose', 'ask-passphrase', 'basedir .']
Data type: Boolean
create suite symlinks
Default value: false
Data type: Optional[String]
documentroot of the webserver (default undef) if set, softlinks to the reprepro directories are made the directory $documentroot must already exist
Default value: undef
Data type: Optional[Integer]
maximum number of file resources created for recursion see puppet file resource, available only on puppet > 7
Default value: undef
Data type: Optional[Boolean]
since recursing folders can be time consuming you can avoid in normal runs and only recurse for ensure => 'absent' repositories. Default is taken from reprepro::always_recurse
Default value: undef
Data type: Hash
hash to define distributions in this repository
Default value: {}
Data type: Hash
defaults for all distributions in this repository
Default value: {}
Adds a packages repository.
reprepro::update {"lenny-backports":
suite => 'lenny',
repository => "dev",
url => 'http://backports.debian.org/debian-backports',
filter_name => "lenny-backports",
}
The following parameters are available in the reprepro::update
defined type:
update_name
suite
repository
url
architectures
components
udebcomponents
flat
verify_release
ignore_release
filter_action
filter_name
filter_src_name
download_lists_as
getinrelease
Data type: String
the name of the update-upstream use in the Update field in conf/distributions
Default value: $title
Data type: String
package suite
Data type: String
the name of the repository
Data type: String
a valid repository URL
Data type: Optional[String]
architectures
Default value: undef
Data type: Optional[String]
components
Default value: undef
Data type: Optional[String]
udebcomponents
Default value: undef
Data type: Optional[String]
flat
Default value: undef
Data type: String
check the GPG signature Releasefile
Default value: 'blindtrust'
Data type: String
ignore_release
Default value: 'No'
Data type: String
default action when something is not found in the list
Default value: ''
Data type: String
Name of a filter list created with reprepro::filterlist, matching binary packages
Default value: ''
Data type: String
Name of a filter list created with reprepro::filterlist, matching source packages
Default value: ''
Data type: String
specify in which order reprepro will look for a usable variant of needed index files ( .gz, .bz2, .lzma, .xz and .diff)
Default value: ''
Data type: Optional[String]
if this is set to 'no', no InRelease file is downloaded but only Release (and Release.gpg ) are tried.
Default value: undef