Содержание
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