Skip to content
This repository has been archived by the owner on Jul 31, 2021. It is now read-only.

Commit

Permalink
Merge pull request #7 from jmkeyes/archlinux-support
Browse files Browse the repository at this point in the history
Add ArchLinux Support.
  • Loading branch information
jmkeyes authored Nov 26, 2016
2 parents b3adc7d + 604d9ab commit 4f837ba
Show file tree
Hide file tree
Showing 21 changed files with 232 additions and 46 deletions.
8 changes: 5 additions & 3 deletions manifests/backend/gmysql.pp
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@
$port = 3306,
$dnssec = 'no'
) {
$backend_package_name = 'pdns-backend-mysql'
if $::powerdns::install::manage_backend_packages {
$backend_package_name = 'pdns-backend-mysql'

package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
}
}

$options = {
Expand Down
14 changes: 8 additions & 6 deletions manifests/backend/gpgsql.pp
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,15 @@
$port = 5432,
$dnssec = 'no'
) {
$backend_package_name = $::osfamily ? {
'RedHat' => 'pdns-backend-postgresql',
'Debian' => 'pdns-backend-pgsql',
}
if $::powerdns::install::manage_backend_packages {
$backend_package_name = $::osfamily ? {
'RedHat' => 'pdns-backend-postgresql',
'Debian' => 'pdns-backend-pgsql',
}

package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
}
}

$options = {
Expand Down
14 changes: 8 additions & 6 deletions manifests/backend/gsqlite3.pp
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,15 @@
$foreign_keys,
$dnssec = 'no'
) {
$backend_package_name = $::osfamily ? {
'Debian' => 'pdns-backend-sqlite3',
'RedHat' => 'pdns-backend-sqlite'
}
if $::powerdns::install::manage_backend_packages {
$backend_package_name = $::osfamily ? {
'Debian' => 'pdns-backend-sqlite3',
'RedHat' => 'pdns-backend-sqlite'
}

package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
}
}

