]> gitweb.fluxo.info Git - puppet-ferm.git/commitdiff
readd Debian 9/10 support
authorTim Meusel <tim@bastelfreak.de>
Thu, 12 Sep 2019 13:01:58 +0000 (15:01 +0200)
committerTim Meusel <tim@bastelfreak.de>
Thu, 12 Sep 2019 20:54:38 +0000 (22:54 +0200)
.sync.yml
.travis.yml
data/Debian.yaml [moved from data/Debian-10.yaml with 100% similarity]
hiera.yaml
manifests/service.pp
metadata.json
spec/acceptance/ferm_spec.rb
spec/classes/ferm_spec.rb
spec/defines/chain_spec.rb
spec/defines/rule_spec.rb

index 9be4265ae178f9bd844a0c478de03a172f10c90d..4d38dc08136196fb93896ce4c6a1561336ecf15c 100644 (file)
--- a/.sync.yml
+++ b/.sync.yml
@@ -1,8 +1,10 @@
 ---
 .travis.yml:
   docker_sets:
-    - set: centos7-64
+    - set: debian9-64
+    - set: debian10-64
     - set: centos6-64
+    - set: centos7-64
     - set: ubuntu1604-64
     - set: ubuntu1804-64
   secure: "J7AG0AHVdEVql4c7cwJZCjbXFp5tehPnlS3REkUKu9s3Px+XRb+073W7hM2alfxB5Qo3mqyMdgyjIRMQyXXqfb54QmDG6Y1XfRIcNK/C6TL9JscC7rXN1gXJhrdZiQOtfXa3HFcWJkbsQrjnPbQ5y+
index 2b41c6883a28f1e31d696bc9cff7495d62b58b1b..9fd66c1f65499047cc13dadd8cb9b581f6d2affd 100644 (file)
@@ -23,6 +23,18 @@ matrix:
   - rvm: 2.4.4
     bundler_args: --without system_tests development release
     env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes
+  - rvm: 2.5.3
+    bundler_args: --without development release
+    env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=debian9-64 BEAKER_HYPERVISOR=docker CHECK=beaker
+    services: docker
+  - rvm: 2.5.3
+    bundler_args: --without development release
+    env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian9-64 BEAKER_HYPERVISOR=docker CHECK=beaker
+    services: docker
+  - rvm: 2.5.3
+    bundler_args: --without development release
+    env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian10-64 BEAKER_HYPERVISOR=docker CHECK=beaker
+    services: docker
   - rvm: 2.5.3
     bundler_args: --without development release
     env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=centos6-64 BEAKER_HYPERVISOR=docker CHECK=beaker
similarity index 100%
rename from data/Debian-10.yaml
rename to data/Debian.yaml
index 6b62091b943b9ec4e7c63e486174e7fd475bb40e..aa8c6ecd9c683996aa464e3e769fd455aaf3ed0d 100644 (file)
@@ -15,8 +15,5 @@ hierarchy:
   - name: 'Distribution Name'
     path: '%{facts.os.name}.yaml'
 
-  - name: 'Operating System Family'
-    path: '%{facts.os.family}.yaml'
-
   - name: 'common'
     path: 'common.yaml'
index f19997fe7f32ab18b3fb0dc4289b4b619163ba1b..ad6fc47ef938de16f8633ec5bf20c1356845f814 100644 (file)
@@ -12,7 +12,7 @@ class ferm::service {
     }
 
     # on Ubuntu, we can't start the service, unless we set ENABLED=true in /etc/default/ferm...
