Действительно ли возможно использовать Марионетку, чтобы гарантировать, что несколько файлов в каталоге присутствуют, не определяя всех их?

Используя Apache можно просто настроить сервер подготовки Allow и Deny директивы для ограничения доступа к авторизованным IP-адресам. Кроме того, можно поместить всю вещь позади Аутентификации HTTP (имя пользователя/пароль или клиентские сертификаты, если Вы хотите стать действительно необычными).
Бонусные очки для использования пользовательской "несанкционированной" ошибочной страницы для перенаправления людей к месту производства.

Конфигурирование Apache для обслуживания сайта подготовки на другом порте является также опцией, но это - просто "безопасность через мрак" как использование stage.domainX.com домен - это не мешает никому найти сайт подготовки, если они идут, смотря.

<напыщенная речь>
Обратите внимание, что, изменяя порт IS NOT что-то Вы делаете с DNS - это - вещь конфигурации веб-сервера (См. руководство Apache для деталей). DNS не имеет НИКАКОГО ПОНЯТИЯ номеров портов, это - просто имя к IP (или IP к имени) отображающийся* - главный объект неприязни.
* существуют некоторые ограниченные исключения, как записи SRV, но мы говорим о записях CNAME и Адресе
</напыщенная речь>

8
задан 11 February 2014 в 00:35
3 ответа

Вы можете сделать то, что пытаетесь, с помощью этого:

file { "/etc/someprogram/config":
    ensure => directory,
    recurse => remote,
    source => "puppet:///modules/someprogram/files/$fqdn"
    #Other options
}

Это скопирует все файлы из $ fqdn в / etc / someprogram / config, перезаписав их, если они уже существуют.

8
ответ дан 2 December 2019 в 22:54

Если вы хотите определить несколько файлов в каталоге без рекурсии всего каталога, вы можете использовать массив - например:

$myfiles = [ "/my/dir/file1", "/my/dir/file2", ]
file { $myfiles:
    ensure => "present",
    owner  => "root",
    group  => "root",
    mode   =>  0644,
    source => "puppet:///modules/someprogram/$fqdn/$name",
}

Конечно, с длинными путями к "/ my / dir" "или много файлов, это будет немного громоздко, поэтому в этом случае вам лучше создать определение, включающее путь к каталогу, и просто передать ему массив имен файлов.

3
ответ дан 2 December 2019 в 22:54

Вот пример того, как я это делаю:

file {
        [
        '/sys/block/sda/queue/scheduler',
        '/sys/block/sdb/queue/scheduler',
        '/sys/block/sdc/queue/scheduler',
        '/sys/block/sdd/queue/scheduler',
        '/sys/block/sde/queue/scheduler',
        '/sys/block/sdf/queue/scheduler'
        ]:
  ensure  => 'file',
  content => 'deadline',
  group   => '0',
  mode    => '644',
  owner   => '0',
  type    => 'file',
}

В приведенном выше примере я назначаю планировщик ввода-вывода крайнего срока каждому из дисков на данном сервере через Puppet.

1
ответ дан 2 December 2019 в 22:54

Теги

Похожие вопросы