$options = {
Expand Down
8 changes: 5 additions & 3 deletions manifests/backend/lmdb.pp
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@
class powerdns::backend::lmdb (
$datapath,
) {
$backend_package_name = 'pdns-backend-lmdb'
if $::powerdns::install::manage_backend_packages {
$backend_package_name = 'pdns-backend-lmdb'

package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
}
}

$options = {
Expand Down
8 changes: 5 additions & 3 deletions manifests/backend/pipe.pp
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@
$command,
$timeout = 2000
) {
$backend_package_name = 'pdns-backend-pipe'
if $::powerdns::install::manage_backend_packages {
$backend_package_name = 'pdns-backend-pipe'

package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
}
}

$options = {
Expand Down
8 changes: 5 additions & 3 deletions manifests/backend/tinydns.pp
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@
$ignore_bogus_records = 'no',
$locations = 'yes',
) {
$backend_package_name = 'pdns-backend-tinydns'
if $::powerdns::install::manage_backend_packages {
$backend_package_name = 'pdns-backend-tinydns'

package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
package { $backend_package_name:
ensure => $::powerdns::install::package_ensure,
}
}

$options = {
Expand Down
32 changes: 28 additions & 4 deletions manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,21 @@
fail("Use of private class ${name} from ${caller_module_name}")
}

$default_config_path = $::osfamily ? {
'Debian' => '/etc/powerdns',
'RedHat' => '/etc/pdns',
default => undef,
$default_config_path = $::osfamily ? {
'Debian' => '/etc/powerdns',
'RedHat' => '/etc/pdns',
'ArchLinux' => '/etc/powerdns',
default => undef,
}

$default_module_path = $::osfamily ? {
'Debian' => '/usr/lib/x86_64-linux-gnu/pdns',
'RedHat' => '/usr/lib64/pdns',
'ArchLinux' => '/usr/lib/powerdns',
}

$module_path = pick($::powerdns::module_path, $default_module_path)

$config_purge = pick($::powerdns::config_purge, true)
$config_owner = pick($::powerdns::config_owner, 'root')
$config_group = pick($::powerdns::config_group, 'root')
Expand All @@ -40,6 +49,8 @@

validate_absolute_path($config_path)

validate_absolute_path($module_path)

file { $config_path:
ensure => directory,
owner => $config_owner,
Expand All @@ -65,6 +76,13 @@
mode => $config_mode,
}

file { $module_path:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
}

powerdns::setting { 'daemon':
value => 'yes',
}
Expand All @@ -85,6 +103,12 @@
value => "${config_path}/pdns.d",
}

if $module_path {
powerdns::setting { 'module-dir':
value => $module_path,
}
}

if $::powerdns::master {
powerdns::setting { 'master':
value => 'yes',
Expand Down
1 change: 1 addition & 0 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
$config_mode = undef,
$config_path = undef,
$config_purge = undef,
$module_path = undef,
) {
# Fail fast if we're not using a new Puppet version.
if versioncmp($::puppetversion, '3.7.0') < 0 {
Expand Down
11 changes: 8 additions & 3 deletions manifests/install.pp
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,14 @@
}

$default_package_name = $::osfamily ? {
'Debian' => 'pdns-server',
'RedHat' => 'pdns',
default => undef,
'Debian' => 'pdns-server',
'RedHat' => 'pdns',
'ArchLinux' => 'powerdns',
}

$manage_backend_packages = $::osfamily ? {
'ArchLinux' => false,
default => true,
}

$package_name = pick($::powerdns::package_name, $default_package_name)
Expand Down
3 changes: 3 additions & 0 deletions metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@
"7.0",
"8.0"
]
},
{
"operatingsystem": "ArchLinux"
}
],
"dependencies": [
Expand Down
26 changes: 24 additions & 2 deletions spec/classes/backend/gmysql_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

Expand All @@ -51,7 +51,29 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

context "on ArchLinux" do
let (:pre_condition) { 'include ::powerdns' }

let (:facts) do
{
:osfamily => 'ArchLinux'
}
end

it { should compile.with_all_deps }
it { should create_class(class_name) }

it do
should create_file('/etc/powerdns/pdns.d/gmysql.conf').with({
:ensure => 'present',
:owner => 'root',
:group => 'root',
:mode => '0600',
})
end
end
end
26 changes: 24 additions & 2 deletions spec/classes/backend/gpgsql_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

Expand All @@ -51,7 +51,29 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

context "on ArchLinux" do
let (:pre_condition) { 'include ::powerdns' }

let (:facts) do
{
:osfamily => 'ArchLinux'
}
end

it { should compile.with_all_deps }
it { should create_class(class_name) }

it do
should create_file('/etc/powerdns/pdns.d/gpgsql.conf').with({
:ensure => 'present',
:owner => 'root',
:group => 'root',
:mode => '0600',
})
end
end
end
26 changes: 24 additions & 2 deletions spec/classes/backend/gsqlite3_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

Expand All @@ -49,7 +49,29 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

context "on ArchLinux" do
let (:pre_condition) { 'include ::powerdns' }

let (:facts) do
{
:osfamily => 'ArchLinux'
}
end

it { should compile.with_all_deps }
it { should create_class(class_name) }

it do
should create_file('/etc/powerdns/pdns.d/gsqlite3.conf').with({
:ensure => 'present',
:owner => 'root',
:group => 'root',
:mode => '0600',
})
end
end
end
26 changes: 24 additions & 2 deletions spec/classes/backend/lmdb_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

Expand All @@ -47,7 +47,29 @@
:owner => 'root',
:group => 'root',
:mode => '0600',
})
})
end
end

context "on ArchLinux" do
let (:pre_condition) { 'include ::powerdns' }

let (:facts) do
{
:osfamily => 'ArchLinux'
}
end

it { should compile.with_all_deps }
it { should create_class(class_name) }

it do
should create_file('/etc/powerdns/pdns.d/lmdb.conf').with({
:ensure => 'present',
:owner => 'root',
:group => 'root',
:mode => '0600',
})
end
end
end
Loading

0 comments on commit 4f837ba

Please sign in to comment.