Skip to content

Latest commit

 

History

History
909 lines (528 loc) · 20.3 KB

REFERENCE.md

File metadata and controls

909 lines (528 loc) · 20.3 KB

Reference

Table of Contents

Classes

  • reprepro: Configures reprepro on a server

Defined types

Classes

reprepro

Configures reprepro on a server

Parameters

The following parameters are available in the reprepro class:

basedir

Data type: String

The base directory to house the repository.

Default value: '/var/packages'

homedir

Data type: String

The home directory of the reprepro user.

Default value: '/var/packages'

manage_user

Data type: Boolean

if true, creates the user $user_name

Default value: true

user_name

Data type: String

user_name who own reprepro

Default value: 'reprepro'

group_name

Data type: String

group of user who own reprepro

Default value: 'reprepro'

keys

Data type: Hash

hash to create reprepro::key resources.

Default value: {}

key_defaults

Data type: Hash

hash with defaults for keys creation.

Default value: {}

repositories

Data type: Hash

hash to create reprepro::repository resources.

Default value: {}

repositories_defaults

Data type: Hash

hash with defaults for reporitories creation.

Default value: {}

package_ensure

Data type: String

what to ensure for packages

Default value: 'present'

package_name

Data type: String

name of the package to install

Default value: 'reprepro'

distributions_defaults

Data type: Hash

defaults to use for all distributions. they may got overwritten from the repositories distribution_defaults

Default value: {}

always_recurse

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

Defined types

reprepro::distribution

Adds a "Distribution" to manage.

Examples

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]",
}

Parameters

The following parameters are available in the reprepro::distribution defined type:

repository

Data type: String

the name of the repository to attach this distribution to.

version

Data type: Optional[String]

distribution version

Default value: undef

origin

Data type: Optional[String]

package origin

Default value: undef

label

Data type: Optional[String]

package label

Default value: undef

suite

Data type: Optional[String]

package suite

Default value: undef

architectures

Data type: String

available architectures

components

Data type: String

available components

description

Data type: Optional[String]

a short description

Default value: undef

sign_with

Data type: String

email of the gpg key

Default value: ''

codename

Data type: String

codename (defaults to $title)

Default value: $title

fakecomponentprefix

Data type: Optional[String]

fakecomponentprefix

Default value: undef

udebcomponents

Data type: String

udebcomponents

Default value: $components

deb_indices

Data type: String

file name and compression

Default value: 'Packages Release .gz .bz2'

dsc_indices

Data type: String

file name and compression

Default value: 'Sources Release .gz .bz2'

update

Data type: String

update policy name

Default value: ''

pull

Data type: String

pull policy name

Default value: ''

uploaders

Data type: String

who is allowed to upload packages

Default value: ''

snapshots

Data type: Boolean

create a reprepro snapshot on each update

Default value: false

install_cron

Data type: Boolean

install cron job to automatically include new packages

Default value: true

not_automatic

Data type: String

automatic pined to 1 by using NotAutomatic, value are "yes" or "no"

Default value: ''

but_automatic_upgrades

Data type: String

set ButAutomaticUpgrades, value are "yes" or "no"

Default value: 'no'

log

Data type: String

log

Default value: ''

create_pull

Data type: Hash

hash to create reprepro::pull resource the name will be appended to $pull

Default value: {}

create_update

Data type: Hash

hash to create reprepro::update resource the name will be appended to $update

Default value: {}

create_filterlist

Data type: Hash

hash to create reprerpo::filterlist resource

Default value: {}

reprepro::filterlist

Adds a FilterList

Packages list have the same syntax as the output of dpkg --get-selections

Examples

reprepro::filterlist {"lenny-backports":
  ensure     => present,
  repository => "dev",
  packages   => [
    "git install",
    "git-email install",
    "gitk install",
  ],
}

Parameters

The following parameters are available in the reprepro::filterlist defined type:

list_name

Data type: String

name of the filter list

Default value: $title

ensure

Data type: String

present/absent, defaults to present

Default value: 'present'

