Содержание
1. Создание модулей
1.1. Создайте файл init.pp в office
Директория, где создать файл
/etc/puppetlabs/code/environments/production/modules/office/manifests/
Со следующим содержимым
# Class: office
class office {
if $facts['os']['family'] == 'RedHat' or $facts['os']['family'] == 'Centos' or $facts['os']['family'] == 'RedOS' {
include yumpkg
}
if $facts['os']['family'] == 'Debian' or $facts['os']['family'] == 'Ubuntu'
{
include aptpkg
}
}1.2. Создайте файл init.pp в aptpkg
Директория, где создать файл
/etc/puppetlabs/code/environments/production/modules/aptpkg/manifests/
Со следующим содержимым
# Class: apt
class aptpkg {
file { '/etc/apt/sources.list.d/r7.list':
ensure => file,
content => 'deb https://downloads.r7-office.ru/repository/r7-desktop-apt/ buster main',
}
exec { 'apt_key_import':
command => 'curl -s https://download.r7-office.ru/repos/RPM-GPG-KEY-R7-OFFICE.public | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/r7.gpg --import',
path => '/usr/bin:/bin:/user/sbin:/sbin',
}
file {
'r7.gpg':
ensure => present,
path => '/etc/apt/trusted.gpg.d/r7.gpg',
mode => '0644'
}
exec { 'apt_update':
command => 'apt update -y',
path => '/usr/bin:/bin:/user/sbin:/sbin',
}
file {
'r7.conf':
ensure => present,
source => 'puppet:///modules/aptpkg/r7.conf',
path => '/etc/apt/auth.conf.d/r7.conf',
mode => '0600',
}
exec { 'apt_install_r7-office':
command => 'apt install -y r7-office',
path => '/usr/bin:/bin:/user/sbin:/sbin',
}
file {
'license.lickey':
ensure => present,
source => 'puppet:///modules/office/license.lickey',
path => '/etc/r7-office/license/license.lickey',
}
}1.3. Создайте файл init.pp в yumpkg
Директория, где создать файл
/etc/puppetlabs/code/environments/production/modules/yumpkg/manifests/
Со следующим содержимым
# Class: yumpkg
class yumpkg {
yumrepo { 'r7':
name => 'r7',
baseurl => 'https://downloads.r7-office.ru/repository/r7-desktop-yum/',
enabled => '1',
gpgcheck => '1',
gpgkey => 'https://download.r7-office.ru/repos/RPM-GPG-KEY-R7-OFFICE.public',
sslverify => '0',
username => 'desktop',
password => 'gyxiLab84FByn7sCTd5JY',
}
exec { 'yum_install_r7-office':
command => 'yum install -y r7-office',
path => '/usr/bin:/bin:/user/sbin:/sbin',
}
}2. Создание необходимых файлов
2.1. Создайте файл r7.conf в aptpkg
Директория, где создать файл
/etc/puppetlabs/code/environments/production/modules/aptpkg/files/
Со следующим содержимым:
machine downloads.r7-office.ru login desktop password gyxiLab84FByn7sCTd5JY
2.2. Создайте файл r7.repo в yumpkg
Директория, где создать файл
/etc/puppetlabs/code/environments/production/modules/yumpkg/files/
Со следующим содержимым:
[r7] name=r7 baseurl=https://downloads.r7-office.ru/repository/r7-desktop-yum/ enabled=1 gpgcheck=1 gpgkey=https://download.r7-office.ru/repos/RPM-GPG-KEY-R7-OFFICE.public sslverify=0 username=desktop password=gyxiLab84FByn7sCTd5JY
2.3. Лицензия
Поместите файл лицензии в следующей директории
/etc/puppetlabs/code/environments/production/modules/office/license.lickey
3. Настройка foreman
3.1. Выберите необходимый узел или группу узлов и нажмите кнопку Изменить
3.2. Выберите вкладку Puppet ENC
Выберите созданный класс office, включите его, нажав иконку со знаком «Плюс», и нажмите кнопку «Применить»
4. Применение на клиенте
4.1. В ручном режиме командой:
puppet agent -t
4.2. В автоматическом режиме
По умолчанию раз в 30 минут.
4.2.1. Для изменения этого параметра
Добавьте строчку в файл
/etc/puppetlabs/puppet/puppet.conf
Укажите значение в секундах в блоке main
[main] server = foreman.builder-testad.ru runinterval = 600
Была ли полезна статья?


