Merge "SSHD Service extensions" into stable/newton
This commit is contained in:
commit
d1a42bef4f
@ -36,3 +36,7 @@ mod 'ntp',
|
||||
mod 'systemd',
|
||||
:git => 'https://github.com/camptocamp/puppet-systemd',
|
||||
:ref => 'master'
|
||||
|
||||
mod 'ssh',
|
||||
:git => 'https://github.com/saz/puppet-ssh',
|
||||
:ref => 'v3.0.1'
|
||||
|
59
manifests/profile/base/sshd.pp
Normal file
59
manifests/profile/base/sshd.pp
Normal file
@ -0,0 +1,59 @@
|
||||
# Copyright 2016 Red Hat, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# == Class: tripleo::profile::base::sshd
|
||||
#
|
||||
# SSH composable service for TripleO
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*bannertext*]
|
||||
# The text used within /etc/issue and /etc/issue.net
|
||||
# Defaults to hiera('BannerText')
|
||||
#
|
||||
# [*motd*]
|
||||
# The text used within SSH Banner
|
||||
# Defaults to hiera('MOTD')
|
||||
#
|
||||
class tripleo::profile::base::sshd (
|
||||
$bannertext = hiera('BannerText', undef),
|
||||
$motd = hiera('MOTD', undef),
|
||||
) {
|
||||
|
||||
include ::ssh
|
||||
|
||||
if $bannertext {
|
||||
$filelist = [ '/etc/issue', '/etc/issue.net', ]
|
||||
file { $filelist:
|
||||
ensure => file,
|
||||
backup => false,
|
||||
content => $bannertext,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644'
|
||||
}
|
||||
}
|
||||
|
||||
if $motd {
|
||||
file { '/etc/motd':
|
||||
ensure => file,
|
||||
backup => false,
|
||||
content => $motd,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644'
|
||||
}
|
||||
}
|
||||
}
|
5
releasenotes/notes/sshd-437c531301f458bb.yaml
Normal file
5
releasenotes/notes/sshd-437c531301f458bb.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- Added /etc/issue & /etc/issue.net parameters
|
||||
- Added MOTD banner parameters
|
||||
- Added external module saz-ssh to allow management of sshd_config
|
76
spec/classes/tripleo_profile_base_sshd_spec.rb
Normal file
76
spec/classes/tripleo_profile_base_sshd_spec.rb
Normal file
@ -0,0 +1,76 @@
|
||||
# Copyright 2017 Red Hat, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Unit tests for tripleo::profile::base::sshd
|
||||
#
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'tripleo::profile::base::sshd' do
|
||||
|
||||
shared_examples_for 'tripleo::profile::base::sshd' do
|
||||
|
||||
context 'it should do nothing' do
|
||||
it do
|
||||
is_expected.to contain_class('ssh')
|
||||
is_expected.to_not contain_file('/etc/issue')
|
||||
is_expected.to_not contain_file('/etc/issue.net')
|
||||
is_expected.to_not contain_file('/etc/motd')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with issue and issue.net configured' do
|
||||
let(:params) {{ :bannertext => 'foo' }}
|
||||
it do
|
||||
is_expected.to contain_file('/etc/issue').with({
|
||||
'content' => 'foo',
|
||||
'owner' => 'root',
|
||||
'group' => 'root',
|
||||
'mode' => '0644',
|
||||
})
|
||||
is_expected.to contain_file('/etc/issue.net').with({
|
||||
'content' => 'foo',
|
||||
'owner' => 'root',
|
||||
'group' => 'root',
|
||||
'mode' => '0644',
|
||||
})
|
||||
is_expected.to_not contain_file('/etc/motd')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with motd configured' do
|
||||
let(:params) {{ :motd => 'foo' }}
|
||||
it do
|
||||
is_expected.to contain_file('/etc/motd').with({
|
||||
'content' => 'foo',
|
||||
'owner' => 'root',
|
||||
'group' => 'root',
|
||||
'mode' => '0644',
|
||||
})
|
||||
is_expected.to_not contain_file('/etc/issue')
|
||||
is_expected.to_not contain_file('/etc/issue.net')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os.each do |os, facts|
|
||||
context "on #{os}" do
|
||||
let (:facts) {
|
||||
facts
|
||||
}
|
||||
it_behaves_like 'tripleo::profile::base::sshd'
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user