-    if ($facts['os']['name'] == 'Ubuntu') {
+    if ($facts['os']['name'] in ['Ubuntu', 'Debian']) {
       file_line{'enable_ferm':
         path  => '/etc/default/ferm',
         line  => 'ENABLED="yes"',
index 6d90a53cc5b7b85a36deb31468e04d2555b446f4..103d15cc2453f5a7061ed0b221914ca3a6950c4b 100644 (file)
         "26"
       ]
     },
+    {
+      "operatingsystem": "Debian",
+      "operatingsystemrelease": [
+        "9",
+        "10"
+      ]
+    },
     {
       "operatingsystem": "Archlinux"
     }
index b0c41a57ec702ed3e40dc59addb3251d92954b6c..c5018da8b531b94a440771e035f1b07434597a9f 100644 (file)
@@ -12,6 +12,20 @@ manage_initfile = case sut_os
                     false
                   end
 
+iptables_output = case sut_os
+                  when 'Debian-10'
+                    [
+                      '-A INPUT -p tcp -m tcp --dport 22 -m comment --comment allow_acceptance_tests -j ACCEPT',
+                      '-A INPUT -p tcp -m tcp --dport 80 -m comment --comment jump_http -j HTTP',
+                      '-A HTTP -s 127.0.0.1/32 -p tcp -m tcp --dport 80 -m comment --comment allow_http_localhost -j ACCEPT'
+                    ]
+                  else
+                    [
+                      '-A INPUT -p tcp -m comment --comment ["]*allow_acceptance_tests["]* -m tcp --dport 22 -j ACCEPT',
+                      '-A INPUT -p tcp -m comment --comment ["]*jump_http["]* -m tcp --dport 80 -j HTTP',
+                      '-A HTTP -s 127.0.0.1/32 -p tcp -m comment --comment ["]*allow_http_localhost["]* -m tcp --dport 80 -j ACCEPT'
+                    ]
+                  end
 basic_manifest = %(
   class { 'ferm':
     manage_service    => true,
@@ -57,7 +71,7 @@ describe 'ferm' do
 
     describe iptables do
       it do
-        is_expected.to have_rule('-A INPUT -p tcp -m comment --comment ["]*allow_acceptance_tests["]* -m tcp --dport 22 -j ACCEPT'). \
+        is_expected.to have_rule(iptables_output[0]). \
           with_table('filter'). \
           with_chain('INPUT')
       end
@@ -97,12 +111,12 @@ describe 'ferm' do
 
       describe iptables do
         it do
-          is_expected.to have_rule('-A INPUT -p tcp -m comment --comment ["]*jump_http["]* -m tcp --dport 80 -j HTTP'). \
+          is_expected.to have_rule(iptables_output[1]). \
             with_table('filter'). \
             with_chain('INPUT')
         end
         it do
-          is_expected.to have_rule('-A HTTP -s 127.0.0.1/32 -p tcp -m comment --comment ["]*allow_http_localhost["]* -m tcp --dport 80 -j ACCEPT'). \
+          is_expected.to have_rule(iptables_output[2]). \
             with_table('filter'). \
             with_chain('HTTP')
         end
index 225577bde9435d76ea174a2177424fb73374dc64..3257fcad866b9580ffa5c1ccb54203127da82c86 100644 (file)
@@ -17,7 +17,7 @@ describe 'ferm' do
         it { is_expected.to contain_class('ferm::service') }
         it { is_expected.to contain_class('ferm::install') }
         it { is_expected.to contain_package('ferm') }
-        if facts[:os]['release']['major'].to_i == 10
+        if facts[:os]['name'] == 'Debian'
           it { is_expected.to contain_file('/etc/ferm/ferm.d') }
           it { is_expected.to contain_file('/etc/ferm/ferm.d/definitions') }
           it { is_expected.to contain_file('/etc/ferm/ferm.d/chains') }
@@ -51,7 +51,7 @@ describe 'ferm' do
           { manage_configfile: true }
         end
 
-        if facts[:os]['name'] == 'Ubuntu' || facts[:os]['release']['major'].to_i == 10
+        if facts[:os]['family'] == 'Debian'
           it { is_expected.to contain_concat('/etc/ferm/ferm.conf') }
         else
           it { is_expected.to contain_concat('/etc/ferm.conf') }
@@ -102,7 +102,7 @@ describe 'ferm' do
         it { is_expected.to contain_concat__fragment('filter-INPUT-policy') }
         it { is_expected.to contain_concat__fragment('filter-FORWARD-policy') }
         it { is_expected.to contain_concat__fragment('filter-OUTPUT-policy') }
-        if facts[:os]['release']['major'].to_i == 10
+        if facts[:os]['name'] == 'Debian'
           it { is_expected.to contain_concat('/etc/ferm/ferm.d/chains/raw-PREROUTING.conf') }
           it { is_expected.to contain_concat('/etc/ferm/ferm.d/chains/raw-OUTPUT.conf') }
           it { is_expected.to contain_concat('/etc/ferm/ferm.d/chains/nat-PREROUTING.conf') }
index 4a598b3ae1aa76f5ab5743a0cd4c416e25b21038..1a6bb44d4e703b57420ec66e2394fe49c97ee467 100644 (file)
@@ -30,7 +30,7 @@ describe 'ferm::chain', type: :define do
           is_expected.to contain_concat__fragment('filter-INPUT2-footer'). \
             with_content(%r{LOG log-prefix 'INPUT2: ';})
         end
-        if facts[:os]['release']['major'].to_i == 10
+        if facts[:os]['name'] == 'Debian'
           it { is_expected.to contain_concat('/etc/ferm/ferm.d/chains/filter-INPUT2.conf') }
         else
           it { is_expected.to contain_concat('/etc/ferm.d/chains/filter-INPUT2.conf') }
index 33ce169d8e27154f77630e267d360c8ab39945b1..5e4ad697e816b7ac8c417c1dd7e8f28b8f43a9c1 100644 (file)
@@ -161,7 +161,7 @@ describe 'ferm::rule', type: :define do
             that_requires('Ferm::Chain[check-ssh]')
         end
         it { is_expected.to contain_concat__fragment('filter-INPUT-config-include') }
-        if facts[:os]['release']['major'].to_i == 10
+        if facts[:os]['name'] == 'Debian'
           it { is_expected.to contain_concat('/etc/ferm/ferm.d/chains/filter-SSH.conf') }
         else
           it { is_expected.to contain_concat('/etc/ferm.d/chains/filter-SSH.conf') }