repository

Data type: String

the name of the repository

packages

Data type: Array

a list of packages, if the list is empty, the file content won't be managed by puppet

Default value: []

reprepro::key

Import a PGP key into the local keyring of the reprepro user

Parameters

The following parameters are available in the reprepro::key defined type:

key_name

Data type: String

name of the key

Default value: $title

key_source

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

key_content

Data type: Optional[String]

define the key content instead of pointing to a source file

Default value: undef

reprepro::pull

Add a repository pull rule.

Examples

reprepro::pull {'lenny-backports':
  repository  => 'localpkgs',
  from        => 'dev',
  filter_name => 'lenny-backports',
}

Parameters

The following parameters are available in the reprepro::pull defined type:

name

the name of the pull rule to use in the Pull field in conf/distributions

repository

Data type: String

the local repository to pull to

from

Data type: String

The codename of the distribution to pull packages from.

components

Data type: String

The components of the distribution to get from.

Default value: ''

architectures

Data type: String

The architectures to update.

Default value: ''

udebcomponents

Data type: String

Like Components but for the udebs.

Default value: ''

filter_action

Data type: String

default action when something is not found in the list

Default value: ''

filter_name

Data type: String

a list of filenames in the format of dpkg --get-selections

Default value: ''

filter_src_name

Data type: String

FilterSrcList parameter

Default value: ''

filter_formula

Data type: String

FilterFormula

Default value: ''

reprepro::repository

Adds a packages repository.

Examples

reprepro::repository { 'localpkgs':
  ensure  => present,
  options => ['verbose', 'basedir .'],
}

Parameters

The following parameters are available in the reprepro::repository defined type:

repo_name

Data type: String

the name of the repository

Default value: $title

ensure

Data type: String

present/absent, defaults to present

Default value: 'present'

incoming_name

Data type: String

the name of the rule-set, used as argument

Default value: 'incoming'

incoming_dir

Data type: String

the name of the directory to scan for .changes files

Default value: 'incoming'

incoming_tmpdir

Data type: String

directory where the files are copied into before they are read

Default value: 'tmp'

incoming_allow

Data type: Optional[Variant[String, Array]]

allowed distributions

Default value: undef

options

Data type: Array

reprepro options

Default value: ['verbose', 'ask-passphrase', 'basedir .']

createsymlinks

Data type: Boolean

create suite symlinks

Default value: false

documentroot

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

max_files

Data type: Optional[Integer]

maximum number of file resources created for recursion see puppet file resource, available only on puppet > 7

Default value: undef

always_recurse

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

distributions

Data type: Hash

hash to define distributions in this repository

Default value: {}

distributions_defaults

Data type: Hash

defaults for all distributions in this repository

Default value: {}

reprepro::update

Adds a packages repository.

Examples

reprepro::update {"lenny-backports":
  suite       => 'lenny',
  repository  => "dev",
  url         => 'http://backports.debian.org/debian-backports',
  filter_name => "lenny-backports",
}

Parameters

The following parameters are available in the reprepro::update defined type:

update_name

Data type: String

the name of the update-upstream use in the Update field in conf/distributions

Default value: $title

suite

Data type: String

package suite

repository

Data type: String

the name of the repository

url

Data type: String

a valid repository URL

architectures

Data type: Optional[String]

architectures

Default value: undef

components

Data type: Optional[String]

components

Default value: undef

udebcomponents

Data type: Optional[String]

udebcomponents

Default value: undef

flat

Data type: Optional[String]

flat

Default value: undef

verify_release

Data type: String

check the GPG signature Releasefile

Default value: 'blindtrust'

ignore_release

Data type: String

ignore_release

Default value: 'No'

filter_action

Data type: String

default action when something is not found in the list

Default value: ''

filter_name

Data type: String

Name of a filter list created with reprepro::filterlist, matching binary packages

Default value: ''

filter_src_name

Data type: String

Name of a filter list created with reprepro::filterlist, matching source packages

Default value: ''

download_lists_as

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: ''

getinrelease

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