root / spec / classes / rules / nomad_spec.rb @ 0f34454b
Historique | Voir | Annoter | Télécharger (4,08 ko)
1 |
# frozen_string_literal: true
|
---|---|
2 |
|
3 |
require 'spec_helper'
|
4 |
|
5 |
describe 'nftables::rules::nomad' do |
6 |
on_supported_os.each do |os, os_facts|
|
7 |
context "on #{os}" do |
8 |
let(:facts) { os_facts }
|
9 |
|
10 |
context 'default options' do |
11 |
it { is_expected.to compile } |
12 |
|
13 |
it { |
14 |
is_expected.to contain_nftables__set('nomad_ip').with(
|
15 |
{ |
16 |
type: 'ipv4_addr', |
17 |
elements: ['127.0.0.1'], |
18 |
} |
19 |
) |
20 |
} |
21 |
|
22 |
it { |
23 |
is_expected.to contain_nftables__set('nomad_ip6').with(
|
24 |
{ |
25 |
type: 'ipv6_addr', |
26 |
elements: ['::1'], |
27 |
} |
28 |
) |
29 |
} |
30 |
|
31 |
it { |
32 |
is_expected.to contain_nftables__rule('default_in-nomad_http').with_content('tcp dport 4646') |
33 |
is_expected.to contain_nftables__rule('default_in-nomad_rpc_ip6').with_content('tcp dport 4647 ip6 saddr @nomad_ip6 accept') |
34 |
is_expected.to contain_nftables__rule('default_in-nomad_rpc_ip').with_content('tcp dport 4647 ip saddr @nomad_ip accept') |
35 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_tcp_ip6').with_content('tcp dport 4648 ip6 saddr @nomad_ip6 accept') |
36 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_tcp_ip').with_content('tcp dport 4648 ip saddr @nomad_ip accept') |
37 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_udp_ip6').with_content('udp dport 4648 ip6 saddr @nomad_ip6 accept') |
38 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_udp_ip').with_content('udp dport 4648 ip saddr @nomad_ip accept') |
39 |
} |
40 |
end
|
41 |
|
42 |
context 'with ports set' do |
43 |
let(:params) do |
44 |
{ |
45 |
http: 1000, |
46 |
rpc: 2000, |
47 |
serf: 3000, |
48 |
} |
49 |
end
|
50 |
|
51 |
it { is_expected.to compile } |
52 |
|
53 |
it { |
54 |
is_expected.to contain_nftables__set('nomad_ip')
|
55 |
is_expected.to contain_nftables__set('nomad_ip6')
|
56 |
} |
57 |
|
58 |
it { |
59 |
is_expected.to contain_nftables__rule('default_in-nomad_http').with_content('tcp dport 1000') |
60 |
is_expected.to contain_nftables__rule('default_in-nomad_rpc_ip6').with_content('tcp dport 2000 ip6 saddr @nomad_ip6 accept') |
61 |
is_expected.to contain_nftables__rule('default_in-nomad_rpc_ip').with_content('tcp dport 2000 ip saddr @nomad_ip accept') |
62 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_tcp_ip6').with_content('tcp dport 3000 ip6 saddr @nomad_ip6 accept') |
63 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_tcp_ip').with_content('tcp dport 3000 ip saddr @nomad_ip accept') |
64 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_udp_ip6').with_content('udp dport 3000 ip6 saddr @nomad_ip6 accept') |
65 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_udp_ip').with_content('udp dport 3000 ip saddr @nomad_ip accept') |
66 |
} |
67 |
end
|
68 |
|
69 |
context 'with ipv4 hosts only' do |
70 |
let(:params) do |
71 |
{ |
72 |
cluster_elements: ['127.0.0.1', '127.0.0.2'] |
73 |
} |
74 |
end
|
75 |
|
76 |
it { |
77 |
is_expected.to contain_nftables__set('nomad_ip').with(
|
78 |
{ |
79 |
type: 'ipv4_addr', |
80 |
elements: ['127.0.0.1', '127.0.0.2'], |
81 |
} |
82 |
) |
83 |
} |
84 |
|
85 |
it { is_expected.not_to contain_nftables__set('nomad_ip6') }
|
86 |
|
87 |
it { |
88 |
is_expected.to contain_nftables__rule('default_in-nomad_http').with_content('tcp dport 4646') |
89 |
is_expected.not_to contain_nftables__rule('default_in-nomad_rpc_ip6')
|
90 |
is_expected.to contain_nftables__rule('default_in-nomad_rpc_ip').with_content('tcp dport 4647 ip saddr @nomad_ip accept') |
91 |
is_expected.not_to contain_nftables__rule('default_in-nomad_serf_tcp_ip6')
|
92 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_tcp_ip').with_content('tcp dport 4648 ip saddr @nomad_ip accept') |
93 |
is_expected.not_to contain_nftables__rule('default_in-nomad_serf_udp_ip6')
|
94 |
is_expected.to contain_nftables__rule('default_in-nomad_serf_udp_ip').with_content('udp dport 4648 ip saddr @nomad_ip accept') |
95 |
} |
96 |
end
|
97 |
end
|
98 |
end
|
99 |
end
|