Skip to content
Snippets Groups Projects
Commit 86cda929 authored by Magnus Svensson's avatar Magnus Svensson
Browse files

This moved to liurepo::pulp_types::*

parent 0bd2f178
Branches test
No related tags found
No related merge requests found
Pipeline #159691 passed
# @summary
# Manage pulp repositories.
#
# @param url
# Remote url.
#
# @param ensure
# Whether resource should be present or absent.
#
define liu_pulpcore::deb_repo (
Optional[Stdlib::HTTPUrl] $url = undef,
Optional[String] $description = undef,
Optional[String] $distributions = undef,
Optional[String] $components = undef,
Optional[String] $architectures = undef,
Optional[Integer] $retain_repo_versions = undef,
Optional[Boolean] $sync_sources = undef,
Optional[Boolean] $sync_udebs = undef,
Optional[Boolean] $sync_installer = undef,
Optional[Boolean] $simple = undef,
Optional[Boolean] $structured = undef,
Enum[absent, present] $ensure = present,
) {
$path = '/usr/bin'
if $url {
liu_pulpcore_deb_remote { $title:
ensure => $ensure,
url => $url,
distributions => $distributions,
components => $components,
architectures => $architectures,
sync_sources => $sync_sources,
sync_udebs => $sync_udebs,
sync_installer => $sync_installer,
}
liu_pulpcore_deb_repository { $title:
ensure => $ensure,
description => $description,
remote => $title,
retain_repo_versions => 1,
}
cron { "repo_sync_${title}":
ensure => $ensure,
command => "${path}/pulp deb repository sync --name ${title} >/dev/null 2>&1",
minute => fqdn_rand(59, $title),
}
} else {
liu_pulpcore_deb_repository { $title:
ensure => $ensure,
description => $description,
retain_repo_versions => $retain_repo_versions,
}
}
liu_pulpcore_deb_publication { $title:
ensure => $ensure,
simple => $simple,
structured => $structured,
}
liu_pulpcore_deb_distribution { $title:
ensure => $ensure,
repository => $title,
base_path => $title,
}
}
class liu_pulpcore::deb_repos (
Hash $repos,
) {
$repos.each |$key, $data| {
liu_pulpcore::deb_repo { $key:
* => $data,
}
}
}
# @summary
# Manage pulp repositories.
#
# @param url
# Remote url.
#
# @param ensure
# Whether resource should be present or absent.
#
define liu_pulpcore::rpm_repo (
Optional[Stdlib::HTTPUrl] $url = undef,
Optional[String] $description = undef,
Optional[Enum[
'md5',
'sha1',
'sha224',
'sha256',
'sha384',
'sha512',
]
] $package_checksum_type = undef,
Optional[Enum[
'md5',
'sha1',
'sha224',
'sha256',
'sha384',
'sha512',
]
] $metadata_checksum_type = undef,
Optional[Enum[
'zstd',
'gz',
]
] $compression_type = undef,
Optional[Integer] $retain_package_versions = undef,
Optional[Integer] $retain_repo_versions = undef,
Optional[String] $ca_cert = undef,
Optional[String] $client_cert = undef,
Optional[String] $client_key = undef,
Optional[String] $username = undef,
Optional[String] $password = undef,
Optional[Boolean] $autopublish = undef,
Enum[absent, present] $ensure = present,
) {
$path = '/usr/bin'
if $url {
liu_pulpcore_rpm_remote { $title:
ensure => $ensure,
url => $url,
ca_cert => $ca_cert,
client_cert => $client_cert,
client_key => $client_key,
username => $username,
password => $password,
}
liu_pulpcore_rpm_repository { $title:
ensure => $ensure,
description => $description,
autopublish => true,
remote => $title,
package_checksum_type => $package_checksum_type,
metadata_checksum_type => $metadata_checksum_type,
retain_package_versions => $retain_package_versions,
retain_repo_versions => 1,
}
cron { "repo_sync_${title}":
ensure => $ensure,
command => "${path}/pulp rpm repository sync --name ${title} >/dev/null 2>&1",
minute => fqdn_rand(59, $title),
}
} else {
liu_pulpcore_rpm_repository { $title:
ensure => $ensure,
description => $description,
autopublish => $autopublish,
package_checksum_type => $package_checksum_type,
metadata_checksum_type => $metadata_checksum_type,
retain_package_versions => $retain_package_versions,
retain_repo_versions => 1,
}
}
liu_pulpcore_rpm_publication { $title:
ensure => $ensure,
package_checksum_type => $package_checksum_type,
metadata_checksum_type => $metadata_checksum_type,
compression_type => $compression_type,
}
liu_pulpcore_rpm_distribution { $title:
ensure => $ensure,
repository => $title,
base_path => $title,
}
}
class liu_pulpcore::rpm_repos (
Hash $repos,
) {
$repos.each |$key, $data| {
liu_pulpcore::rpm_repo { $key:
* => $data,
}
}
}
# frozen_string_literal: true
require 'spec_helper'
describe 'liu_pulpcore::deb_repo' do
let(:title) { 'namevar' }
let(:params) do
{
ensure: 'present',
url: 'https://dl.yarnpkg.com/debian',
distributions: 'stable',
}
end
on_supported_os.each do |os, os_facts|
context "on #{os}" do
let(:facts) { os_facts }
it do
is_expected.to compile
is_expected.to contain_cron('repo_sync_namevar')
is_expected.to contain_liu_pulpcore_deb_distribution('namevar')
is_expected.to contain_liu_pulpcore_deb_remote('namevar')
is_expected.to contain_liu_pulpcore_deb_repository('namevar')
is_expected.to contain_liu_pulpcore_deb_publication('namevar')
end
end
end
end
# frozen_string_literal: true
require 'spec_helper'
describe 'liu_pulpcore::rpm_repo' do
let(:title) { 'namevar' }
let(:params) do
{
ensure: 'present',
url: 'https://yum.puppet.com/puppet7/el/7/x86_64/',
}
end
on_supported_os.each do |os, os_facts|
context "on #{os}" do
let(:facts) { os_facts }
it do
is_expected.to compile
is_expected.to contain_cron('repo_sync_namevar')
is_expected.to contain_liu_pulpcore_rpm_distribution('namevar')
is_expected.to contain_liu_pulpcore_rpm_remote('namevar')
is_expected.to contain_liu_pulpcore_rpm_repository('namevar')
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment