From 3a1a3809ebf23176e4ccde8dcfd4f03d50ab181c Mon Sep 17 00:00:00 2001 From: benjamin-robertson <72488257+benjamin-robertson@users.noreply.github.com> Date: Wed, 9 Mar 2022 16:53:07 +1100 Subject: [PATCH] Updated module to support Ubuntu apt packing (#1) --- .fixtures.yml | 1 + CONTRIBUTING.md | 2 +- data/Debian.yaml | 4 --- manifests/install.pp | 61 +++++++++++++++++++++++++++++++++++--------- metadata.json | 12 ++++++++- 5 files changed, 62 insertions(+), 18 deletions(-) diff --git a/.fixtures.yml b/.fixtures.yml index 634f212..1ca9047 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,5 +1,6 @@ fixtures: repositories: stdlib: "https://github.com/puppetlabs/puppetlabs-stdlib.git" + apt: "https://github.com/puppetlabs/puppetlabs-apt.git" symlinks: realmd: "#{source_dir}" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 36d07a8..7667eab 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -89,4 +89,4 @@ variable to the name of a host described by a `.yml` file in the If you don't want to have to recreate the virtual machine every time you can use `BEAKER_destroy=no` and `BEAKER_provision=no`. On the first run you will at least need `BEAKER_provision` set to yes (the default). The Vagrantfile -for the created virtual machines will be in `.vagrant/beaker_vagrant_files`. +for the created virtual machines will be in `.vagrant/beaker_vagrant_files`. \ No newline at end of file diff --git a/data/Debian.yaml b/data/Debian.yaml index 50a8671..bc613dd 100644 --- a/data/Debian.yaml +++ b/data/Debian.yaml @@ -3,15 +3,11 @@ realmd::krb_client_package_name: krb5-user realmd::required_packages: sssd-tools: ensure: present - sssd: - ensure: present libpam-modules: ensure: present libnss-sss: ensure: present libpam-sss: ensure: present - adcli: - ensure: present samba-common-bin: ensure: present diff --git a/manifests/install.pp b/manifests/install.pp index f1ac925..5a83092 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -4,22 +4,59 @@ # class realmd::install { - package { $::realmd::realmd_package_name: - ensure => $::realmd::realmd_package_ensure, - } + case $facts['os']['name'] { + 'Ubuntu': { + include apt - package { $::realmd::adcli_package_name: - ensure => $::realmd::adcli_package_ensure, - } + package { $::realmd::realmd_package_name: + ensure => $::realmd::realmd_package_ensure, + require => Exec['apt_update'], + } - package { $::realmd::krb_client_package_name: - ensure => $::realmd::krb_client_package_ensure, - } + package { $::realmd::adcli_package_name: + ensure => $::realmd::adcli_package_ensure, + require => Exec['apt_update'], + } + + package { $::realmd::krb_client_package_name: + ensure => $::realmd::krb_client_package_ensure, + require => Exec['apt_update'], + } + + package { $::realmd::sssd_package_name: + ensure => $::realmd::sssd_package_ensure, + require => Exec['apt_update'], + } + + $::realmd::required_packages.each | String $package, Hash $content | { + package { $package: + ensure => $content['ensure'], + require => Exec['apt_update'], + } + } - package { $::realmd::sssd_package_name: - ensure => $::realmd::sssd_package_ensure, + } + default: { + package { $::realmd::realmd_package_name: + ensure => $::realmd::realmd_package_ensure, + } + + package { $::realmd::adcli_package_name: + ensure => $::realmd::adcli_package_ensure, + } + + package { $::realmd::krb_client_package_name: + ensure => $::realmd::krb_client_package_ensure, + } + + package { $::realmd::sssd_package_name: + ensure => $::realmd::sssd_package_ensure, + } + + ensure_packages($::realmd::required_packages) + } } - ensure_packages($::realmd::required_packages) + } diff --git a/metadata.json b/metadata.json index 08a7cc9..3c9e996 100644 --- a/metadata.json +++ b/metadata.json @@ -12,6 +12,10 @@ { "name": "puppetlabs-stdlib", "version_requirement": ">=3.2.0 <7.0.0" + }, + { + "name": "puppetlabs-apt", + "version_requirement": ">=8.0.0 <9.0.0" } ], "operatingsystem_support": [ @@ -27,6 +31,12 @@ "operatingsystemrelease": [ "7" ] + }, + { + "operatingsystem": "Ubuntu", + "operatingsystemrelease": [ + "20.04" + ] } ], "requirements": [ @@ -35,4 +45,4 @@ "version_requirement": ">= 4.0.0 < 7.0.0" } ] -} +} \ No newline at end of file