Puppet Class: scap
- Defined in:
- modules/scap/manifests/init.pp
Summary
Common role for scap masters and targetsOverview
SPDX-License-Identifier: Apache-2.0
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'modules/scap/manifests/init.pp', line 10
class scap (
Variant[Stdlib::Host,String] $deployment_server = 'deployment',
Stdlib::Fqdn $wmflabs_master = 'deployment-deploy04.deployment-prep.eqiad1.wikimedia.cloud',
Stdlib::Port::Unprivileged $php7_admin_port = 9181,
Stdlib::Fqdn $betacluster_udplog_host = 'deployment-mwlog02.deployment-prep.eqiad1.wikimedia.cloud',
Boolean $is_master = false,
Optional[Hash] $k8s_deployments = {},
Boolean $enable_bootstrapping = true,
) {
require git::lfs
include scap::user
# Required python3 package is provided by base::standard_packages class
ensure_packages(['rsync', 'python3-venv'])
# Deployment servers/masters are bootstrapped in profile::mediawiki::deployment::server
if $enable_bootstrapping and !$is_master {
# This dir needs to match the home of the user defined in class scap::user
$scap_home = '/var/lib/scap'
file { '/usr/local/bin/bootstrap-scap-target.sh':
mode => '0755',
owner => 'root',
group => 'root',
source => 'puppet:///modules/scap/bootstrap-scap-target.sh',
}
exec { 'bootstrap-scap-target':
command => "/usr/local/bin/bootstrap-scap-target.sh ${deployment_server} ${scap_home}",
user => 'scap',
creates => "${scap_home}/scap/bin/scap",
require => File['/usr/local/bin/bootstrap-scap-target.sh']
}
file { '/usr/bin/scap':
ensure => 'link',
target => "${scap_home}/scap/bin/scap",
owner => 'root',
group => 'root',
mode => '0755',
require => Exec['bootstrap-scap-target']
}
}
$deploy_k8s = !$k8s_deployments.empty
$k8s_releases_dir = pick($k8s_deployments['releases_dir'], '/etc/mediawiki/releases')
$k8s_clusters = $k8s_deployments['clusters']
$k8s_deployments_file = $k8s_deployments['file']
# Disable Scap deployments on the inactive deployment server
$block_scap_deployments = $is_master and $::fqdn != $deployment_server
file { '/etc/scap.cfg':
content => template('scap/scap.cfg.erb'),
owner => 'root',
group => 'root',
mode => '0444',
}
}
|